Spisu treści:
- Krok 1: Co to jest MQTT?
- Krok 2: Instalacja brokera MQTT na Raspberry Pi
- Krok 3: Podłącz IOT Cricket do RaspberryPi przez MQTT
- Krok 4: Sprawdź wiadomości MQTT
- Krok 5: Podsumowanie
- Krok 6: O nas
Wideo: System automatyki domowej WiFi o bardzo niskim poborze mocy: 6 kroków (ze zdjęciami)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:26
W tym projekcie pokazujemy, jak w kilku krokach można zbudować podstawowy lokalny system automatyki domowej. Zamierzamy użyć Raspberry Pi, które będzie działać jako centralne urządzenie WiFi. Natomiast w przypadku węzłów końcowych zamierzamy użyć IOT Cricket do stworzenia zasilanych bateryjnie urządzeń WiFi, np. czujnik temperatury i podłącz go do RPi bez pisania ani jednej linijki kodu.
Nasz system będzie oparty na protokole komunikacyjnym MQTT, który jest szeroko stosowany w większości systemów automatyki domowej. Do konfiguracji wybieramy brokera Mosquitto MQTT (serwer) i instalujemy go na Raspberry Pi (naszym centralnym hubie).
IOT Cricket jest również wyposażony w obsługę protokołów HTTP (S) i MQTT. Konfigurujemy go tak, aby używał MQTT do bezpośredniej komunikacji z naszym brokerem RPi MQTT.
Ten projekt może być realizowany przez twórców na wszystkich poziomach umiejętności. Może wymagać podstawowego lutowania, ale nie wymaga żadnego kodowania ani programowania. Pod koniec tego projektu dowiesz się, jak łatwo zbudować własny system i szybko go rozbudować, dodając do systemu własne węzły końcowe IOT.
Kieszonkowe dzieci:
- Raspberry Pi (w tym projekcie użyliśmy wersji 3)
- Moduł IOT Cricket WiFi
- Uchwyt na 2 baterie AAA
- 2 baterie AAA
Krok 1: Co to jest MQTT?
Protokół MQTT zapewnia uproszczoną metodę przesyłania wiadomości przy użyciu modelu publikowania/subskrybowania. Dzięki temu nadaje się do przesyłania wiadomości Internetu rzeczy, takich jak czujniki o niskim poborze mocy lub urządzeń mobilnych, takich jak telefony, komputery wbudowane lub mikrokontrolery. (źródło: mosquitto.org)
Możemy korzystać z tylu urządzeń, ile chcemy, subskrybować tematy i nasłuchiwać nadchodzących wiadomości. Jeśli niektóre urządzenia opublikują wiadomość na ten temat, wszystkie urządzenia, które są subskrybowane do tego tematu, natychmiast otrzymają tę wiadomość. Tematem może być dowolny ciąg znaków zwykle łączony ze znakami /, aby umożliwić budowanie tematów hierarchicznych. Najbardziej typowym zastosowaniem MQTT jest posiadanie jednego centralnego serwera, na którym urządzenia mogą subskrybować i publikować wiadomości. Ułatwia wszelką komunikację między urządzeniami podłączonymi do tego serwera. W tym projekcie użyjemy RPi jako naszego centralnego brokera MQTT, a wszystkie inne urządzenia będą wysyłać wiadomości za pośrednictwem tego brokera. Najlepszym sposobem, aby się o tym dowiedzieć, jest oczywiście robienie tego samemu. Istnieje wiele zasobów dostępnych w Internecie na MQTT. Jednak w przypadku tego projektu powinieneś zadowolić się podstawowym wprowadzeniem, które podaliśmy powyżej.
Krok 2: Instalacja brokera MQTT na Raspberry Pi
W tym projekcie korzystamy z otwartego brokera Mosquitto MQTT. Jest lekki i nadaje się do użytku na wszystkich urządzeniach, od komputerów jednopłytowych o małej mocy po pełne serwery.
Zanim zaczniemy instalować, warto najpierw zaktualizować komponenty systemu:
$ sudo apt-get update$ sudo apt-get upgrade
Zainstaluj brokera Mosquitto. Otwórz terminal i wpisz następujące polecenie:
$ sudo apt-get install mosquitto -y
Skonfiguruj brokera Mosquitto. Edytuj plik konfiguracyjny:
$ sudo vi /etc/mosquitto/mosquitto.conf
i dodaj następujące wiersze u góry:
port 1883allow_anonymous prawda
Uruchom ponownie RPi, aby zastosować zmiany:
$ restart sudo
Otóż to! Nasz broker MQTT już działa!
UWAGA: w trosce o prostotę tego projektu nie tworzymy kont. Dzięki temu każdy w naszej sieci lokalnej może połączyć się z tym brokerem MQTT bez poświadczeń. Jeśli chcesz dodać uwierzytelnianie użytkownika i zwiększyć jego bezpieczeństwo, w Internecie znajdziesz wiele samouczków, jak to zrobić.
Teraz wystarczy uzyskać adres IP, abyśmy mogli wysyłać wiadomości do naszego brokera Mosquitto z innych urządzeń w sieci:
Uzyskaj adres IP:
$ nazwa hosta -I
twój_RPi_adres_IP (np. 192.168.1.10)
Krok 3: Podłącz IOT Cricket do RaspberryPi przez MQTT
W tym projekcie używamy modułu IOT Cricket WiFi do prostego czujnika, który co 30 sekund zgłasza temperaturę do naszego systemu. Będzie działał na baterii, dzięki czemu możemy go przykleić w dowolnym miejscu w domu lub ogrodzie. Później możesz użyć IOT Cricket, aby zbudować różne czujniki zasilane bateryjnie, alarmy, przyciski, przełączniki i podłączyć je również do naszego brokera RPi MQTT po wyjęciu z pudełka.
W pierwszym kroku podłącz baterie do Cricketa.
Cricket ma wbudowany czujnik temperatury. Musimy tylko skonfigurować go tak, aby wysyłał wartość temperatury do naszego brokera MQTT, ustawiając adres IP RPi. W tym celu otwórz panel konfiguracyjny Cricketa (patrz kroki tutaj) i zastosuj następujące ustawienia (jak pokazano na poniższym obrazku, proszę dostosuj adres IP w polu „url” do swojego RPi)
Teraz możemy wyjść z trybu konfiguracji. Urządzenie gotowe! Cricket wysyła już dane do naszego brokera MQTT co 30 sekund.
Krok 4: Sprawdź wiadomości MQTT
Do przeglądania/odbierania wiadomości wysyłanych do naszego brokera MQTT możemy skorzystać z różnych narzędzi.
Najprostszym może być narzędzie wiersza poleceń mosquitto_sub. Możemy zainstalować go na dowolnym komputerze w naszej sieci lub na naszym RPi za pomocą tego polecenia:
$ sudo apt-get install mosquitto-clients -y
Teraz możemy wykonać następujące polecenie, aby wysłuchać WSZYSTKICH tematów i wiadomości wysyłanych przez naszego brokera MQTT:
$ mosquitto_sub -v -h twój_RPi_adres_IP -p 1883 -t '#'
… / 59A98F494C / nazwa_urządzenia MyTemperatureDev / 59A98F494C / device_sn 59A98F494C / 59A98F494C / hwc_wake_up 3794 / 59A98F494C / hwc_wifi_enabled 3763 / 59A98F494C / hwc_message_sent 3664 / 59A98F494C / temp 26,0 / 59A98F494C / io1_wake_up 0 / 59A98F494C / rtc_wake_up 1 …
Powyższe jest wyjściowym przykładem tego, co IOT Cricket wysyła do naszego brokera. Wśród innych danych, które możemy zobaczyć, jest temperatura:
/59A98F494C/temp 26,0
Piękno MQTT polega na tym, że pozwala nam subskrybować tylko te tematy, które nas interesują. Jeśli chcemy otrzymać tylko temperaturę, możemy zasubskrybować temat /59A98F494C/temp za pomocą następującego polecenia:
$ mosquitto_sub -h twój_RPi_IP_address -t '/59A98F494C/temp'
…26.126.527.227.6…
Krok 5: Podsumowanie
W tym projekcie pokazaliśmy niezbędny sprzęt i oprogramowanie do rozpoczęcia budowy energooszczędnych, energooszczędnych systemów automatyki domowej w oparciu o WiFi. MQTT to esencja, na której można budować bardziej wyrafinowane systemy.
Ekosystem oprogramowania i usług, które można zintegrować z MQTT, jest OGROMNY! Istnieje wiele świetnych systemów, takich jak Home Assistant, Node RED, Grafana itp., które pozwalają wymyślić wspaniałe wrażenia użytkownika własnego systemu. Możemy nie tylko wykonać proste wydruki temperatury, ale możemy też mieć świetne pulpity nawigacyjne wizualizujące dane i zarządzające Twoimi urządzeniami.
Teraz, gdy mamy tę podstawową infrastrukturę systemową, niebo jest naszym limitem tego, jakie inne urządzenia WiFi możemy zbudować za pomocą modułów IOT Cricket i dodać do naszego systemu automatyki domowej.
Dzięki za przybycie tutaj. Mamy nadzieję, że podobał Ci się ten samouczek!
Zespół Things On Edge
Krok 6: O nas
Things On Edge to firma z siedzibą w Cambridge w Wielkiej Brytanii. Projektujemy moduł Cricket Wi-Fi o bardzo niskim zasilaniu bateryjnym, aby umożliwić Ci podłączenie różnych urządzeń elektronicznych do smartfonów lub innych usług internetowych dosłownie w ciągu kilku minut. Nie wymaga programowania ani kodowania. Umożliwia integrację urządzeń z ogromnym ekosystemem usług IOT za pośrednictwem interfejsu API MQTT i
Zalecana:
Łatwy BLE o bardzo niskim poborze mocy w Arduino Część 2 -- Monitor temperatury / wilgotności -- Rev 3: 7 kroków
Easy Very Low Power BLE w Arduino Część 2 -- Monitor temperatury / wilgotności -- Wersja 3: Aktualizacja: 23 listopada 2020 r. – Pierwsza wymiana 2 baterii AAA od 15 stycznia 2019 r., tj. 22 miesiące na 2 baterie alkaliczne AAA Aktualizacja: 7 kwietnia 2019 r. – Wersja 3 z lp_BLE_TempHumidity, dodaje wykresy Data/Czas, używając pfodApp V3.0.362+ i auto throttling
Alarm zalania piwnicy o bardzo niskim poborze mocy z ESP8266: 3 kroki
Alarm zalania piwnicy o bardzo niskim poborze mocy Z ESP8266: Witam, witam w moim pierwszym instruktażu. Piwnica mojego domu zostaje zalana co kilka lat z różnych powodów, takich jak ciężkie letnie burze z piorunami, wysoka woda gruntowa, a nawet pęknięcie rury. Chociaż nie jest to miłe miejsce, ale moje centralne ogrzewanie b
Potężny samodzielny system automatyki domowej - Pi, Sonoff, ESP8266 i Node-Red: 9 kroków (ze zdjęciami)
Potężny samodzielny system automatyki domowej - Pi, Sonoff, ESP8266 i Node-Red: Ten przewodnik powinien doprowadzić Cię do pierwszej bazy, w której możesz włączyć / wyłączyć światło lub urządzenie za pomocą dowolnego urządzenia, które może połączyć się z siecią lokalną i świetny konfigurowalny interfejs sieciowy. Możliwości rozbudowy/dodawania funkcji są ogromne, w tym
System automatyki domowej wykorzystujący Arduino i moduł Bluetooth HC-05: 5 kroków (ze zdjęciami)
System automatyki domowej wykorzystujący Arduino i moduł Bluetooth HC-05: Hej chłopaki, jak sobie radzicie! Dziś jestem tutaj z moim drugim Instruktażem Arduino. Jest to system automatyki domowej sterowany przez Bluetooth. Możesz sterować urządzeniami domowymi tylko ze smartfona. rzeczy Działa Idealnie! Zaprojektowałem również aplikację
Komputer multimedialny / serwer plików o niskim poborze mocy, recykling, #2: 8 kroków
Komputer multimedialny / serwer plików o niskim poborze mocy, recykling, nr 2: Użyj płyty głównej o małym formacie, która może zbierać kurz w garażu, kilku innych komponentów ze skrzynki na śmieci komputera oraz prostego kodu HTML i skryptu, tworząc MidniteBoy …Znowu!To kolejna wersja projektu, który publikuję