Spisu treści:

System automatyki domowej WiFi o bardzo niskim poborze mocy: 6 kroków (ze zdjęciami)
System automatyki domowej WiFi o bardzo niskim poborze mocy: 6 kroków (ze zdjęciami)

Wideo: System automatyki domowej WiFi o bardzo niskim poborze mocy: 6 kroków (ze zdjęciami)

Wideo: System automatyki domowej WiFi o bardzo niskim poborze mocy: 6 kroków (ze zdjęciami)
Wideo: Pudzianowski do Szpilki - dostaniesz bęcki,będzie lewatywa! #walka #mma #ksw #szpilka #pudzianowski 2024, Listopad
Anonim
System automatyki domowej WiFi o bardzo niskim poborze mocy
System automatyki domowej WiFi o bardzo niskim poborze mocy
System automatyki domowej WiFi o bardzo niskim poborze mocy
System automatyki domowej WiFi o bardzo niskim poborze mocy

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

Połącz IOT Cricket z RaspberryPi przez MQTT
Połącz IOT Cricket z RaspberryPi przez MQTT
Połącz IOT Cricket z RaspberryPi przez MQTT
Połącz IOT Cricket z 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

Sprawdź wiadomości MQTT
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

Streszczenie
Streszczenie

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: