Home Internet of Things - IoT Bắt đầu với MicroPython trên ESP8266

Bắt đầu với MicroPython trên ESP8266

by Khanh Tran

Sử dụng MicroPython là một cách tuyệt vời để khai thác tối đa bo mạch ESP8266 của bạn. Và ngược lại, chip ESP8266 là một nền tảng tuyệt vời để sử dụng MicroPython. Hướng dẫn này sẽ hướng dẫn bạn cách thiết lập MicroPython, sử dụng WebREPL, kết nối mạng và giao tiếp với Internet, sử dụng thiết bị ngoại vi phần cứng và điều khiển một số thành phần bên ngoài. Nào cùng bắt đầu với MicroPython trên ESP8266 với mình nhé!

Yêu cầu

Điều đầu tiên bạn cần là một bo mạch với chip ESP8266. Phần mềm MicroPython hỗ trợ chính chip ESP8266 . Đặc điểm chính của bo mạch là kích thước bộ nhớ flash là bao nhiêu, số lượng chân GPIO được kết nối với ngoại vi và liệu nó có bao gồm bộ chuyển đổi nối tiếp USB được tích hợp để giao tiếp UART với PC của bạn không.

Yêu cầu tối thiểu cho kích thước bộ nhớ flash là 1Mbyte. Ngoài ra còn có một phiên bản đặc biệt dành cho bo mạch 512KB, nhưng nó rất hạn chế so với phiên bản thông thường. 

Mô Đun Wifi Không Dây Esp8266 Esp-01 Esp-01S Esp-07 Esp-12E Esp-12F 2.4g |  Shopee Việt Nam
Hình 1: chíp ESP8266

Cấp nguồn cho board mạch

Để Bắt đầu với MicroPython trên ESP8266, trước tiên cần cấp nguồn cho bo mạch đã :D. Nếu bo mạch của bạn có đầu nối USB (ví dụ như ESP8266 NodeMCU) thì rất đơn giản, nó được cấp nguồn qua USB khi kết nối với PC hoặc qua một adapter 5V thông thường. Nếu không, bạn sẽ cần thiết kế mạch nguồn để cung cấp trực tiếp cho nó.

Tải firmware

Điều đầu tiên bạn cần làm là tải xuống tệp .bin firmware MicroPython mới nhất để nạp vào ESP8266 của bạn. Bạn có thể tải xuống từ MicroPython downloads. Từ đây, bạn có 3 lựa chọn chính:

  • Stable firmware builds for 1024kb modules and above.
  • Daily firmware builds for 1024kb modules and above.
  • Daily firmware builds for 512kb modules.

Nếu bạn mới bắt đầu với MicroPython, tốt nhất là bạn nên sử dụng  Stable firmware builds.

Hình 2: Tải firmware cho esp8266 module

Deploying firmware

Sau khi có firmware MicroPython, bạn cần tải nó vào thiết bị ESP8266 của mình. Có hai bước chính để thực hiện việc này: đầu tiên bạn cần đặt thiết bị của mình ở chế độ boot-loader. Thứ hai, bạn cần sao chép qua firmware. Quy trình chính xác cho các bước này phụ thuộc nhiều vào phần cứng của bạn và bạn sẽ cần tham khảo tài liệu của nó để biết chi tiết.

Trên ESP8266 NodeMCU đã có sẵn đầu nối USB, bộ chuyển đổi nối tiếp USB. Vì thế chúng ta có thể dễ dàng kết nối và nạp firmware cho nó.

Để có kết quả tốt nhất, trước tiên bạn nên xóa toàn bộ bộ nhớ flash của bo mạch trước khi cài đặt MicroPython.

Đầu tiên, cài đặt esptool bằng cách nhập câu lệnh sau vào Terminal:

pip install esptool

Sử dụng esptool.py bạn có thể xóa flash bằng lệnh:

esptool.py --port /dev/ttyUSB0 erase_flash

Và sau đó triển khai chương trình cơ sở mới bằng cách sử dụng:

esptool.py --port /dev/ttyUSB0 --baud 460800 write_flash --flash_size=detect 0 esp8266-20170108-v1.8.7.bin

Bạn có thể thay đổi giá trị của portbaud sao cho phù hợp với PC và thiết bị của bạn.

Tên tệp của firmware cũng phải khớp với tệp bạn có.

Đối với một số bo mạch có cấu hình FlashROM cụ thể (ví dụ: một số biến thể của bảng NodeMCU), bạn có thể cần sử dụng lệnh sau để triển khai firmware (lưu ý):-fm dio

esptool.py --port /dev/ttyUSB0 --baud 460800 write_flash --flash_size=detect -fm dio 0 esp8266-20170108-v1.8.7.bin

Nếu các lệnh trên chạy mà không bị lỗi thì MicroPython sẽ được cài đặt trên bo mạch của bạn!

Serial prompt

Sau khi có firmware trên thiết bị, bạn có thể truy cập REPL (Python prompt) qua UART0 (GPIO1 = TX, GPIO3 = RX). Nó có thể được kết nối với bộ chuyển đổi nối tiếp USB, tùy thuộc vào bo mạch của bạn. Tốc độ baudrate là 115200.

WiFi

Sau khi cài đặt và khởi động, thiết bị sẽ tự cấu hình thành một WiFi access point (AP) mà bạn có thể kết nối. ESSID có dạng MicroPython-xxxxxx. Trong đó chữ x được thay thế bằng một phần địa chỉ MAC của thiết bị của bạn. Mật khẩu cho WiFi là micropythoN (lưu ý chữ N viết hoa). Địa chỉ IP của nó sẽ là 192.168.4.1 khi bạn kết nối với mạng của nó. Cấu hình WiFi sẽ được thảo luận chi tiết hơn trong phần sau của hướng dẫn.

Khắc phục sự cố cài đặt

Nếu bạn gặp sự cố trong quá trình cấu hình và cài đặt, đây là các đề xuất khắc phục sự cố:

  1. Các sự cố phần cứng. Có 2 vấn đề thường gặp là chất lượng nguồn điện kém và FlashROM bị mòn, lỗi. Bạn nên tránh sử dụng các kết nối nguồn không tiếp đất khi làm việc với ESP8266.
  2. Các hướng dẫn ở trên sử dụng tốc độ nhấp nháy 460800 baud. Nó là thích hợp để cân bằng giữa tốc độ và sự ổn định. Tuy nhiên, tùy thuộc vào mô-đun, bo mạch, bộ chuyển đổi USB-UART, cáp, hệ điều hành máy chủ, v.v. Tốc độ truyền ở trên có thể quá cao và dẫn đến lỗi. Hãy thử tốc độ truyền 115200 phổ biến hơn trong những trường hợp như vậy.
  3. Nếu tốc độ truyền thấp hơn không giúp được gì, bạn có thể muốn thử phiên bản cũ hơn của esptool.py:
    pip install esptool==1.0.1
  4. Các --flash_sizeoption trong các lệnh trên là bắt buộc. Bỏ qua nó sẽ dẫn đến firmware bị hỏng.

You may also like

Leave a Comment