ESPHome (trước đây được gọi là esphomelib và hiện thuộc sở hữu của Nabu Casa) là một công cụ mà bạn có thể tạo firmware tùy chỉnh cho các bo mạch dựa trên ESP8266 và ESP32. Firmware tùy chỉnh nghe có vẻ phức tạp nhưng ESPHome làm cho nó trở nên dễ dàng. Trước khi chúng ta đi vào chi tiết, thì có những vấn đề đặt ra là bo mạch ESP32 và ESP8266 chính xác là gì, và cách ESPHome tương tác với chúng. Đó chỉ là một số câu hỏi mà IoT Tương Lai sẽ trả lời trong bài viết này. Đây sẽ là bài viết đầy đủ cho người mới bắt đầu về ESPHome.
Bạn sẽ không cần bất kỳ kỹ năng lập trình nào để bắt đầu với ESPHome và nếu bạn có khả năng định cấu hình Home Assistant bằng YAML, bạn sẽ cảm thấy mọi thứ rất đơn giản. ESPHome là người bạn đồng hành hoàn hảo với Home Assistant. Có một tích hợp chính thức được tích hợp sẵn cho Home Assistant và các thiết bị ESPHome (hoặc các nút) trên mạng của bạn sẽ được phát hiện tự động.
Trước khi đi vào xem ESPHome là gì và nó có thể làm gì, chúng ta phải xem xét kỹ hơn hai vi mạch trung tâm ESP8266 và người kế nhiệm của nó, ESP32. Cả hai vi mạch đều có nhiều biến thể, nhưng sẽ có một bài viết khác đầy đủ hơn về chúng.
Mặc dù nhanh hơn, có nhiều bộ nhớ hơn và nhiều tùy chọn kết nối hơn, vẫn có những lý do để sử dụng ESP8266 thay vì ESP32. Trên thực tế, chỉ một số hướng dẫn có trên Home Assistant Guide có tính năng ESP32. Đến cuối bài viết này, bạn sẽ hiểu tại sao lại như vậy và điều gì khác biệt giữa chúng. Tất nhiên nó sẽ không quá kỹ thuật chỉ dừng lại ở hiểu biết cơ bản về hai vi mạch này và cách chúng hoạt động giúp bạn bắt đầu với ESPHome.
Các chân GPIO trên ESP8266 và ESP32 là gì?
Các chân đầu vào hoặc đầu ra có mục đích chung (viết tắt là GPIO) có thể được chỉ định (trong phần mềm) làm chân đầu vào hoặc đầu ra và được sử dụng cho nhiều mục đích. Khi chân GPIO trên ESP8266 được chỉ định làm đầu ra, nó có thể được đặt thành mức cao (3.3V) hoặc mức thấp (0V). Và ngược lại, nếu chân GPIO được chỉ định làm chân đầu vào thì có thể đọc ở mức cao (3.3V) hoặc thấp (0V).
Nếu bạn muốn, bạn có thể mắc một loạt LED riêng lẻ (với điện trở thích hợp) vào các chân GPIO và bật hoặc tắt chúng bằng cách đặt đầu ra thành cao hoặc thấp.
ESP8266 là gì?
Về cốt lõi, ESP8266 là một vi mạch Wi-Fi (b / g / n) giá rẻ. Nó có đầy đủ TCP / IP stack và vi điều khiển và được sản xuất bởi Espressif Systems ở Trung Quốc. Con chip nhỏ gọn này lần đầu tiên xuất hiện ở phương Tây với module ESP-01, được sản xuất bởi Ai-Thinker.
Nó không được quan tâm ngay lập tức vì tài liệu chưa được dịch nhưng cuối cùng các hacker đã bắt được và bắt đầu khám phá module, chip và phần mềm trên đó. Và tài liệu được dịch sang ngôn ngữ tiếng Anh.
ESP8266 có CPU tốc độ 80 MHz (mặc định) hoặc 160 MHz và có 32 KiB bộ nhớ lệnh và bộ nhớ dữ liệu người dùng 80 KiB tùy ý sử dụng. Đối với đầu vào và đầu ra, có 16 chân GPIO. Bằng cách sử dụng lõi Arduino cho chip WiFi ESP8266, ESP8266 có thể được lập trình giống như bất kỳ thiết bị Arduino nào khác. Điều này khiến nó trở thành một sản phẩm rất phổ biến với các nhà sản xuất vì Arduino Core đã biến nó thành Arduino có khả năng Wi-Fi.
Ngày nay có rất nhiều loại bo mạch để bạn lựa chọn. Nhiều bo trong số này bao gồm cầu nối USB-to-UART trên bo mạch và cổng Micro-USB. Cổng Micro-USB không chỉ sử dụng để cấp nguồn cho bo mạch ESP8266 mà còn để kết nối với nó. Các bo ESP8266 này được tạo ra cho một nền tảng phát triển rất dễ dàng.
Ví dụ thực tế, nếu bạn đang sử dụng ESP8266 để điều khiển các LED định địa chỉ, chân kết nối với LED sẽ được định cấu hình làm chân đầu ra. Nó gửi các lệnh, chẳng hạn như bật hoặc tắt, đến bộ điều khiển LED. Nếu bạn kết nối cảm biến nhiệt độ và độ ẩm DHT22, chân GPIO mà nó được kết nối sẽ hoạt động như một chân đầu vào thu thập dữ liệu từ cảm biến.
ESP32 là gì?
ESP32 là phiên bản kế thừa của ESP8266 (mặc dù cả hai đều được sản xuất đồng thời). Nó có một số ưu điểm như CPU nhanh hơn (160 MHz hoặc 240 MHz), Bluetooth trên bo mạch chế độ kép (Bluetooth v4.2 và BLE) và các chân GPIO cảm biến điện dung. Nói chung, ESP32 nhanh hơn và linh hoạt hơn nhiều so với ESP8266. Cũng giống như ESP8266, ESP32 hỗ trợ Arduino IDE.
Kể từ khi ESP32 xuất hiện lần đầu tiên, một số biến thể đã được sinh ra. Có ESP32-S2 là một biến thể bị hạ cấp một chút, có ít SRAM hơn và không có Bluetooth. ESP32-C3 là một biến thể mới thú vị, vì nó có CPU RISC-V. Vì mức giá nên, ESP32-C3 đã được đặt tên là sự thay thế của ESP8266. ESP32-C3 chia sẻ khả năng Bluetooth 5 với ESP32-S3, có 44 GPIO có thể lập trình. Cuối cùng, ESP32-S6 hỗ trợ Wi-Fi 6 và cũng có CPU RISC-V ở trung tâm.
Các biến thể tiếp theo này, cũng như khả năng tương thích của chúng với ESPHome, sẽ được đề cập trong một bài viết trong tương lai. Bạn có thể theo dõi IoT Tương Lai để không bỏ lỡ.
Tại sao mọi người vẫn mua ESP8266?
Có một lý do chính để đưa ra khi so ESP8266 với ESP32 đó là giá. Chip có thể được mua với giá rất thấp. Nếu bạn không cần các tính năng bổ sung mà ESP32 cung cấp, tại sao phải bỏ thêm tiền? Nhiều người đã cho rằng ESP32-C3 là người kế nhiệm thích hợp cho ESP8266, nhưng thực tế các bo mạch ESP8266 vẫn có nhu cầu cao.
Giá là một lý do để mua ESP8266 thay vì ESP32 và các biến thể khác. Các bo mạch như ESP-12F và ESP-01 cho phép các nhà sản xuất chế tạo các PCB nhỏ hơn nhiều và các bo mạch này có thể rẻ hơn.
Tham khảo các sản phẩm tại đây
https://dientutuonglai.com/san-pham/?keyword=esp8266
https://dientutuonglai.com/san-pham/?keyword=esp32
Sonoff, H801, Zemismart
Vì ESP8266 và ESP32 có giá rẻ nên chúng đang được sử dụng trong một số sản phẩm dựng sẵn như công tắc WiFi Sonoff phổ biến của iTead và bộ điều khiển LED H801 RGBW. Nếu có một thiết bị chứa vi mạch ESP8266 hoặc ESP32, bạn sẽ có thể chạy ESPHome trên đó.
ESPHome là gì?
ESPHome là một công cụ đọc file cấu hình và tạo tệp nhị phân firmware tùy chỉnh. Cũng giống như trong Home Assistant, cấu hình được viết bằng YAML. ESPHome hỗ trợ một danh sách dài các cảm biến, có thể được cấu hình chỉ với một vài dòng YAML. Bên cạnh đó, ESPHome có thể điều khiển đèn, màn hình và nhiều thứ khác. Trong ESPHome, tất cả các thiết bị được gọi là các nút.
ESPHome được cài đặt như thế nào?
ESPHome có thể được cài đặt như một tiện ích bổ sung Home Assistant. Cũng giống như Home Assistant, ESPHome được xây dựng bằng ngôn ngữ lập trình Python và có thể được cài đặt nguyên bản.
ESPHome trông như thế nào?
Bạn có thể tự hỏi làm thế nào ESPHome có thể được kiểm soát sau khi nó được cài đặt. ESPHome sử dụng giao diện web mà từ đó bạn có thể biên dịch firmware tùy chỉnh, các nút cập nhật và thiết bị flash. Bạn thậm chí có thể chỉnh sửa YAML của mình bằng giao diện này.
Bo mạch ESP8266 và ESP32 được flash như thế nào?
Bạn có một số tùy chọn khi flash thiết bị ESP8266 và ESP32. Bạn có thể kết nối chúng với cùng một máy mà ESPHome đang chạy và flash chúng bằng giao diện web. Giải pháp thay thế là đầu tiên biên dịch firmware tùy chỉnh của bạn bằng giao diện web, sau đó lưu nó trên máy cục bộ của bạn và flash nó bằng ESPHome-Flasher.
Sau khi các nút ESPHome của bạn bắt đầu và đang chạy, bạn có thể cập nhật chúng qua OTA bằng giao diện web.
ESPHome có thể làm gì?
Dưới đây là một vài điều bạn có thể làm khi sử dụng ESPHome:
Bạn có thể tạo nhiều cảm biến bằng cách sử dụng bất kỳ cảm biến nào được hỗ trợ.
Bạn có thể thu thập thông tin từ các cảm biến BLE của Xiaomi và hiển thị thông tin đó trong Home Assistant (yêu cầu ESP32).
Bạn có thể tạo các Bluetooth Low Energy Beacon (iBeacons) để phát hiện sự hiện diện (yêu cầu ESP32).
Bạn có thể điều khiển các LED dây.
Bạn có thể định cấu hình màn hình E-Paper để hiển thị mọi thứ từ Home Assistant.