Tartalomjegyzék:
- 1. lépés: Mi az MQTT?
- 2. lépés: Az MQTT Broker telepítése a Raspberry Pi -re
- 3. lépés: Csatlakoztassa az IOT Cricket -et a RaspberryPi -hez az MQTT -n keresztül
- 4. lépés: Vizsgálja meg az MQTT üzeneteket
- 5. lépés: Összefoglalás
- 6. lépés: Rólunk
Videó: Ultra alacsony fogyasztású WiFi otthoni automatizálási rendszer: 6 lépés (képekkel)
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:39
Ebben a projektben megmutatjuk, hogyan lehet néhány lépésben felépíteni egy alapvető helyi otthoni automatizálási rendszert. Raspberry Pi -t fogunk használni, amely központi WiFi eszközként fog működni. Míg a végcsomópontokhoz az IOT Cricket segítségével fogunk elemmel működő WiFi eszközöket készíteni, pl. hőmérséklet -érzékelőt, és csatlakoztassa az RPi -hez anélkül, hogy egyetlen kód sort írna.
Rendszerünk az MQTT kommunikációs protokollon alapul, amelyet a legtöbb otthoni automatizálási rendszer nagymértékben elfogad. A beállításhoz a Mosquitto MQTT broker (szerver) lehetőséget választjuk, és a Raspberry Pi -re (központi hubunk) telepítjük.
Az IOT Cricket HTTP (S) és MQTT protokollokat is támogat. Úgy konfiguráljuk, hogy az MQTT segítségével kommunikáljon közvetlenül az RPi MQTT brókerünkkel.
Ezt a projektet a készítők minden képzettségi szinten megvalósíthatják. Előfordulhat, hogy alapvető forrasztást igényel, de nem igényel kódolást vagy programozást. A projekt végén szilárd ötletet kaphat arról, hogyan lehet egyszerűen felépíteni saját rendszerét és gyorsan kiterjeszteni a saját IOT végcsomópontjainak hozzáadásával a rendszerhez.
Kellékek:
- Raspberry Pi (ehhez a projekthez a 3. verziót használtuk)
- IOT Cricket WiFi modul
- 2xAAA elemtartó
- 2xAAA elemek
1. lépés: Mi az MQTT?
Az MQTT protokoll könnyű módszert kínál az üzenetküldés közzétételi/előfizetési modell használatával. Ez alkalmassá teszi a tárgyak internetes üzenetküldésére, például kis fogyasztású érzékelők vagy mobileszközök, például telefonok, beágyazott számítógépek vagy mikrovezérlők számára. (forrás: mosquitto.org)
Annyi eszközt használhatunk, amennyit fel akarunk iratkozni a témákra, és hallgatni tudjuk az üzenetek megérkezését. Ha néhány eszköz közzétesz egy üzenetet a témában, akkor minden eszköz, amely előfizetett a témára, azonnal megkapja az üzenetet. A téma tetszőleges karakterlánc lehet, amelyet általában / karakterekkel kapcsolnak össze, hogy hierarchikus témákat hozzanak létre. Az MQTT legjellemzőbb felhasználási módja az, hogy van egy központi szervere, amelyre az eszközök feliratkozhatnak és közzétehetnek üzeneteket. Ez megkönnyíti az összes kommunikációt az adott szerverhez csatlakoztatott eszközök között. Ebben a projektben az RPi -t fogjuk használni, mint központi MQTT brókerünk, és minden más eszköz ezen a közvetítőn keresztül fog üzeneteket küldeni. A legjobb módja annak, hogy megismerjük ezt, nyilvánvalóan az, ha magunk csináljuk. Rengeteg forrás áll rendelkezésre az interneten az MQTT -n. Ehhez a projekthez azonban alapos bevezetővel kell rendelkeznie, amelyet fent ismertettünk.
2. lépés: Az MQTT Broker telepítése a Raspberry Pi -re
Ehhez a projekthez egy nyílt forráskódú Mosquitto MQTT brókert használunk. Könnyű, és minden eszközön használható, az alacsony teljesítményű egylapos számítógépektől a teljes szerverekig.
A telepítés megkezdése előtt jó gyakorlat, ha először frissíti a rendszer összetevőit:
$ sudo apt-get update $ sudo apt-get upgrade
Telepítse a Mosquitto brokert. Nyisson meg egy terminált, és írja be a következő parancsot:
$ sudo apt -get install mosquitto -y
A Mosquitto bróker beállítása. Konfigurációs fájl szerkesztése:
$ sudo vi /etc/mosquitto/mosquitto.conf
és a tetejére tegye a következő sorokat:
port 1883allow_anonymous true
A módosítások alkalmazásához indítsa újra az RPi -t:
$ sudo újraindítás
Ez az! Az MQTT brókerünk most működik!
MEGJEGYZÉS: a projekt egyszerűsége érdekében nem hozunk létre fiókokat. Tehát a helyi hálózatunkon belül bárki csatlakozhat ehhez az MQTT brókerhez hitelesítő adatok nélkül. Ha hozzá szeretné adni a felhasználói hitelesítést, és biztonságosabbá szeretné tenni, akkor rengeteg oktatóanyag található az interneten, hogyan kell csinálni.
Most csak meg kell szereznünk az IP -címet, hogy üzeneteket küldhessünk Mosquitto közvetítőnknek a hálózat más eszközeiről:
IP -cím beszerzése:
$ hostname -I
a_RPi_IP_cím (pl. 192.168.1.10)
3. lépés: Csatlakoztassa az IOT Cricket -et a RaspberryPi -hez az MQTT -n keresztül
Ebben a projektben az IOT Cricket WiFi modult használjuk egy egyszerű érzékelőhöz, amely 30 másodpercenként jelenti a hőmérsékletet a rendszerünknek. Akkumulátorral működik, így bárhol otthon vagy a kertben ragaszthatjuk. Később az IOT Cricket segítségével különféle elemmel működő érzékelőket, riasztókat, gombokat, kapcsolókat építhet, és a dobozból is csatlakoztathatja őket RPi MQTT brókerünkhöz.
Első lépésben csatlakoztassa az elemeket a Cricket -hez.
A Cricket beépített hőmérséklet-érzékelővel rendelkezik. Csak be kell állítanunk, hogy az RPi IP -címének beállításával elküldje a hőmérséklet -értéket az MQTT -brókerünknek. Ehhez nyissa meg a Cricket konfigurációs paneljét (lásd itt a lépéseket), és alkalmazza a következő beállításokat (az alábbi képen látható módon) állítsa be az IP -címet az "url" mezőben az RPi -hez)
Most kiléphetünk a konfigurációs módból. Az eszköz készen áll! A Cricket már 30 másodpercenként adatokat küld az MQTT brókerünknek.
4. lépés: Vizsgálja meg az MQTT üzeneteket
Az MQTT közvetítőnknek küldött üzenetek megtekintéséhez / fogadásához különféle eszközöket használhatunk.
A legegyszerűbb a mosquitto_sub parancssori eszköz lehet. Telepíthetjük a hálózat bármely számítógépére vagy az RPi -re ezzel a paranccsal:
$ sudo apt-get install mosquitto-customers -y
Most végre tudjuk hajtani a következő parancsot, hogy meghallgassuk az ÖSSZES témát és üzenetet, amelyet az MQTT közvetítőn keresztül küldünk:
$ mosquitto_sub -v -h your_RPi_IP_address -p 1883 -t '#'
… / 59A98F494C / eszköz_név 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 …
A fenti példa egy kimeneti példa arra, hogy az IOT Cricket mit küld a közvetítőnknek. A többi adat között láthatjuk a hőmérsékletet:
/59A98F494C/hőmérséklet 26.0
Az MQTT szépsége abban rejlik, hogy csak olyan témákra tudunk feliratkozni, amelyek minket érdekelnek. Ha csak hőmérsékletet szeretnénk kapni, akkor a /59A98F494C /temp témára iratkozhatunk fel a következő paranccsal:
$ mosquitto_sub -h your_RPi_IP_address -t '/59A98F494C/temp'
…26.126.527.227.6…
5. lépés: Összefoglalás
Ebben a projektben megmutattunk egy alapvető hardvert és szoftvert ahhoz, hogy elkezdhessünk kis teljesítményű, energiatakarékos, otthoni automatizálási rendszereket építeni WiFi alapon. Az MQTT a lényege a kifinomultabb rendszerekhez.
Az MQTT -vel integrálható szoftverek és szolgáltatások ökoszisztémája óriási! Sok nagyszerű rendszer létezik, mint például a Home Assistant, a Node RED, a Grafana stb., Amelyek segítségével nagyszerű felhasználói élményt nyújthat saját rendszerének. Nemcsak egyszerű hőmérséklet -nyomtatást tudunk végezni, hanem nagyszerű műszerfalakkal is megjeleníthetjük az adatokat, és kezelhetjük eszközeit.
Most, hogy már rendelkezünk ezzel az alapvető rendszerinfrastruktúrával, az ég a határa annak, hogy milyen egyéb WiFi eszközöket építhetünk az IOT Cricket modulok segítségével, és adhatunk hozzá otthoni automatizálási rendszerünkhöz.
Köszönöm, hogy ideért. Reméljük tetszett ez az oktatóanyag!
Things On Edge csapata
6. lépés: Rólunk
A Things On Edge egy cambridge -i székhelyű társaság. Rendkívül alacsony akkumulátorral működő Cricket Wi-Fi modult tervezünk, amely lehetővé teszi, hogy néhány elektronikus eszközt szó szerint percek alatt csatlakoztathasson okostelefonokhoz vagy más internetes szolgáltatásokhoz. Nem igényel programozást és kódolást. Lehetővé teszi az eszközök integrálását egy hatalmas IOT ökoszisztéma -szolgáltatásba az MQTT és a HTTP apis segítségével.
Ajánlott:
DIY otthoni automatizálási rendszer tervezése: 12 lépés
DIY otthoni automatizálási rendszer megtervezése: Ennek az utasításnak az a célja, hogy ne mondja el, hogyan tehet bármit, amit szeretne otthonától. Ehelyett azt írták, hogy egy ötletet valósággá tegyenek, de az őrültséget józansággá is alakítsák, ha megértik a korlátokat (technológia, költség, időigény
(DIY) Az ESP8266 Ultra Mini és egyszerű relé otthoni automatizálási tábla elkészítése: 17 lépés
(DIY) Az ESP8266 Ultra Mini és egyszerű relé otthoni automatizálási tábla elkészítése: Hello EveryBody, ma elmondom, hogyan készítsünk Mini Esp 12 Wifi relélapot, amelynek mérete csak 3,9 cm x 3,9 cm! Ez a tábla nagyon jó funkciókkal rendelkezik, amelyeket minden Tech Lover szeretni fog. A következő lépésekben minden fájlt beillesztettem. Ez a fórum
Erőteljes önálló otthoni automatizálási rendszer - Pi, Sonoff, ESP8266 és Node -Red: 9 lépés (képekkel)
Erőteljes önálló otthoni automatizálási rendszer - Pi, Sonoff, ESP8266 és Node -Red: Ennek az útmutatónak az első bázisra kell eljutnia, ahol a helyi hálózathoz csatlakozni képes bármely eszközön be- és kikapcsolhatja a lámpát vagy a készüléket. nagy testreszabható webes felület. A funkciók kiterjesztésének/ hozzáadásának lehetőségei hatalmasak, többek között
Otthoni automatizálási rendszer az Arduino és a HC-05 Bluetooth modul használatával: 5 lépés (képekkel)
Otthoni automatizálási rendszer az Arduino és a HC-05 Bluetooth modul használatával: Hé srácok, hogy vagytok! Ma itt vagyok a második Arduino Instructable segítségével. Ez egy Bluetooth-vezérelt otthoni automatizálási rendszer. Otthoni készülékeit csak okostelefonjáról vezérelheti. a dolgok tökéletesen működnek! Én is terveztem az alkalmazást
Olcsó, egyszerű, interneten vezérelt otthoni automatizálási rendszer: 5 lépés (képekkel)
Olcsó, egyszerű, interneten vezérelt otthoni automatizálási rendszer: Ha háziállata/gyermeke van, és etetni vagy verni kell őket az interneten keresztül, akkor ez a rendszer hasznos lehet. Ez egy nagyon egyszerű és olcsó módja annak, hogy otthon vezérelje a motorokat, LED -eket stb., Bármilyen internetre csatlakoztatott számítógépről. Csak egy webcímre van szükség