Mục lục:

Phần cứng và phần mềm Hack thiết bị thông minh, Tuya và Broadlink LEDbulb, Sonoff, BSD33 Smart Plug: 7 bước
Phần cứng và phần mềm Hack thiết bị thông minh, Tuya và Broadlink LEDbulb, Sonoff, BSD33 Smart Plug: 7 bước

Video: Phần cứng và phần mềm Hack thiết bị thông minh, Tuya và Broadlink LEDbulb, Sonoff, BSD33 Smart Plug: 7 bước

Video: Phần cứng và phần mềm Hack thiết bị thông minh, Tuya và Broadlink LEDbulb, Sonoff, BSD33 Smart Plug: 7 bước
Video: Chia sẻ về các thiết bị nhà thông minh mà mình đang sử dụng, nhà mình sử dụng những thiết bị nào ? 2024, Tháng bảy
Anonim
Phần cứng và phần mềm Hack thiết bị thông minh, Tuya và Broadlink LEDbulb, Sonoff, BSD33 Smart Plug
Phần cứng và phần mềm Hack thiết bị thông minh, Tuya và Broadlink LEDbulb, Sonoff, BSD33 Smart Plug

Trong Tài liệu hướng dẫn này, tôi chỉ cho bạn cách tôi đã cài đặt một số thiết bị thông minh bằng chương trình cơ sở của riêng mình, vì vậy tôi có thể điều khiển chúng bằng MQTT thông qua thiết lập Openhab của mình.

Tôi sẽ thêm các thiết bị mới khi tôi hack chúng.

Tất nhiên có những phương pháp dựa trên phần mềm khác để flash firmware tùy chỉnh, như Tuya convert, nhưng tôi muốn hiểu cách thiết bị hoạt động và 'ẩn' là gì.

Mã được viết và flash bằng Arduino IDE.

Tôi kiểm soát thiết bị của mình thông qua Openhab và Google Home (thông qua Openhab), nếu bạn muốn biết thêm hoặc cần tệp.items, v.v., vui lòng cho tôi biết trong phần nhận xét.

An toàn là trên hết

Hãy cẩn thận vì chúng tôi đang làm việc trên các thiết bị được cung cấp điện áp chính. Ngắt kết nối các thiết bị khỏi nguồn điện trước khi thao tác trên chúng.

Tôi bạn có bất kỳ nghi ngờ nào nếu thiết bị an toàn sau khi sửa đổi, vui lòng loại bỏ nó.

Quân nhu

Đối với hầu hết các bản hack, bạn cần một bộ lập trình FDTI được gắn vào máy tính chạy Arduino IDE, một số dây nhảy, một mỏ hàn, một số điện trở và mô-đun ESP8266 hoặc ESP8285.

Bước 1: Bóng đèn thông minh Tuya LED RGBW

Bóng đèn thông minh Tuya LED RGBW
Bóng đèn thông minh Tuya LED RGBW
Bóng đèn thông minh Tuya LED RGBW
Bóng đèn thông minh Tuya LED RGBW
Bóng đèn thông minh Tuya LED RGBW
Bóng đèn thông minh Tuya LED RGBW

Giới thiệu

Tôi đã mua chiếc đèn này từ Aliexpress. Nó hoạt động tốt với ứng dụng Smart Life, nhưng tôi muốn điều khiển nó qua MQTT từ Openhab. Tôi đã tạo phần mềm Sonoff B1 của riêng mình, vì vậy tôi đã cố gắng nhấp nháy đèn này với phần mềm đó.

Nhấp nháy

Bạn mở đèn bằng cách cẩn thận tháo nắp nhựa, dùng lực bằng tay hoặc bằng cách vặn vít giữa kim loại và nhựa. Bạn có thể thấy chip ESP8266 trần.

Các kết nối cần thiết được tiếp xúc thông qua các miếng đệm nhỏ trên PCB (3v3, GND, RX, TX và IO0 (GPIO0))

Đầu tiên tôi đặt một ít thuốc hàn vào các miếng đệm và hàn vào dây dẫn và sau đó hàn chúng lại với nhau. Tôi đã sử dụng một dây kim loại và một số keo nóng để gắn các dây vào đèn.

GPIO0 là cần thiết để đưa ESP8266 vào chế độ chương trình. Kết nối nó với mặt đất khi cấp nguồn cho ESP8266. Bạn có thể cấp nguồn và flash ESP8266 bằng bộ lập trình FTDI.

Chương trình cơ sở

Phần mềm dựa trên phần sụn Sonoff B1 của tôi, nhưng được sửa đổi, vì Sonoff B1 sử dụng trình điều khiển LED MY9231 được điều khiển bởi chip ESP8285 và trong đèn Tuya Thông minh này, 4 kênh (RGBW) được điều khiển bởi các mosfet được chuyển đổi bằng tín hiệu PWM trực tiếp từ ESP8266.

Kênh màu xanh lá cây được kết nối với GPIO12, màu đỏ với GPIO14, màu xanh lam với GPIO13 và kênh màu trắng được kết nối với GPIO4. Trong mã, bạn thấy điều đó như: #define GREENPIN 12 #define REDPIN 14 #define BLUEPIN 13 #define WHITEPIN 4.

Mã hoàn chỉnh có trên Github của tôi.

Bước 2: Bóng đèn LED trắng ấm chung - Phần 1

Bóng đèn LED trắng ấm chung - Phần 1
Bóng đèn LED trắng ấm chung - Phần 1
Bóng đèn LED trắng ấm chung - Phần 1
Bóng đèn LED trắng ấm chung - Phần 1
Bóng đèn LED trắng ấm chung - Phần 1
Bóng đèn LED trắng ấm chung - Phần 1

Giới thiệu

Tôi đã mua những bóng đèn LED này từ Aliexpress Hộp màu xanh / trắng và hộp đen. Chúng được cho là sẽ được điều khiển thông qua ứng dụng nhà thông minh Magic home và ứng dụng Techlife chuyên nghiệp. Tôi đã không thử các ứng dụng này vì tôi muốn điều khiển bóng đèn LED thông qua MQTT từ Openhab. Vì tôi đã có phần mềm cơ sở cho bóng đèn RGBW, tôi đã sử dụng phần mềm đó không phải với bốn kênh (RGBW) mà chỉ có một kênh.

Nhấp nháy

Bạn mở đèn bằng cách tháo nắp nhựa cẩn thận. Tôi phát hiện ra rằng nắp được dán một chút vào kim loại, vì vậy tôi cần lực từ một cái vặn vít giữa kim loại và nhựa.

Tôi dự kiến sẽ thấy chip ESP8266 hoặc ESP8285, tuy nhiên đó là mô-đun Broadlink. Mô-đun trông giống như một mô-đun ESP12, nhưng tôi phát hiện ra sơ đồ chân hoàn toàn khác. Từ việc tháo vỏ kim loại, tôi phát hiện ra đó là chip RDA 5981AM.

Giải pháp của tôi để thay thế chip này bằng ESP được trình bày trong bước tiếp theo.

Bước 3: Bóng đèn LED trắng ấm chung - Phần 2

Bóng đèn LED trắng ấm chung - Phần 2
Bóng đèn LED trắng ấm chung - Phần 2
Bóng đèn LED trắng ấm chung - Phần 2
Bóng đèn LED trắng ấm chung - Phần 2
Bóng đèn LED trắng ấm chung - Phần 2
Bóng đèn LED trắng ấm chung - Phần 2
Bóng đèn LED trắng ấm chung - Phần 2
Bóng đèn LED trắng ấm chung - Phần 2

Các mô-đun được kết nối với đế của đèn thông qua 3 chân, xem hình đầu tiên:

  • 3V3 (3.3V)
  • GND (mặt đất)
  • PWM (điều chế độ rộng xung)

Chân PWM được sử dụng để đặt độ sáng của đèn thông qua tín hiệu PWM, có thể thay đổi từ 0 (đèn tắt) đến 100 (đèn bật hoàn toàn) và mọi giá trị ở giữa. Xem trang web này để biết thêm thông tin về các tín hiệu PWM.

Vì các mô-đun ESP8266 và ESP8285 chạy trên 3.3V và có thể dễ dàng tạo ra tín hiệu PWM, tôi đã thay đổi các mô-đun Broadlink thành các mô-đun ESP8266 hoặc ESP8285 mà tôi đã đặt xung quanh.

Mô-đun ESP-01S (ESP8266) được nhấp nháy thông qua một bộ lập trình riêng biệt, hãy xem bước 3 của Tài liệu hướng dẫn này. Tôi đã hàn chân cắm đầu cái vào đèn với điện trở kéo lên giữa 3V3 và EN (kích hoạt). Đây là thử nghiệm đầu tiên của tôi, sau đó tôi đã thay đổi sang mô-đun ESP8285.

Các mô-đun ESP-M1, ESP-M3 và ESP-01F (ESP8285) được hàn bằng dây hàn với các kết nối cần thiết (3V3, GND, RX, TX và GPIO0 (xem bước 1, nhấp nháy của đèn thông minh Tuya). I hàn một điện trở kéo lên giữa 3V3 và EN (cho phép).

Với mô-đun ESP-M3, tôi sử dụng GPIO4 để tạo tín hiệu PWM. Lúc đầu, tôi sử dụng GPIO2, nhưng khi bóng đèn LED, GPIO2 thấp dẫn đến ánh sáng của đèn LED trên bo mạch, tạo ra ánh sáng màu xanh không mong muốn trong bóng đèn LED.

Thêm một số băng kapton để cải thiện sự cách ly giữa mô-đun và các kết nối đế đèn.

Chỉnh sửa: Tôi phát hiện ra rằng mô-đun ESP-01F không khởi động một cách đáng tin cậy, có thể do nguồn điện không ổn định khi bật nguồn. Tôi đã giải quyết điều này bằng cách thêm một tụ điện tantali 10 uF giữa GND và VCC. Đáng chú ý là một tụ điện 10 uF gốm không hoạt động.

Bước 4: Bóng đèn LED trắng ấm chung - Phần 3

Bóng đèn LED trắng ấm chung - Phần 3
Bóng đèn LED trắng ấm chung - Phần 3

Chương trình cơ sở

Mã có trên Github của tôi.

Phần sụn bao gồm giao diện web để điều khiển bóng đèn LED và cũng có tùy chọn cập nhật OTA phần sụn thông qua Webupdate

Bước 5: Sonoff hoặc BSD33 Smart Plug - Phần 1

Sonoff hoặc BSD33 Smart Plug - Phần 1
Sonoff hoặc BSD33 Smart Plug - Phần 1
Sonoff hoặc BSD33 Smart Plug - Phần 1
Sonoff hoặc BSD33 Smart Plug - Phần 1
Sonoff hoặc BSD33 Smart Plug - Phần 1
Sonoff hoặc BSD33 Smart Plug - Phần 1
Sonoff hoặc BSD33 Smart Plug - Phần 1
Sonoff hoặc BSD33 Smart Plug - Phần 1

Giới thiệu

Tôi đã mua phích cắm thông minh WiFi này từ Aliexpress. Nó hoạt động tốt với ứng dụng Smart Life, nhưng tôi muốn điều khiển nó qua MQTT từ Openhab. Tôi đã tạo phần mềm Sonoff của riêng mình cho phích cắm và ổ cắm thông minh, vì vậy tôi đã cố gắng nhấp nháy đèn này bằng phần mềm đó.

Tôi cũng đã sử dụng chương trình cơ sở này để flash các phích cắm thông minh Sonof S20 và Sonoff S26 cũng như các công tắc thông minh Sonoff basic và Sonoff Basic R3. Cách mở và kết nối phần cứng thiết bị Sonoff để nhấp nháy được mô tả cho Tasmota tại wiki của tasmota, do đó, điều này không được mô tả ở đây.

Mở ổ cắm

Phích cắm thông minh được dán lại với nhau. Để mở nó, hãy đặt một tuốc nơ vít vào vết cắt trên mặt đất và tác động một số lực bằng cách sử dụng mặt còn lại của ổ cắm làm điểm xoay (gợi ý từ netpokin chủ đề này). Bằng cách này, bạn sẽ có thể lấy xà beng ra mà không làm hỏng ổ cắm.

Trong hình ảnh, bạn thấy bên trong phích cắm. Nó bao gồm một bo mạch chính với rơ le một pcb nhỏ hơn trên đó gắn chip ESP8266 và bộ nhớ. Các bảng được kết nối thông qua các kết nối hàn có thể truy cập được.

Bước 6: Sonoff hoặc BSD33 Smart Plug - Phần 2

Sonoff hoặc BSD33 Smart Plug - Phần 2
Sonoff hoặc BSD33 Smart Plug - Phần 2
Sonoff hoặc BSD33 Smart Plug - Phần 2
Sonoff hoặc BSD33 Smart Plug - Phần 2
Sonoff hoặc BSD33 Smart Plug - Phần 2
Sonoff hoặc BSD33 Smart Plug - Phần 2
Sonoff hoặc BSD33 Smart Plug - Phần 2
Sonoff hoặc BSD33 Smart Plug - Phần 2

Nhấp nháy

Tôi đã thiết kế ngược các kết nối hàn. Xem hình ảnh để biết mô tả của các kết nối. Tôi phát hiện ra rằng:

  • GPIO2 được kết nối với đèn LED (trong nút của phích cắm).
  • GPIO13 được kết nối với chính nút.
  • GPIO15 được kết nối với mosfet đóng ngắt rơ le chính.

Bạn có thể cấp nguồn và flash ESP8266 bằng bộ lập trình FTDI. Kết nối cáp dupont cái với các kết nối sau: (VCC (3.3V), GND, RX, TX và GPIO0)

GPIO0 là cần thiết để đưa ESP8266 vào chế độ chương trình. Kết nối nó với mặt đất khi cấp nguồn cho ESP8266.

Trên lập trình FTDI của tôi, tôi đã thêm một tụ điện 470uF giữa mặt đất và VCC. Trong một dự án khác, tôi phát hiện ra rằng điều này làm tăng sự ổn định.

Bộ lập trình FTDI có một số chân GND và VCC không sử dụng khác, bạn có thể sử dụng chúng để kết nối GPIO0 với GND.

Bước 7: Sonoff hoặc BSD33 Smart Plug - Phần 3

Sonoff hoặc BSD33 Smart Plug - Phần 3
Sonoff hoặc BSD33 Smart Plug - Phần 3
Sonoff hoặc BSD33 Smart Plug - Phần 3
Sonoff hoặc BSD33 Smart Plug - Phần 3
Sonoff hoặc BSD33 Smart Plug - Phần 3
Sonoff hoặc BSD33 Smart Plug - Phần 3
Sonoff hoặc BSD33 Smart Plug - Phần 3
Sonoff hoặc BSD33 Smart Plug - Phần 3

Chương trình cơ sở

Phần mềm cơ sở của tôi nằm trên Github của tôi.

Các phần chính của phần sụn

  • Kết nối với WiFi và máy chủ MQTT
  • Chuyển đổi thủ công khi trực tuyến và ngoại tuyến (khi khởi động)
  • Nếu rơ le được chuyển theo cách thủ công khi thiết bị ngoại tuyến, nó sẽ gửi trạng thái qua MQTT khi được kết nối lại
  • Trạng thái chuyển tiếp được lưu trữ trong bộ nhớ RTC (xem video này về bộ nhớ RTC của ESP8266)
  • Giao diện web để điều khiển công tắc và truy cập Webupdate cho OTA
  • Phần mềm phù hợp với phích cắm thông minh BSD33 này, nhưng cũng cho các thiết bị Sonoff: Sonoff S20, Sonoff S26, Sonoff basic, Sonof Basic R3

Tích hợp Openhab

Tôi sử dụng phích cắm này để kiểm soát nguồn điện của máy pha cà phê của mình. Qua Openhab và Google Home, tôi có thể điều khiển nó qua giọng nói.

Tôi đã thiết lập một bộ hẹn giờ để chuyển đổi máy pha cà phê của tôi sau một thời gian đặt trước, hãy xem hình ảnh của sơ đồ trang Openhab của tôi. Thời gian đặt trước được đưa vào NodeRed, với các thời gian đặt trước khác nhau vào các ngày trong tuần và các ngày cuối tuần.

Xem Github của tôi để biết ví dụ về các mục, quy tắc và tệp sơ đồ trang web.

Đề xuất: