Sisällysluettelo:

Erittäin pienitehoinen WiFi-kotiautomaatiojärjestelmä: 6 vaihetta (kuvilla)
Erittäin pienitehoinen WiFi-kotiautomaatiojärjestelmä: 6 vaihetta (kuvilla)

Video: Erittäin pienitehoinen WiFi-kotiautomaatiojärjestelmä: 6 vaihetta (kuvilla)

Video: Erittäin pienitehoinen WiFi-kotiautomaatiojärjestelmä: 6 vaihetta (kuvilla)
Video: торт ШКОЛЬНЫЙ со вкусом из детства! Быстро, очень вкусно и бюджетно! Без сливок и желатина! 2024, Marraskuu
Anonim
Erittäin pienitehoinen WiFi-kotiautomaatiojärjestelmä
Erittäin pienitehoinen WiFi-kotiautomaatiojärjestelmä
Erittäin pienitehoinen WiFi-kotiautomaatiojärjestelmä
Erittäin pienitehoinen WiFi-kotiautomaatiojärjestelmä

Tässä projektissa näytämme, kuinka voit rakentaa paikallisen perusautomaatiojärjestelmän muutamassa vaiheessa. Aiomme käyttää Raspberry Pi: tä, joka toimii keskeisenä WiFi -laitteena. Kun taas päätesolmuissa aiomme käyttää IOT Cricketiä paristokäyttöisten WiFi -laitteiden valmistamiseen, esim. lämpötila -anturi ja liitä se RPi: hen kirjoittamatta yhtä koodiriviä.

Järjestelmämme perustuu MQTT -tiedonsiirtoprotokollaan, joka on laajasti käytössä useimmissa kodin automaatiojärjestelmissä. Määritä se valitsemalla Mosquitto MQTT -välittäjä (palvelin) ja asentamalla se Raspberry Pi: hen (keskuskeskus).

IOT Cricket sisältää myös HTTP (S) - ja MQTT -protokollien tuen. Määritämme sen käyttämään MQTT: tä kommunikoimaan suoraan RPi MQTT -välittäjämme kanssa.

Tämä projekti voidaan toteuttaa kaikilla taitotasoilla. Se voi vaatia jonkin verran juotosta, mutta se ei vaadi koodausta tai ohjelmointia. Tämän projektin lopussa saat vankan käsityksen siitä, kuinka voit helposti rakentaa oman järjestelmän ja laajentaa sitä nopeasti lisäämällä omaan IOT -päätesolmuun järjestelmään.

Tarvikkeet:

  • Raspberry Pi (käytimme versiota 3 tässä projektissa)
  • IOT Cricket WiFi -moduuli
  • 2xAAA paristopidike
  • 2xAAA paristot

Vaihe 1: Mikä on MQTT?

MQTT -protokolla tarjoaa kevyen tavan lähettää viestejä käyttämällä julkaisu-/tilausmallia. Tämä tekee siitä sopivan esineiden Internet -viesteihin, kuten pienitehoisille antureille tai mobiililaitteille, kuten puhelimille, sulautetuille tietokoneille tai mikro -ohjaimille. (Lähde: mosquitto.org)

Voimme käyttää niin monta laitetta kuin haluamme tilata aiheita ja kuunnella viestien saapumista. Jos jotkin laitteet julkaisevat viestin kyseisestä aiheesta, kaikki aiheeseen liittyvät tilaajat vastaanottavat viestin välittömästi. Aihe voi olla mikä tahansa mielivaltainen merkkijono, joka on yleensä yhdistetty / -merkkeihin hierarkkisten aiheiden luomiseksi. MQTT: n tyypillisin käyttötarkoitus on yksi keskipalvelin, jolle laitteet voivat tilata ja julkaista viestejä. Se helpottaa kaikkea viestintää kyseiseen palvelimeen liitettyjen laitteiden välillä. Tässä projektissa käytämme RPi: tä toimimaan MQTT: n keskusvälittäjänämme ja kaikki muut laitteet lähettävät viestejä tämän välittäjän kautta. Paras tapa oppia siitä on tietysti tekemällä se itse. Internetissä on runsaasti resursseja MQTT: llä. Tässä projektissa sinun pitäisi kuitenkin olla kunnossa perusjohdannalla, jonka annoimme edellä.

Vaihe 2: MQTT Brokerin asentaminen Raspberry Pi: hen

Tässä projektissa käytämme avoimen lähdekoodin Mosquitto MQTT -välittäjää. Se on kevyt ja sopii käytettäväksi kaikilla laitteilla pienitehoisista yhden kortin tietokoneista täyteen palvelimeen.

Ennen asennuksen aloittamista on hyvä päivittää ensin järjestelmän osat:

$ sudo apt-get update $ sudo apt-get update

Asenna Mosquitto -välittäjä. Avaa pääte ja kirjoita seuraava komento:

$ sudo apt -get install mosquitto -y

Määritä Mosquitto -välittäjä. Muokkaa määritystiedostoa:

$ sudo vi /etc/mosquitto/mosquitto.conf

ja lisää seuraavat rivit yläreunaan:

portti 1883allow_anonymous true

Ota muutokset käyttöön käynnistämällä RPi uudelleen:

$ sudo uudelleenkäynnistys

Se siitä! MQTT -välittäjämme on nyt toiminnassa!

HUOMAUTUS: tämän projektin yksinkertaisuuden vuoksi emme luo tilejä. Joten kuka tahansa lähiverkostossamme voi muodostaa yhteyden tähän MQTT -välittäjään ilman tunnistetietoja. Jos haluat lisätä käyttäjän todennuksen ja tehdä siitä turvallisemman, Internetissä on paljon opetusohjelmia sen tekemiseksi.

Nyt meidän on vain hankittava IP -osoite, jotta voimme lähettää viestejä Mosquitto -välittäjällemme muista verkon laitteista:

Hanki IP -osoite:

$ hostname -I

oma_RPi_IP_osoite (esim. 192.168.1.10)

Vaihe 3: Yhdistä IOT Cricket RaspberryPiin MQTT: n kautta

Yhdistä IOT -kriketti RaspberryPiin MQTT: n kautta
Yhdistä IOT -kriketti RaspberryPiin MQTT: n kautta
Yhdistä IOT -kriketti RaspberryPiin MQTT: n kautta
Yhdistä IOT -kriketti RaspberryPiin MQTT: n kautta

Tässä projektissa käytämme IOT Cricket WiFi -moduulia yksinkertaiselle anturille, joka ilmoittaa järjestelmälle lämpötilan 30 sekunnin välein. Se toimii akulla, joten voimme kiinnittää sen mihin tahansa kotona tai puutarhassa. Myöhemmin voit rakentaa IOT Cricketin avulla erilaisia paristokäyttöisiä antureita, hälytyksiä, painikkeita, kytkimiä ja liittää ne myös RPi MQTT -välittäjämme pakkauksesta.

Yhdistä ensimmäisessä vaiheessa akut Cricketiin.

Kriketissä on sisäänrakennettu lämpötila-anturi. Meidän on vain määritettävä se lähettämään lämpötila -arvo MQTT -välittäjällemme asettamalla RPi -IP -osoite. säädä IP -osoite "url" -ruudussa RPi: n mukaan)

Nyt voimme poistua kokoonpanotilasta, laite on valmis! Kriketti lähettää jo tietoja MQTT -välittäjällemme 30 sekunnin välein.

Vaihe 4: Tarkista MQTT -viestit

Tarkista MQTT -viestit
Tarkista MQTT -viestit

Voit tarkastella / vastaanottaa MQTT -välittäjällemme lähetettyjä viestejä käyttämällä erilaisia työkaluja.

Helpoin voi olla komentorivityökalu mosquitto_sub. Voimme asentaa sen joko mille tahansa tietokoneellemme verkossa tai RPi -laitteellemme tällä komennolla:

$ sudo apt-get install mosquitto-customers -y

Nyt voimme suorittaa seuraavan komennon kuunnellaksesi kaikkia aiheita ja viestejä, jotka lähetetään MQTT -välittäjämme kautta:

$ mosquitto_sub -v -h your_RPi_IP_address -p 1883 -t '#'

… / 59A98F494C / laitteen_nimi MyTemperatureDev / 59A98F494C / device_sn 59A98F494C / 59A98F494C / hwc_wake_up 3794 / 59A98F494C / hwc_wifi_enabled 3763 / 59A98F494C / hwc_message_sent 3664 / 59A98F494C / lämpötila 26,0 / 59A98F494C / io1_wake_up 0 / 59A98F494C / rtc_wake_up 1 …

Yllä oleva on esimerkki siitä, mitä IOT Cricket lähettää välittäjällemme. Muiden tietojen joukossa on lämpötila:

/59A98F494C/lämpötila 26.0

MQTT: n kauneus on, että sen avulla voimme tilata vain aiheita, joista olemme kiinnostuneita. Jos haluamme vastaanottaa vain lämpötilan, voimme tilata aiheen /59A98F494C /temp käyttämällä seuraavaa komentoa:

$ mosquitto_sub -h your_RPi_IP_address -t '/59A98F494C/temp'

…26.126.527.227.6…

Vaihe 5: Yhteenveto

Yhteenveto
Yhteenveto

Tässä projektissa olemme osoittaneet olennaisen laitteiston ja ohjelmiston, jonka avulla voidaan rakentaa pienitehoisia, energiatehokkaita kotiautomaatiojärjestelmiä, jotka perustuvat WiFi -yhteyteen. MQTT on ydin, joka perustuu kehittyneempiin järjestelmiin.

Ohjelmistojen ja palveluiden ekosysteemi, joka voidaan integroida MQTT: hen, on valtava! On olemassa monia hienoja järjestelmiä, kuten Home Assistant, Node RED, Grafana jne., Joiden avulla voit luoda oman käyttöjärjestelmäsi erinomaisen käyttökokemuksen. Emme voi vain tulostaa yksinkertaisia lämpötiloja, vaan meillä voi olla upeita koontinäyttöjä, jotka visualisoivat tiedot ja hallitsevat laitteitasi.

Nyt kun meillä on tämä järjestelmän perusinfrastruktuuri, taivas on rajana sille, mitä muita WiFi -laitteita voimme rakentaa IOT Cricket -moduuleilla ja lisätä kotiautomaatiojärjestelmään.

Kiitos, että nousit tänne. Toivomme, että pidit tästä opetusohjelmasta!

Things On Edge -tiimi

Vaihe 6: Tietoja meistä

Things On Edge on yritys, jonka kotipaikka on Cambridge, Iso -Britannia. Suunnittelemme erittäin alhaisen paristokäyttöisen Cricket Wi-Fi -moduulin, jonka avulla voit yhdistää erilaisia elektronisia laitteita älypuhelimiin tai muihin Internet-palveluihin kirjaimellisesti muutamassa minuutissa. Se ei vaadi ohjelmointia ja koodausta. Sen avulla voit integroida laitteesi valtaviin IOT -ekosysteemipalveluihin MQTT- ja HTTP -apien kautta.

Suositeltava: