Giới thiệu các loại board Esp8266 dành cho IoT và thiết lập cơ bản cho người mới học

  • 10/10/2018
  • Iot
No Comments

Phần này là chúng ta sẽ thiết lập chip ESP8266. Ta sẽ tìm hiểu cách chọn mô-đun cho phù hợp với dự án và phần cứng sử dụng kèm theo với chip. Và ta cũng sẽ học cách kết nối ESP8266 với máy tính để lập trình bằng cáp USB.

Sau đó, ta sẽ cấu hình và nạp code cho chip ESP8266 thông qua Arduino IDE. Việc sử dụng giao diện và ngôn ngữ nổi tiếng này để lập cấu hình cho chip ESP8266, sẽ giúp cho việc sử dụng ESP8266 dễ dàng hơn nhiều: chúng ta có thể sử dụng hầu hết các thư viện Arduino đang sẵn có cho các dự án của mình. Bắt đầu thôi nào!

Lưu ý : Nội dung được trích từ chương 1 của sách

Internet of Things với ESP8266
Cách chọn mô-đun ESP8266

Trước hết, chúng ta cần xem cách chọn đúng mô-đun ESP8266 cho dự án của mình. Có nhiều mô-đun có sẵn trên thị trường và dễ bị nhầm lẫn với quá nhiều lựa chọn có sẵn:

Mô-đun đầu tiên thường được nhắc đến là ESP8266 Serial Wireless Transceiver:

Đây là mô-đun nổi tiếng nhất, vì nó có thiết kế nhỏ và giá thành rẻ (chỉ $5 USD). Tuy nhiên, số lượng chân GPIO có thể truy cập (chân đầu vào / đầu ra) khá hạn chế, và cũng không dễ cắm nó vào một breadboard chuẩn.

Nếu bạn chọn mô-đun này, sẽ có một số dự án trong cuốn sách này không thể thực hiện được. Ví dụ, bạn không thể thực hiện các dự án bằng cảm biến analog, vì không thể truy cập vào chân ngõ vào analog.

Có thể tìm thêm thông tin về mô-đun này tại:

https://nurdspace.nl/images/e/e0/ESP8266_Specifications_English.pdf

Có nhiều mô-đun khác trên thị trường có thể truy cập vào tất cả các chân của ESP8266. Ví dụ, mô-đun ESP8266 Olimex, có giá thành tương đối rẻ.

Mô-đun này có thể được gắn dễ dàng trên breadboard và truy cập tất cả các chân của ESP8266. Đây là mô-đun sẽ được sử dụng cho hầu hết các dự án của cuốn sách, vậy nên tôi cũng khuyên bạn nên dùng một cái như thế.

Tham khảo chi tiết về mô-đun này tại:

https://www.olimex.com/Products/IoT/MOD-WIFI-ESP8266-DEV/open-source-hardware

Một lựa chọn khác là sử dụng board dựa trên ESP-12, là phiên bản của ESP8266 được tích hợp trên PCB. Phiên bản này cũng cho phép truy cập vào tất cả các chân của ESP8266. Breakout board cho con chip này cũng tương đối dễ tìm, ví dụ như board trong hình dưới đây:

Tham khảo thêm về mô-đun tại:

http://www.seeedstudio.com/wiki/images/7/7d/ESP-12E_brief_spec.pdf

Bạn cũng dễ dàng mua được breakout board Adafruit ESP8266, cũng có tích hợp ESP-12:

http://www.adafruit.com/product/2471

Một cách khác là sử dụng bộ kit phát triển NodeMCU, tương tự như board Olimex, cũng có bộ chuyển đổi tích hợp USB-to-Serial, nguồn cấp điện được gắn onboard. Nó dễ sử dụng hơn, nhưng hơi khó tìm mua (vào thời điểm tác giả viết quyển sách này). Tham khảo thêm thông tin trên trang web của NodeMCU:

http://nodemcu.com/index_en.html

Lưu ý rằng với mô-đun NodeMCU, phải chuyển các chân cần sử dụng sang các chân được xác định trong ESP8266 Arduino IDE. Để chuyển các chân cho tương ứng, tham khảo tại:

https://github.com/nodemcu/nodemcu-firmware/wiki/nodemcu_api_en#new_gpio_map

Yêu cầu phần cứng

Bây giờ hãy xem xét những linh kiện kèm theo để chip ESP8266 hoạt động. Nó không thể tự hoạt động khi chỉ có một mình.

Trước tiên, ta cần vài cách để lập trình ESP8266. Bạn có thể dùng một board Arduino để làm điều này, nhưng một điểm rất hay đối với tôi ở board ESP8266 này là nó có thể tự động hoàn thành điều này, bằng cách dùng bộ xử lý onboard.

Vì vậy, để lập trình chip, tôi sẽ sử dụng bộ lập trình FTDI USB.

Lưu ý rằng nó phải tương thích với mức logic
của chip ESP8266, là 3.3V

Để thuận tiện có thể sử dụng mô-đun chuyển đổi giữa 3.3V và 5V:

Ngoài ra, cần có nguồn điện phù hợp để cấp nguồn cho chip. Đây là một điểm thường bị bỏ qua và dẫn đến rất nhiều vấn đề. Ví dụ, nếu bạn thử cấp nguồn cho chip ESP8266 với điện áp 3.3V từ board FTDI hoặc board Arduino, nó sẽ không hoạt động chính xác.

Do đó, với hầu hết các mô đun ESP8266, bạn cần một nguồn cấp điện phù hợp có thể cung cấp dòng điện ít nhất 300 mA để chắc chắn mạch hoạt động tốt. Một số board có cổng micro-USB tích hợp và bộ ổn áp có thể cung cấp dòng điện cần thiết cho ESP8266, nhưng những board mà ta bàn đến trong chương đầu tiên này thì không phải loại đó. Tôi dùng một bộ cấp nguồn cho breadboard có thể cấp dòng đến 500 mA ở điện áp 3.3V.

Danh sách tất cả các linh kiện để sử dụng chip ESP8266:

  • Mô-đun ESP8266 Olimex module
  • Bộ cấp nguồn 3.3V cho breadboard
  • Mô-đun FTDI USB 3.3V
  • Breadboard
  • Dây nối

Cấu hình phần cứng

Đầu tiên chúng ta hãy xem qua cách cấu hình phần cứng cho lần sử dụng đầu tiên board ESP8266. Đây là cách ta kết nối các thành phần lại với nhau:

Tùy thuộc vào loại board bạn dụng, các chân có thể có các tên gọi khác nhau. Do đó, tôi có làm một số hình cho từng loại board để giúp các bạn. Đây là các chân mà bạn sẽ cần đến trên board ESP8266:

Tương tự cho board ESP-12:

 

Cuối cùng, là hình ảnh cho board Olimex:

Với board Olimex, sau khi đã nối dây xong, mọi thứ sẽ như thế này:

Phải chắc chắn rằng bạn đã nối dây đúng theo sơ đồ nguyên lý; nếu không, bạn sẽ không làm tiếp được.

Thêm nữa, phải đảm bảo mọi switch ở mỗi thành phần trên (mô-đun FTDI và nguồn cấp) đều đặt ở mức 3.3V, nếu không chip sẽ bị hỏng.

Ngoài ra, cắm một dây vào chân GPIO 0 của board ESP8266. Từ giờ thì đừng nối nó vào đâu cả, nhưng bạn sẽ cần nó sau để đưa chip vào chế độ lập trình.

Sponsor

Internet of Things

Internet of Thingks

  • Tổng quan về IoT
  • Xây dựng dự án
  • Phân tích thiết kế – chọn giải pháp
  • Thành thạo lập trình ESP8266
Lập trình ARM STM32

Lập trình ARM STM32

  • Tổng quan về vi điều khiển 8bit và 32 bit
  • Hiểu rõ cấu trúc thanh ghi STM32
  • Lập trình thành thạo IO, PWM, ADC…
  • Thiết kế mạch nguyên lý Schematic
Thiết kế mạch điện tử

Thiết kế mạch điện tử với Altium Designer

  • Sử dụng thành thạo Altium Designer
  • Thiết kế sơ đồ nguyên lý Schematic đúng tiêu chuẩn
  • Thực hành làm mạch điện
  • Quy trình sản xuất và tiêu chuẩn mạch in
Lập trình Arduino

Lập trình Arduino – Lý thuyết và thực hành

  • Đóng ngắt thiết bị từ xa
  • Điều khiển động cơ
  • Điểu khiển Robot
  • Yêu cầu: hv có đam mê với điều khiển tự động

Cài đặt IDE Arduino cho ESP8266

Sau khi đã thiết lập phần cứng cho ESP8266, bước tiếp theo là cấu hình chip ESP8266 trên Arduino IDE.

Cách cơ bản nhất để sử dụng ESP8266 là sử dụng các lệnh serial, vì chip này cơ bản là bộ thu phát Wi-Fi/Serial. Tuy nhiên, cách này không được tiện lắm, nên tôi sẽ không khuyên bạn dùng.

Thay vào đó, tôi khuyên dùng Arduino IDE, và bạn cần cài đặt vào máy tính. Cách này sẽ giúp việc sử dụng chip ESP8266 thuận tiện hơn, và vì chúng ta sẽ dùng Arduino IDE, nên đây là cách được chọn để dùng trong toàn bộ quyển sách này.

Ta sẽ dùng Arduino IDE để cấu hình cho chip ESP8266, khi đó, ta có thể tái sử dụng một số thư viện Arduino hiện có.

Bạn có thể tải về và cài đặt phiên bản mới nhất của Arduino IDE tại: http://www.arduino.cc/en/main/software

Giờ thì bạn cần thực hiện các bước sau để có thể cấu hình ESP8266 với Arduino IDE:

  1. Khởi động Arduino IDE và mở cửa sổ Preferences.
  2. Nhập URL sau vào miền URLs của Additional Board Manager: http://arduino.esp8266.com/stable/package_esp8266com_index.json
  3. Mở Boards Manager từ menu Tools | Board và cài đặt nền tảng (platform) esp8266 như hình dưới:

Kết nối ESP8266 với mạng Wi-Fi

Bây giờ, ta sẽ kiểm tra xem ESP8266 và Arduino IDE có hoạt động chính xác không, rồi kết nối chip với mạng Wi-Fi riêng của bạn.

Hãy làm theo bước sau:

  1. Trước tiên, cần phải viết code và tải lên board. Dưới đây là một đoạn code đơn giản kết nối chip với mạng Wi-Fi và cho hiện ra địa chỉ IP của board:

// Khai báo các thư viện cần thiết

#include <ESP8266WiFi.h>

 

// Tham số WiFi

Constchar* ssid = “your_wifi_name”;

constchar* password = “your_wifi_password”;

 

void setup(void)

{

// Khởi động Serial

Serial.begin(115200);

// Kết nối đến WiFi

WiFi.begin(ssid, password);

while (WiFi.status() != WL_CONNECTED) {

delay(500);

Serial.print(“.”);

}

Serial.println(“”);

Serial.println(“WiFi connected”);

// Xuất địa chỉ IP

Serial.println(WiFi.localIP());

}

void loop() {

}

Bạn chỉ cần copy các dòng code trên và dán vào Arduino IDE ESP8266 đã tải về khi nãy. Lưu ý điền tên mạng và mật khẩu Wi-Fi của bạn vào đoạn code. Sau đó lưu File với tên theo ý bạn.

  1. Bây giờ để chuột vào Tools | Board và chọn Generic ESP8266 Module. Ngoài ra, chọn đúng Serial port tương ứng với bộ chuyển đổi FTDI đang dùng.
  2. Sau đó, ta cần đặt board ở chế độ bootloader, sau đó có thể lập trình nó. Để làm như vậy, hãy nối đất (GND) chân GPIO 0 qua cáp đã cắm vào khi nãy. Sau đó ngắt nguồn điện và bật lại.
  3. Bây giờ, tải code lên board và mở Serial monitor sau khi code đã nạp xong. Chỉnh tốc độ Serial monitor thành 115200. Bây giờ, hãy ngắt kết nối cáp giữa GPIO 0 và GND và cấp nguồn lại cho board lần nữa. Bạn sẽ thấy thông báo sau:

WiFi connected

192.168.1.1

Nếu thấy thông báo này và một IP, thì chúc mừng bạn, board đã được kết nối với mạng Wi-Fi! Bạn đã sẵn sàng để thực hiện những dự án đầu tay với chip ESP8266.

Tóm tắt

Trong chương đầu tiên này của quyển sách, chúng ta học được những điều cơ bản về ESP8266. Đầu tiên, ta học về các loại board mạch khác nhau đang có bán cho các dự án ESP8266. Sau đó, ta biết cách nối dây các mô-đun ESP8266. Cuối cùng, ta biết cách cài đặt Arduino IDE và cachs cấu hình nó cho ESP8266, và kết thúc chương bằng cách thực hành tải lên một sketch rất đơn giản cho ESP8266.

Trong chương tiếp theo, chúng ta sẽ sử dụng các công cụ ta đã thiết lập và thực hiện một vài dự án cơ bản sử dụng chip Wi-Fi ESP8266.

Sản phẩm được quan tâm

Nhận bài viết mới

Các bài viết chia sẻ đến cộng đồng rất chât lượng, mang lại rất nhiều kiến thức mới. Đừng bỏ lỡ bất kỳ bài viết nào của chung tối, hãy đăng ký để nhận bài viết mới qua Mail của bạn

Đăng ký để không bỏ lỡ bài viết nào!

Fields marked with an * are required

Danh mục




More from our blog

See all posts
No Comments
 

Leave a Comment