Mục lục:

Cách sử dụng MQTT với Raspberry Pi và ESP8266 / sonoff: 4 bước
Cách sử dụng MQTT với Raspberry Pi và ESP8266 / sonoff: 4 bước

Video: Cách sử dụng MQTT với Raspberry Pi và ESP8266 / sonoff: 4 bước

Video: Cách sử dụng MQTT với Raspberry Pi và ESP8266 / sonoff: 4 bước
Video: [Tuya-Convert] OTA Tuya sang Tasmota | Hướng dẫn và Hiệu chỉnh 2024, Tháng mười một
Anonim
Cách sử dụng MQTT với Raspberry Pi và ESP8266 / sonoff
Cách sử dụng MQTT với Raspberry Pi và ESP8266 / sonoff

Chào mọi người!

Hôm nay tôi sẽ chỉ cho bạn cách cấu hình công tắc chuyển tiếp sóng wifi sonoff dựa trên raspberry pi và ESP8266 để điều khiển các thiết bị gia dụng của bạn từ bất kỳ đâu trên thế giới.

Đến cuối hướng dẫn này, nếu bạn đã cẩn thận làm theo hướng dẫn của tôi, bạn sẽ có thể điều khiển bất kỳ thiết bị gia đình nào của mình từ thiết bị đầu cuối của Raspberry Pi hoặc bằng cách sử dụng python shell.

Vì vậy, hãy sẵn sàng tạo bộ điều khiển Thiết bị Wifi Sonoff dựa trên MQTT và Rpi của riêng bạn!

Trước khi bắt đầu hướng dẫn này, tôi muốn đề cập đến một số điều rất quan trọng,

  1. Công tắc chuyển tiếp sóng wifi sonoff đi kèm với phần mềm điều khiển riêng. khi bạn lập trình lại nó, phần sụn gốc sẽ bị xóa vĩnh viễn. Vì vậy, hãy đảm bảo điều đó.
  2. Công tắc chuyển tiếp sóng wifi sonoff được cấp nguồn trực tiếp qua điện áp xoay chiều 230V, vì vậy nếu bạn không phải là chuyên gia trong việc xử lý điện áp cao như vậy, hãy nhờ sự giúp đỡ của cha mẹ hoặc người có chuyên môn.
  3. Công tắc chuyển tiếp sóng wifi sonoff đơn giản dựa trên chipset wifi esp8266-01 là chip 3.3V, nếu bạn vô tình áp 5V vào chân + V của nó thì chắc chắn bạn sẽ làm hỏng nó.
  4. Ở đây cho hướng dẫn này, tôi đã xem xét rằng bạn đã thiết lập xong raspberry pi của mình và bật wifi với địa chỉ IP để chạy các lệnh mosquitto và MQTT trong Terminal

** Nếu bạn đã sẵn sàng với tất cả 4 bước trên, bạn đã sẵn sàng !!

Bước 1: Giới thiệu + Nguồn cung cấp

Giới thiệu + Nguồn cung cấp
Giới thiệu + Nguồn cung cấp
Giới thiệu + Nguồn cung cấp
Giới thiệu + Nguồn cung cấp

Xin chào các bạn! hôm nay chúng ta sẽ xây dựng một dự án rất thú vị. Ở đây trong dự án này, Chúng tôi sẽ điều khiển các thiết bị Gia đình của chúng tôi, chẳng hạn như đèn AC bằng môi giới MQTT.

Lưu ý: Đây là một Dự án IOT do đó bạn có thể điều khiển thiết bị AC của mình từ mọi nơi trên thế giới

MQTT (Massage Que Telemetry Transport) là một giao thức Truyền tải trọng đơn giản được sử dụng trong một số dự án Web. Facebook Messenger cũng sử dụng Giao thức MQTT. giới thiệu đủ rồi hãy bắt đầu với Project.

Chúng ta cần gì cho Dự án này?

1) Kết nối Wifi đang hoạt động (tốt nhất là bộ định tuyến)

2) Mô hình Raspberry Pi3 đã bật Wi-Fi trên đó.

3) Công tắc IOT Wifi Sonoff với 10A 220V

4) Một số dây kết nối

5) Cáp Jumper

6) Bộ chuyển đổi CP2102 USB sang TTL

  • Lưu ý: đối với dự án này, bạn phải thiết lập tất cả raspberry pi với kết nối bàn phím màn hình hoặc ở chế độ không sử dụng với máy tính xách tay của bạn (kết nối VNC)
  • nếu bạn không có raspberry pi tất cả được thiết lập với màn hình hoặc chế độ không đầu, bạn phải làm theo hướng dẫn khác của tôi về cách kết nối raspberry pi ở chế độ không đầu.

Bước 2: Thiết lập Raspberry Pi

Thiết lập Raspberry Pi
Thiết lập Raspberry Pi

Trong Bước này, chúng tôi sẽ thiết lập pi raspberry của chúng tôi cho Dự án.

trong hướng dẫn này, chúng tôi đang sử dụng sonoff ESP8266 làm ứng dụng khách và raspberry pi làm nhà môi giới mosquitto.

  1. mở thiết bị đầu cuối pi raspberry của bạn và nhập

    1. sudo apt-get cập nhật
    2. nâng cấp sudo apt-get Sau khi raspberry Pi của bạn được cập nhật chương trình cơ sở mới nhất, bạn có thể thực hiện bất kỳ dự án nào trên pi của mình
  2. Bây giờ gõ các lệnh sau để cài đặt Mosquitto

    1. wget
    2. sudo apt-key thêm mosquitto-repo.gpg.key
    3. cd /etc/apt/sources.list.d/
    4. sudo wget
    5. sudo -i
    6. apt-get cập nhật
    7. apt-get cài đặt mosquitto
    8. apt-get cài đặt mosquitto-client
  3. Khi bạn đã thực hiện thành công tất cả các hướng dẫn ở trên, bạn đã có máy của mình sẵn sàng với thiết lập môi giới mosquitto và bạn đã sẵn sàng bước tiếp theo.
  4. Một lần nữa trong thiết bị đầu cuối của bạn, hãy nhập các lệnh sau:
    1. sudo pip cài đặt paho-mqtt
    2. sudo pip3 cài đặt paho-mqtt
  5. Bây giờ để kiểm tra xem ứng dụng khách mosquitto của bạn đã được cài đặt thành công hay chưa, hãy mở trình bao python2 hoặc python3 và nhập lệnh sau

    1. nhập paho.mqtt.client
    2. điều này sẽ không trả lại bất cứ điều gì. Nếu trả về bất kỳ dòng nào hoặc lỗi, hãy kiểm tra lại các bước trên và làm theo các bước cẩn thận một lần nữa.
  6. Bây giờ Phần Raspberry Pi của bạn gần như đã hoàn thành và bạn có thể bắt đầu phần Sonoff và Arduino ngay bây giờ

Bước 3: Thiết lập thiết bị Sonoff Esp8266 cho MQTT

Thiết lập thiết bị Sonoff Esp8266 cho MQTT
Thiết lập thiết bị Sonoff Esp8266 cho MQTT
Thiết lập thiết bị Sonoff Esp8266 cho MQTT
Thiết lập thiết bị Sonoff Esp8266 cho MQTT
Thiết lập thiết bị Sonoff Esp8266 cho MQTT
Thiết lập thiết bị Sonoff Esp8266 cho MQTT

Bây giờ trong bước này, chúng tôi sẽ thiết lập thiết bị khách của chúng tôi là Sonoff.

sonoff là một thiết bị tự động hóa wifi trong nhà đi kèm với phần mềm cơ sở được cài đặt sẵn để tự động hóa gia đình dựa trên wifi và ứng dụng android / ios để điều khiển các thiết bị qua wifi.

Bây giờ đây là một bản hack đơn giản để lập trình lại nó theo cách chúng ta muốn. sau khi lập trình lại với Arduino Ide, bạn sẽ mất phần sụn gốc được cài đặt sẵn trên sonoff.

  1. trước tiên, hãy mở thiết bị sonoff của bạn một cách cẩn thận và tìm các sơ đồ chân được hiển thị trong hình ảnh NGUY HIỂM: thiết bị sonoff hoạt động trên nguồn AC trực tiếp 220V, bạn phải cắm nó trước khi mở hoặc lập trình.
  2. Bây giờ hãy xem hình ảnh dưới đây cho sơ đồ chân của nó, ở mặt dưới của PCB có một chip esp8266 mà bạn thấy tương tự như mô-đun esp8266-01 của bạn.
  3. Bây giờ hãy mở Arduino IDE và thêm các thư viện Zip cần thiết. Thư viện PUBSUB_client
  4. Ngoài ra, bạn phải có thêm bo mạch esp8266 vào lý tưởng Arduino của mình. nếu chưa được thêm, hãy làm theo các bước

    1. Mở IDE Arduino của bạn và nhấp vào "Tệp -> Tùy chọn".
    2. "https://arduino.esp8266.com/stable/package_esp8266com_index.json"
    3. Trong "URL trình quản lý bảng bổ sung", hãy thêm liên kết này ở trên và nhấp vào "OK"
    4. Vào "Tools -> Board -> Boards Manager", gõ "ESP8266" và cài đặt nó.
    5. Vào lại "Tools -> Board" và chọn "Generic ESP8266 Module".
    6. Bây giờ bạn đã thêm thành công bảng vào Arduino IDE của mình.
  5. Bây giờ bạn phải hàn một đầu nối cái vào thiết bị sonoff như thể hiện trong hình ảnh.
  6. Bây giờ lấy USB sang bảng TTL CP2102 hoặc FTDI và thực hiện kết nối sau theo Hình ảnh hiển thị ở trên.

    1. RX của FTDI đến TX của Sonoff
    2. TX của FTDI thành RX của Sonoff
    3. GND của FTDI sang GND của Sonoff
    4. 3,3V FTDI đến 3,3V Sonoff
  7. LƯU Ý: Đảm bảo rằng bạn không cấp nguồn cho bo mạch sonoff với 5V. nó tương thích 3.3V nếu kết nối 5V của bạn với chân Nguồn của nó, bạn có thể làm cháy thiết bị sonoff của mình. do đó tốt hơn chỉ sử dụng nguồn cung cấp 3.3v của bảng FTDI.
  8. bây giờ thực hiện kết nối như được hiển thị trong một hình ảnh.
  9. Một của bạn được thực hiện với các bước trên. kết nối FTDI / USB của bạn với bảng TTL với máy tính xách tay / PC và mở Arduino IDE.
  10. Sao chép mã.

11. Bây giờ chọn cổng COM thích hợp từ menu Công cụ và chọn thiết bị làm thiết bị ESP8266 chung. Bây giờ nhấn nút tải lên. Sẽ mất khoảng một phút hoặc ít hơn để tải mã vào chip esp8266 của thiết bị sonoff.

12. Bây giờ bạn đã sẵn sàng với lập trình sonoff và Arduino. và bây giờ bạn sẽ thấy đèn led trên bảng sonoff nhấp nháy // như chúng tôi đã viết nhấp nháy 5 lần khi bắt đầu.

13. Bạn thật tốt để đi đến bước tiếp theo.

Bước 4: Kiểm soát Sonoff của bạn từ Web

Kiểm soát Sonoff của bạn từ Web
Kiểm soát Sonoff của bạn từ Web

Bây giờ, đây là bước cuối cùng cho dự án của chúng tôi.

  1. bây giờ hãy mở kết nối máy tính từ xa VNC của raspberry pi bằng cách nhập địa chỉ IP cho Pi của bạn
  2. bây giờ hãy mở terminal và bắt đầu nhập các lệnh sau
  3. ở đây đã dẫn là chủ đề và "0" là trọng tải
  4. thay đổi địa chỉ IP trong lệnh bằng địa chỉ IP Rpi của bạn
  5. Và thay vì "0", hãy viết "1" sẽ bật chuyển tiếp của bạn trên công tắc wifi sonoff.

mosquitto_pub -h 192.168.0.104 -t led -m "0"

Hướng dẫn trên sẽ tắt rơ le của bạn.

mosquitto_pub -h 192.168.0.104 -t dẫn -m "1"

Hướng dẫn này sẽ Bật rơ le của bạn.

Bây giờ bạn đã hoàn tất việc kiểm soát sonoff của mình từ thiết bị đầu cuối Rpi.

bạn có thể kiểm tra bằng cách kết nối bộ chuyển mạch wifi sonoff với một mạng wifi khác và raspberry pi với một kết nối wifi khác. Bạn sẽ có thể điều khiển rơle từ bất kỳ nơi nào trên thế giới.

Bây giờ, thậm chí bạn còn muốn tự động kiểm tra BẬT / TẮT của sonoff của mình, tôi đã viết một đoạn mã python nhỏ

sẽ gửi "1" trước và sau 6 giây, nó sẽ gửi "0" và quá trình này lặp lại trong một vòng lặp.

nhập paho.mqtt.publish dưới dạng thời gian xuất bản

Trong khi Đúng:

print ("Đang gửi 1…") Publishing.single ("ledStatus", "1", hostname = "IP nhà môi giới của bạn") time.sleep (6) print ("Đang gửi 0…") publish.single ("ledStatus", "0", hostname = "IP nhà môi giới của bạn") time.sleep (3)

Đoạn mã trên chỉ đơn giản là bật tắt relay trên công tắc relay wifi sonoff.

đừng quên thay thế địa chỉ IP của RaspberryPi của bạn trong mã python ở trên. bây giờ hãy chạy tập lệnh này bằng cách nhấp vào mô-đun chạy tùy chọn và bạn sẽ thấy trên shell

đang gửi "1"..

đang gửi "0"..

gửi "1".. một cái gì đó như thế này.

Đó là nó cho điều này có thể hướng dẫn. hẹn gặp lại lần sau với một cái mới.

Từ biệt!!!!

và đừng quên theo dõi và chia sẻ hướng dẫn này và thử nó của riêng bạn!

bất kỳ nghi ngờ đăng trong phần bình luận được hoan nghênh!

Đề xuất: