leeshin456 gửi vào
- 10708 lượt xem
Thấy rất nhiều bạn gặp khó khăn khi làm việc với ESP8266. Nên hôm nay, mình giới thiệu về tasmota một firmware có thể nói là all in one cho ESP8266.
Mình biết đến Tasmota khi tìm hiểu về nhà thông minh. Hồi trước thì mình cày cục tự viết code từ A->Z cho ESP8266 cho đến việc hàn từng cái nút bấm. Và với Tasmota giờ đây chỉ đơn giản là flash vào, rồi config các chân IO rồi sử dụng.
Như trên hình có thể thấy tasmota cho phép cấu hình với rất nhiều các loại nút bấm, relay, cảm biến các loại khác nhau, công việc rất đơn giản chỉ config chân và kết nối là xong (Tổng cộng là 189 loại nhé)
Flash Tasmota vào ESP8266
Nếu muốn sử dụng luôn, thì các bạn có thể tài file bin tại địa chỉ sau: http://thehackbox.org/tasmota/ để flash thử
Nhưng hôm nay mình sẽ hướng dẫn sử dụng arduino ide để build và flash lên esp8266, như vậy thì các bạn có thể tùy chỉnh source code theo ý mình được :D
Đầu tiên các bạn config arduino ide để lập trình esp8266 như hướng dẫn: http://arduino.vn/bai-viet/1172-lap-trinh-esp8266-bang-arduino-ide
Tiếp theo các bạn tải source code về https://github.com/arendst/Tasmota và giải nén ra!
Copy toàn bộ các thư mục trong thư mục lib vào libraries của arduino (đây là các thư viện cần dùng cho tasmota)
Chi tiết các bạn có thể xem video này nhé:
Mở file tasmota/tasmota.ino lên vậy là có thể ấn build và upload cho esp8266 được rồi
Cài đặt cơ bản
Đầu tiên mình hướng dẫn cài đặt wifi cho ESP (tasmota cho config 2 wifi khác nhau để dự phòng). Có tổng cộng là 3 cách khác nhau:
- Cài sẵn trong file config tasmota/my_user_config.h. Các bạn sửa lại các define sau:
- #define STA_SSID1 "" // [Ssid1] Wifi SSID
- #define STA_PASS1 "" // [Password1] Wifi password
- #define STA_SSID2 "" // [Ssid2] Optional alternate AP Wifi SSID
- #define STA_PASS2 "" // [Password2] Optional alternate AP Wifi password
- Config bằng uart. Các bạn gửi qua uart các lệnh sau để config wifi:
- Ssid<x> Tên wifi
- Password<x> Pass wifi
- Trong đó <x> là 1 hoặc 2 để config cho wifi 1 hoặc wifi 2
- Config bằng giao diện web (với cách này đương nhiên các bạn đã phải kết nối được esp8266 vào wifi rồi). Truy cập vào ip của esp8266 rồi vào mục config -> config wifi:
Cài đặt MQTT (cái này mình sử dụng để kết hợp với hassio để điều khiển từ hassio, các bạn có thể tự tạo cho mình một tool để truyền nhận từ MQTT broker)
vào giao diện web thông qua ip local của ESP8266 chọn config -> config MQTT
Kết nối phần cứng
Vậy là cơ bản đã xong, giờ các bạn kết nối đến phần cứng như nút nhấn, relay, cảm biến vào các chân GPIO của esp8266. Sau đó các bạn vào giao diện web qua ip local của esp8266 vào config -> config module:
Như trong hình mình config để sử dụng với PZEM004 để đo điện sử dụng trong gia đình. Ở đây do mình chọn module type là sonoff basic nên nó chỉ hiển thị 5 GPIO. Các bạn có thể chọn các type khác để nó hiển thị nhiều GPIO hơn để sử dụng với nhiều cảm biến hoặc nút ấn/relay hơn.
Đây là bài viết mình giới thiệu sơ qua, sắp tới mình sẽ hướng dẫn thêm về các ứng dụng thực tế và kết hợp với hassio để làm nhà thông minh nhé!