Spisu treści:

Jak korzystać z MQTT z Raspberry Pi i ESP8266/sonoff: 4 kroki
Jak korzystać z MQTT z Raspberry Pi i ESP8266/sonoff: 4 kroki

Wideo: Jak korzystać z MQTT z Raspberry Pi i ESP8266/sonoff: 4 kroki

Wideo: Jak korzystać z MQTT z Raspberry Pi i ESP8266/sonoff: 4 kroki
Wideo: WŁASNY SMARTHOME za DARMO? - Home Assistant Poradnik 2024, Listopad
Anonim
Jak korzystać z MQTT z Raspberry Pi i ESP8266/sonoff
Jak korzystać z MQTT z Raspberry Pi i ESP8266/sonoff

Witam wszystkich!

Dzisiaj pokażę, jak skonfigurować przełącznik przekaźnikowy sonoff wifi oparty na raspberry pi i ESP8266, aby sterować urządzeniami gospodarstwa domowego z dowolnego miejsca na świecie.

Pod koniec tej instrukcji, jeśli dokładnie postępujesz zgodnie z moimi instrukcjami, będziesz mógł sterować dowolnym urządzeniem gospodarstwa domowego z terminala Raspberry Pi lub za pomocą powłoki Pythona.

Przygotuj się więc na stworzenie własnego kontrolera urządzenia Sonoff Wifi opartego na MQTT i Rpi!

Przed rozpoczęciem tej instrukcji chciałbym wspomnieć o kilku bardzo ważnych rzeczach,

  1. Przełącznik przekaźnika sonoff wifi jest dostarczany z własnym oprogramowaniem sterującym. po przeprogramowaniu oryginalne oprogramowanie układowe jest trwale usuwane. Więc upewnij się, że.
  2. Przełącznik przekaźnikowy sonoff wifi jest bezpośrednio zasilany napięciem 230 V AC, więc jeśli nie jesteś ekspertem w obsłudze tak wysokich napięć, skorzystaj z pomocy rodziców lub osoby eksperta.
  3. Przełącznik przekaźnika wifi sonoff jest po prostu oparty na chipsecie wifi esp8266-01, który jest układem 3,3 V, jeśli przypadkowo przyłożysz 5 V do jego pinu + V, na pewno go uszkodzisz.
  4. Tutaj dla tej instrukcji, pomyślałem, że masz wszystkie ustawienia raspberry pi i Wi-Fi z adresem IP, aby uruchomić polecenia komara i MQTT w Terminalu

** Jeśli jesteś gotowy na wszystkie powyższe 4 kroki, możesz zacząć !!

Krok 1: Wprowadzenie + materiały eksploatacyjne

Wprowadzenie + materiały eksploatacyjne
Wprowadzenie + materiały eksploatacyjne
Wprowadzenie + materiały eksploatacyjne
Wprowadzenie + materiały eksploatacyjne

Cześć chłopaki! dzisiaj zbudujemy bardzo ciekawy projekt. W tym projekcie zamierzamy sterować naszymi urządzeniami domowymi, takimi jak lampa AC, za pomocą brokera MQTT.

Uwaga: jest to projekt IOT, dlatego możesz sterować urządzeniem AC z dowolnego miejsca na świecie

MQTT (Massage Que Telemetry Transport) to prosty protokół transferu ładunku używany w wielu projektach internetowych. Facebook messenger korzysta również z protokołu MQTT. dość wstępu, zacznijmy od Project.

Czego potrzebujemy do tego projektu?

1) Aktywne połączenie Wifi (najlepiej z routerem)

2) Model Raspberry Pi3 z włączoną funkcją Wi-Fi.

3) Przełącznik Sonoff Wifi IOT z 10A 220 V

4) Niektóre przewody łączące

5) Kable rozruchowe

6) CP2102 konwerter USB na TTL

  • Uwaga: w przypadku tego projektu musisz mieć wszystkie ustawienia raspberry pi z połączeniem klawiatury monitora lub w trybie bezgłowym z laptopem (połączenie VNC)
  • jeśli nie masz skonfigurowanego raspberry pi z monitorem lub trybem bezgłowym, musisz postępować zgodnie z moim innym samouczkiem, jak podłączyć raspberry pi w trybie bezgłowym.

Krok 2: Konfiguracja Raspberry Pi

Konfiguracja Raspberry Pi
Konfiguracja Raspberry Pi

W tym kroku skonfigurujemy nasze raspberry pi dla projektu.

w tym samouczku używamy sonoff ESP8266 jako klienta i raspberry pi jako brokera komarów.

  1. otwórz terminal raspberry pi i wpisz

    1. aktualizacja sudo apt-get
    2. aktualizacja sudo apt-get Po zaktualizowaniu twojego raspberry Pi najnowszym oprogramowaniem możesz rozpocząć dowolny projekt na swoim pi
  2. Teraz wpisz następujące polecenia, aby zainstalować Mosquitto

    1. wget
    2. sudo apt-key dodaj mosquitto-repo.gpg.key
    3. cd /etc/apt/sources.list.d/
    4. sudo wget
    5. sudo-i
    6. aktualizacja apt-get
    7. apt-get install mosquitto
    8. apt-get install mosquitto-clients
  3. Po pomyślnym wykonaniu wszystkich powyższych instrukcji masz przygotowaną maszynę z skonfigurowanym brokerem mosquitto i jesteś gotowy do następnego kroku.
  4. Ponownie w swoim terminalu wpisz następujące polecenia:
    1. sudo pip zainstaluj paho-mqtt
    2. sudo pip3 zainstaluj paho-mqtt
  5. Teraz, aby sprawdzić, czy twój klient Mosquitto został pomyślnie zainstalowany, otwórz powłokę python2 lub python3 i wpisz następujące polecenie

    1. import paho.mqtt.client
    2. to nie powinno niczego zwracać. jeśli zwróci jakikolwiek wiersz lub błąd, sprawdź ponownie powyższe kroki i ponownie wykonaj je ostrożnie.
  6. Teraz twoja część Raspberry Pi jest prawie gotowa i możesz teraz wybrać część Sonoff i Arduino

Krok 3: Konfiguracja urządzenia Sonoff Esp8266 dla MQTT

Konfigurowanie urządzenia Sonoff Esp8266 dla MQTT
Konfigurowanie urządzenia Sonoff Esp8266 dla MQTT
Konfigurowanie urządzenia Sonoff Esp8266 dla MQTT
Konfigurowanie urządzenia Sonoff Esp8266 dla MQTT
Konfigurowanie urządzenia Sonoff Esp8266 dla MQTT
Konfigurowanie urządzenia Sonoff Esp8266 dla MQTT

Teraz w tym kroku skonfigurujemy nasze urządzenie klienckie, którym jest Sonoff.

sonoff to urządzenie do automatyki domowej Wi-Fi, które jest dostarczane z preinstalowanym oprogramowaniem układowym do automatyki domowej opartej na Wi-Fi i aplikacją Android/ios do sterowania urządzeniami przez Wi-Fi.

Oto prosty hack, aby przeprogramować go w sposób, w jaki chcemy. po przeprogramowaniu za pomocą Arduino ide utracisz oryginalne oprogramowanie układowe preinstalowane na sonoff.

  1. najpierw ostrożnie otwórz urządzenie sonoff i zwróć uwagę na wyprowadzenia pokazane na obrazku NIEBEZPIECZEŃSTWO: urządzenie sonoff działa na bezpośrednim zasilaniu prądem zmiennym 220 V, przed otwarciem lub programowaniem należy je najpierw odłączyć.
  2. Teraz spójrz na poniższy obrazek przedstawiający jego wyprowadzenia, na spodzie płytki drukowanej znajduje się układ esp8266, który jest podobny do modułu esp8266-01.
  3. Teraz otwórz Arduino IDE i dodaj niezbędne biblioteki Zip. Biblioteka PUBSUB_client
  4. Ponadto musisz dodać płytkę esp8266 do swojego ide Arduino. jeśli nie został jeszcze dodany, postępuj zgodnie z instrukcjami

    1. Otwórz swoje Arduino IDE i kliknij „Plik -> Preferencje”.
    2. „https://arduino.esp8266.com/stable/package_esp8266com_index.json”
    3. W "Additional Boards Manager URLs" dodaj powyższy link i kliknij "OK"
    4. Przejdź do "Narzędzia -> Tablica -> Menedżer tablic", wpisz "ESP8266" i zainstaluj.
    5. Przejdź ponownie do "Narzędzia -> Płytka" i wybierz "Ogólny moduł ESP8266".
    6. Teraz pomyślnie dodałeś płytkę do swojego Arduino IDE.
  5. Teraz musisz przylutować jedno złącze żeńskie do urządzenia sonoff, jak pokazano na obrazku.
  6. Teraz weź kartę USB do TTL CP2102 lub FTDI i wykonaj następujące połączenie zgodnie z obrazem pokazanym powyżej.

    1. RX FTDI do TX Sonoff
    2. TX FTDI do RX Sonoff
    3. GND FTDI do GND Sonoff
    4. 3.3V FTDI do 3.3V Sonoff
  7. UWAGA: Upewnij się, że nie zasilasz płyty sonoff napięciem 5V. Jest kompatybilny z 3.3 V, jeśli podłączysz 5 V do pinu zasilania, możesz spalić swoje urządzenie sonoff. dlatego lepiej używaj tylko zasilania 3.3 v płyty FTDI.
  8. teraz wykonaj połączenie, jak pokazano na obrazku.
  9. Skończ z powyższymi krokami. podłącz płytę FTDI/USB do TTL do laptopa/PC i otwórz Arduino IDE.
  10. Skopiuj kod.

11. Teraz wybierz odpowiedni port COM z menu Narzędzia i wybierz urządzenie jako ogólne urządzenie ESP8266. Teraz naciśnij przycisk przesyłania. Załadowanie kodu do chipa esp8266 urządzenia sonoff zajmie około minuty lub mniej.

12. Teraz jesteś gotowy do programowania sonoff i Arduino. i teraz powinieneś zobaczyć migającą diodę na płycie sonoff // jak pisaliśmy 5 razy miga na początku.

13. Możesz przejść do następnego kroku.

Krok 4: Kontroluj Sonoff z Internetu

Kontroluj swój Sonoff z sieci
Kontroluj swój Sonoff z sieci

To już ostatni krok do naszego projektu.

  1. teraz otwórz połączenie zdalnego pulpitu VNC z raspberry pi, wprowadzając adres IP dla swojego Pi
  2. teraz otwórz terminal i zacznij wpisywać następujące polecenia
  3. tutaj dioda jest tematem, a „0” to ładunek
  4. zmień adres IP w poleceniu za pomocą adresu IP Rpi
  5. A zamiast „0” wpisz „1”, co spowoduje włączenie twojego przekaźnika na przełączniku wifi sonoff.

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

Powyższa instrukcja wyłączy Twój przekaźnik.

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

Ta instrukcja włączy Twój przekaźnik.

Teraz skończyłeś kontrolować swoje sonoff z terminala Rpi.

możesz to sprawdzić, podłączając przełącznik Wi-Fi sonoff do innej sieci Wi-Fi, a raspberry pi do innego połączenia Wi-Fi. Powinieneś mieć możliwość sterowania przekaźnikiem z dowolnego miejsca na świecie.

Teraz jeszcze dalej chcesz automatycznie przetestować włączanie / wyłączanie swojego sonoffa. Napisałem mały skrypt Pythona

który najpierw wysyła "1", a po 6 sekundach wysyła "0" i ten proces powtarza się w pętli.

zaimportuj paho.mqtt.publish jako czas publikowania importu

Chociaż prawda:

print("Wysyłanie 1…") publish.single("ledStatus", "1", hostname="Twoje IP brokera") time.sleep(6) print("Wysyłanie 0…") publish.single("ledStatus", "0", hostname="Twój adres IP brokera") time.sleep(3)

Powyższy kod po prostu włącza i wyłącza przekaźnik na przełączniku przekaźnikowym sonoff wifi.

nie zapomnij zastąpić adresu IP RaspberryPi w powyższym kodzie Pythona. teraz uruchom ten skrypt, klikając opcję uruchom moduł i powinieneś zobaczyć na powłoce

wysyłanie "1"..

wysyłanie "0"..

wysyłając "1".. coś takiego.

To wszystko w przypadku tego Instruktażu. do zobaczenia następnym razem z nowym.

Do widzenia!!!!

i nie zapomnij śledzić i udostępniać tę instrukcję i wypróbować ją samodzielnie!

wszelkie wątpliwości w komentarzach są mile widziane!

Zalecana: