Mục lục:
2025 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2025-01-13 06:58
Trước khi flash thiết bị Sonoff, bạn cần kết nối thiết bị với máy tính của mình.
Khi chúng tôi đã hàn tiêu đề nối tiếp, hãy lấy:
- Bốn cáp dupont (FR / DE), chọn bất kỳ đầu nối nào bạn cần cho các tiêu đề cụ thể mà bạn có (phía Sonoff và phía FTDI). Trong trường hợp của tôi, đây là nam (Sonoff) - nữ (FTDI);
- Bộ chuyển đổi FTDI sang USB (FR / DE);
- Cáp USB phù hợp với bộ chuyển đổi của bạn.
Kết nối cáp với Sonoff, kết nối cáp với FTDI, kết nối FTDI với USB, kết nối USB với máy tính.
Sau khi kiểm tra điều này, tôi đã quyết định dán các chân kết nối trên cáp lại với nhau. Vì có một khoảng trống ở phía FTDI giữa mặt đất và TX / RX / VCC, tôi đã thêm một chân nhựa dupont mà không có bất kỳ cáp nào làm chất đệm. Tôi cũng đánh dấu cáp GND ở mỗi bên để ngăn ngừa bất kỳ sai lầm nào.
CẢNH BÁO 1: Cổng trên Sonoff là 3,3V, hãy đảm bảo bạn sử dụng bộ điều hợp FTDI thích hợp và / hoặc đặt điện áp của nó cho phù hợp.
CẢNH BÁO 2: KHÔNG kết nối AC cùng lúc với FTDI
Bước 3: Xây dựng và cài đặt chương trình cơ sở
Chuẩn bị
Để biên dịch và cài đặt chương trình cơ sở, bạn cần:
- Một IDE, tôi đang sử dụng IO Nền tảng tuyệt vời (xem Bắt đầu);
- Nguồn và phần phụ thuộc chương trình cơ sở (lấy từ kho lưu trữ của tôi).
Tôi đã xây dựng dự án của mình dựa trên bản phác thảo mẫu IteadSonoffButton của Homie. Tôi thực hiện rất ít thay đổi, chủ yếu là thẩm mỹ (nhận xét + ghi nhật ký) và IDE (PlatformIO IDE thay vì Arduino IDE).
Biên dịch
Đảm bảo rằng bạn có thể biên dịch các nguồn. Điều đặc biệt quan trọng là đảm bảo bạn sử dụng bộ điều khiển mục tiêu thích hợp, đối với thiết bị Sonoff này, bạn sẽ cần chọn "Espressif Generic ESP8266 ESP-01 1M" (esp01_1m trong platformio.ini).
Khi quá trình biên dịch diễn ra tốt đẹp, chúng ta có thể tiến hành quá trình flash thực tế.
Tốc biến
Sonoff sẽ không lắng nghe bạn như hiện tại, hãy rút phích cắm, nhấn nút của nó và nhả nó ra sau khi bạn cắm lại. Cần phải nhấn nút TRƯỚC KHI bật nguồn để vào "chế độ flash". Điều này thực sự làm giảm GPIO 0 bằng cách kết nối nó với GND.
Bây giờ Sonoff đợi nhấp nháy, hãy gửi phần vững cho nó.
Nó còn sống
Xin chúc mừng! Bây giờ bạn là chủ sở hữu tự hào của một thiết bị Sonoff bị tấn công với phần mềm tùy chỉnh!
Hãy nhớ đọc trang Bắt đầu của Homie. Bạn sẽ cần tập trung vào cách định cấu hình nhà môi giới WIFI và MQTT, hãy xem Cấu hình - API HTTP JSON (liên kết trực tiếp đến ứng dụng di động và trang web).
Bước 4: Kiểm tra thiết bị
Phần cứng
Để đảm bảo nó hoạt động:
- Rút phích cắm của tất cả mọi thứ, bạn không muốn chiên Sonoff cũng như bản thân bạn;
- Kết nối cáp AC với đầu vào của thiết bị;
- Cắm cáp vào main.
Khi điều này được thực hiện, Sonoff sẽ khởi động vào "chế độ bình thường". Đó là, nó sẽ làm công việc của nó.
Phần mềm
Thiết bị homie sẽ tự quảng cáo cho nhà môi giới MQTT. Đối với điều này, tôi khá thích:
- Sử dụng homie-ota để biết tổng quan nhanh về các thiết bị và khả năng của chúng. Tuy nhiên, mục đích chính của nó là thực hiện cập nhật OTA;
- sử dụng MQTT.fx (Tôi đang sử dụng Windows) để kiểm tra thông báo trên nhà môi giới. Tôi cũng sử dụng nó để gửi tin nhắn đến các thiết bị.
Phần mềm: homie-ota
Đây là tập lệnh python khởi động máy chủ web. Từ đó bạn có thể đăng nhập vào trang web và nó sẽ cung cấp thông tin chi tiết cho bạn. Đảm bảo rằng bạn đọc cài đặt / readme và tạo tệp cấu hình của riêng bạn.
Phần mềm: MQTT.fx
Đây là một ứng dụng Windows hiển thị các chủ đề đã đăng ký và cung cấp khả năng gửi tin nhắn cùng với các nội dung bổ sung.
Nó sẽ là một loại đầu ra nối tiếp cho tất cả các thiết bị của bạn cùng một lúc. Vì điều này có thể khá dài dòng, bạn chỉ có thể hạn chế ("đăng ký") đối với các chủ đề cụ thể.
Để có công cụ bằng chứng "tin tặc" chung chung hơn, hãy xem mosquitto_pub và mosquitto_sub.
Bước 5: Lời cuối cùng
Chúng tôi đã đề cập đến khá nhiều chủ đề để "chỉ cần flash một chương trình cơ sở".
Tuy nhiên, đây là chủ đề cốt lõi của loại hack thiết bị IoT này. Bạn cần kết nối tất cả chúng lại với nhau và kết nối chúng với thế giới thực.
Kể từ những hướng dẫn trước đây của tôi về "tự động hóa gia đình", đây là lần đầu tiên thế giới thực bị ảnh hưởng. Thật thú vị!
Hãy nhớ để ý:
- Lập kế hoạch cho một hệ thống tự động hóa nhà tự làm
- Xây dựng thiết bị Homie cho IoT hoặc Tự động hóa gia đình
- Làm thế nào để kết nối các nút Homie với một máy chủ PiDome?
Hmm, có vẻ như tôi nên viết một PiDome (trên Twitter, rất nhiều thông tin cập nhật) có thể hướng dẫn ngay bây giờ:-)