Mục lục:

Cách Flash Firmware MicroPython trên Công tắc thông minh dựa trên Sonoff ESP8266: 3 bước (có Hình ảnh)
Cách Flash Firmware MicroPython trên Công tắc thông minh dựa trên Sonoff ESP8266: 3 bước (có Hình ảnh)

Video: Cách Flash Firmware MicroPython trên Công tắc thông minh dựa trên Sonoff ESP8266: 3 bước (có Hình ảnh)

Video: Cách Flash Firmware MicroPython trên Công tắc thông minh dựa trên Sonoff ESP8266: 3 bước (có Hình ảnh)
Video: Complete Guide Sprinkler System MQTT OpenHAB ESP8266 : Software (Using WINDOWS) 2024, Tháng mười một
Anonim
Cách Flash Firmware MicroPython trên Công tắc thông minh dựa trên Sonoff ESP8266
Cách Flash Firmware MicroPython trên Công tắc thông minh dựa trên Sonoff ESP8266

Sonoff là gì?

Sonoff là dòng thiết bị dành cho Nhà thông minh do ITEAD phát triển. Một trong những thiết bị linh hoạt và rẻ tiền nhất từ dòng đó là Sonoff Basic và Sonoff Dual. Đây là các thiết bị chuyển mạch hỗ trợ Wi-Fi dựa trên một con chip tuyệt vời, ESP8266. Mặc dù cơ sở hạ tầng Sonoff có thể hoạt động khá tốt đối với người dùng cơ bản, nhưng những người khác có thể muốn xâm nhập vào phần cứng đó và chạy mã của riêng họ trên đó. Phần cứng của Công tắc thông minh Sonoff thật tuyệt vời, xem xét mức giá thấp của nó:

  • ESP8266 với 1MB flash
  • Bộ chuyển đổi điện tích hợp 220V AC
  • 10A Relay (hoặc hai trong Sonoff Dual)
  • Đèn LED trên bo mạch (hoặc hai trong Sonoff Dual)
  • Nút tích hợp

Nếu bạn muốn toàn quyền kiểm soát phần cứng này bằng ngôn ngữ lập trình yêu thích của mình, thì hướng dẫn này là dành cho bạn.

Bước 1: Lấy cắp dữ liệu phần cứng

Lấy cắp dữ liệu phần cứng
Lấy cắp dữ liệu phần cứng
Lấy cắp dữ liệu phần cứng
Lấy cắp dữ liệu phần cứng
Lấy cắp dữ liệu phần cứng
Lấy cắp dữ liệu phần cứng

ESP8266 được lập trình thông qua cổng nối tiếp. Cả Sonoff Basic và Sonoff Dual đều có trên PCD.

Bạn có thể cần hàn đầu ghim trên PCB để dễ dàng kết nối bộ chuyển đổi USB-UART.

Bước 2: Chuẩn bị lấy cắp dữ liệu phần mềm

Chuẩn bị lấy cắp phần mềm
Chuẩn bị lấy cắp phần mềm

Tôi yêu Python, vì vậy tôi sẽ sử dụng chương trình cơ sở MicroPython. Bạn cũng có thể sử dụng bất kỳ SDK nào được hỗ trợ. Hãy tiến hành flash MicroPython thay vì phần mềm Sonoff độc quyền:

Cài đặt gói python esptool giúp cài đặt ESP8266 dễ dàng hơn:

pip cài đặt esptool

Tải xuống chương trình cơ sở MicroPython ổn định mới nhất từ trang tải xuống MicroPython. Kết nối bộ chuyển đổi USB-UART với bo mạch. Để đảm bảo an toàn, bạn nên cấp nguồn cho bo mạch từ bộ chuyển đổi thay vì ổ cắm AC 220V. Lưu ý rằng bạn chỉ được sử dụng 3.3V, nếu bạn kết nối chip ESP8266 với nguồn điện 5V, nó sẽ chết.

Khởi động ESP8266 vào Chế độ Flash. Bạn có thể làm điều đó bằng cách kéo chân GPIO0 xuống trong khi bật nguồn thiết bị:

  • Trên Sonoff Basic, GPIO0 chỉ đơn giản là một nút. Kết nối bộ điều hợp USB-UART với PC của bạn trong khi giữ nút và bạn đang ở Chế độ Flash.
  • Trên Sonoff Dual, mọi thứ khó hơn một chút. Bạn cần làm ngắn mạch hai miếng đệm trên PCB trong khi cấp nguồn cho bo mạch. Các miếng đệm cần thiết được hiển thị trên hình trên. Dùng nhíp hoặc hàn một sợi dây nhỏ giữa chúng.

Khi ESP8266 ở Chế độ Flash, đèn LED của bo mạch sẽ không nhấp nháy.

Đảm bảo rằng bạn có thể truy cập vào cổng nối tiếp được mở bởi bộ điều hợp USB-UART. Trên Linux, nó có thể là / dev / ttyUSB0, trên Mac, bạn nên tìm kiếm thứ gì đó như “usbserial” hoặc “usbmodem” trong đầu ra lệnh ls / dev / cu. * Hoặc ls / dev / tty. *, Trên Windows, nó phải là COM3 hoặc cao hơn. Cài đặt trình điều khiển bộ điều hợp USB-UART nếu cần.

Xóa đèn flash bằng esptool. Thay thế / dev / ttyUSB0 cho cổng của bạn nếu được yêu cầu:

esptool.py --port / dev / ttyUSB0 delete_flash

Bạn có thể cần chạy esptool.py như một superuser để truy cập vào cổng nối tiếp.

Bước 3: Nhấp nháy

Nhấp nháy
Nhấp nháy

Nếu quá trình xóa thành công, hãy cắt nguồn của bo mạch, khởi động lại ESP8266 ở Chế độ Flash và flash lại chương trình cơ sở của bạn:

esptool.py --port / dev / ttyUSB0 --baud 460800 write_flash --flash_size = explore 0 esp8266-20170823-v1.9.2.bin

Nếu quá trình nhấp nháy thành công, hãy cắt nguồn của bo mạch, kết nối lại mà không cần nhấn nút và mở cổng nối tiếp trong một thiết bị đầu cuối. Trên Linux và Mac, bạn có thể sử dụng screen / dev / ttyUSB0 115200 (thay thế / dev / ttyUSB0 cho cổng của bạn nếu cần), trên Windows bạn có thể sử dụng PuTTY (tốc độ truyền mặc định là 115200). Sau khi bạn kết nối, hãy nhấn Enter và nếu bạn thấy ba dấu ngoặc nhọn của Python shell, thì mọi thứ đều hoạt động!

>> >>> help () Chào mừng bạn đến với MicroPython! Đối với tài liệu trực tuyến, vui lòng truy cập https://docs.micropython.org/en/latest/esp8266/. Đối với thông tin chẩn đoán để đưa vào báo cáo lỗi, hãy thực hiện 'import port_diag'. Cấu hình WiFi cơ bản: import network sta_if = network. WLAN (network. STA_IF); sta_if.active (True) sta_if.scan () # Quét các điểm truy cập có sẵn sta_if.connect ("", "") # Kết nối với AP sta_if.isconnected () # Kiểm tra kết nối thành công # Thay đổi tên / mật khẩu AP của ESP8266: ap_if = network. WLAN (network. AP_IF) ap_if.config (essid = "", authmode = network. AUTH_WPA_WPA2_PSK, password = "") Lệnh điều khiển: CTRL-A - trên một dòng trống, nhập chế độ REPL thô CTRL- B - trên dòng trống, nhập chế độ REPL bình thường CTRL-C - ngắt chương trình đang chạy CTRL-D - trên dòng trống, thực hiện thiết lập lại mềm bảng CTRL-E - trên dòng trống, nhập dán Chế độ Để được trợ giúp thêm về một đối tượng cụ thể, hãy nhập trợ giúp (obj) >>>

Trong phần hướng dẫn tiếp theo, chúng tôi sẽ mô tả cách tương tác với nền tảng Cloud4RPi thông qua giao thức MQTT.

Đề xuất: