Sisällysluettelo:

SmartHome Wireless Communication: MQTT: n äärimmäiset perusteet: 3 vaihetta
SmartHome Wireless Communication: MQTT: n äärimmäiset perusteet: 3 vaihetta

Video: SmartHome Wireless Communication: MQTT: n äärimmäiset perusteet: 3 vaihetta

Video: SmartHome Wireless Communication: MQTT: n äärimmäiset perusteet: 3 vaihetta
Video: Understanding MQTT: How Smart Home Devices Communicate 2024, Heinäkuu
Anonim
SmartHome Wireless Communication: MQTT: n äärimmäiset perusteet
SmartHome Wireless Communication: MQTT: n äärimmäiset perusteet
SmartHome Wireless Communication: MQTT: n äärimmäiset perusteet
SmartHome Wireless Communication: MQTT: n äärimmäiset perusteet

MQTT: n perusteet:

** Aion tehdä Home Automation -sarjan, käyn läpi vaiheet, jotka otin oppiakseni kaiken, mitä olen tehnyt tulevaisuudessa. Tämä Instructable on lähtökohta MQTT: n määrittämiselle käytettäväksi tulevissa Instructables -ohjelmissani. Tämän sisällön opetuksia voidaan kuitenkin soveltaa mihin tahansa projektiin, jonka haluat ottaa vastaan. **

Esineiden internet:

Esineiden internet valtaa maailman ja erityisesti yhteisöjemme kaltaisissa yhteisöissä täällä Instructablesissa. Siitä lähtien, kun liityin tähän yhteisöön, se on juurtunut ihmisten rakentamiseen

Laitteet, jotka on yhdistetty Internetiin ja joita ohjataan Internetin kautta. Esineiden internetiä käytettäessä on vaikea olla noudattamatta MQTT -protokollaa. Tämä on viestintäprotokolla kuten muutkin, joita käytetään nykyään Internetissä, kuten HTTP tai FTP, mutta sen toimintatapa on erilainen, mikä tekee siitä ihanteellisen esineiden Internet -sovelluksiin.

Mikä on MQTT:

MQTT (Message Queuing Telemetry Transport on kevyt viestintäprotokolla, joka käyttää julkaisu-/tilausarkkitehtuuria. HTTP, jota suurin osa Internetistä käyttää, perustuu pyyntö-/vastausjärjestelmään. Tämä tarkoittaa, että se saa pyynnön asiakkaalta ja lähettää MQTT: llä on myös palvelin (nimeltään välittäjä) sekä monia asiakkaita. Toisin kuin HTTP, MQTT sallii asiakkaiden julkaista tai tilata tiettyjä "aiheita". Tämä mahdollistaa laajemman viestinnän keskitetty piste, välittäjä. Jokainen solmu voi julkaista aiheen välittäjässä, ja mikä tahansa aiheeseen liittynyt solmu vastaanottaa viestin. Asiakkaat voivat myös tilata useita aiheita ja saada sitten useita direktiivejä tai päivityksiä.

Koko järjestelmä on tapahtumapohjainen ja mahdollistaa välittäjän viestien lähettämisen kullekin tilatulle asiakkaalle. Joten HTTP: n sijasta, kun asiakas pyytää tietoja, asiakas lähettää tiedot suoraan välittäjältä vastaanotettuaan. On myös sisäänrakennettuja palveluita, jotka mahdollistavat erilaisia turvatoimia, kuten QOS-eritelmät. QOS -määrityksen avulla välittäjä voi määrittää, onko viesti toimitettava korkeintaan kerran, vähintään kerran vai täsmälleen kerran. Tämä varmistaa, että tiedot toimitetaan vaaditulla tavalla jokaiselle asiakkaalle. Asiakkaat voivat myös pyytää, että heidän aiheeseensa julkaistut viestit puskuroidaan välittäjässä, jos he ovat irti jostakin syystä. Kun se tulee takaisin verkkoon, kyseiset tiedot välitetään asiakkaalle.

Aihe ei ole mikään erityinen, se on vain erilaisia merkkijonoja, jotka yhdistetään ja erotetaan viistoilla. Seuraavassa esimerkissä käytettävä muoto on seuraava: koti/makuuhuone/kattovalo. Jokainen kauttaviiva sijoitetaan aiheen jälkeen merkitsemään osa -aihetta. Joten viesti voitaisiin julkaista kotiin, jossa kaikki talon laitteet vastaanottavat sen. Se voidaan julkaista suoraan kotiin/makuuhuoneeseen, jossa kaikki makuuhuoneen laitteet saavat viestin. Ja se voi siirtyä tiettyyn laitteeseen, kuten ensin näytettiin koti/makuuhuone/kattovalo, jossa vain makuuhuoneen kattovalaisin vastaanottaa viestin. Tapa, jolla voimme abstrahoida tällaisia yksittäisiä laitteita aina koko ekosysteemiin asti, on erittäin kätevä, varsinkin kun kyse on kodin automaatiosta. On muitakin tapoja jakaa aiheita, ja aion käsitellä niitä tarkemmin tulevissa Instructables -sovelluksissa, joissa sovellus on järkevin.

Tarvikkeet

Tarvitaan vain yksi seuraavista:

Ubuntu:

Windows -alijärjestelmä Linuxille: https://ubuntu.com/wsl (vain, jos sinulla ei ole Linuxia/MacOSia)

MacOS: Vaatii MacBookin

Tämä vaaditaan:

Mosquitto MQTT Broker - Ladattu käyttäen apt -get (dokumentaatio:

Vaihe 1: Alkuasetukset (käyttöjärjestelmästä riippuen)

MacOS/Linux:

Asennusta ei tarvita, vain avaa päätelaite ja siirry Mosquitto Setupiin!

Windows:

Jos käytät Windowsia, sinun on asennettava Windows -alijärjestelmä Linuxille. Tämä on erittäin helppokäyttöinen ja erittäin arvokas työkalu, jonka avulla voit käyttää Ubuntu-päätelaitetta Windowsissa. Sinun ei tarvitse asentaa ja käynnistää Ubuntua kaksinkertaisesti vain testataksesi kehitystä terminaalissa!

Asennusvaiheet:

1. Siirry Windows Storeen ja etsi ubuntu

2. Lataa ja asenna Windows -alijärjestelmä Linuxille

3. Avaa sovellus ja suorita asennus loppuun noudattamalla ohjeita ja olet valmis jatkamaan!

Vaihe 2: Mosquitto Setup:

Mosquiton asennus
Mosquiton asennus
Mosquiton asennus
Mosquiton asennus
Mosquiton asennus
Mosquiton asennus

Joten kuten MQTT: n johdannossa on keskusteltu, protokolla vaatii välittäjän (palvelimen). Tämä välittäjä on perusta kaikille muodostetuille yhteyksille kullekin asiakkaalle. Kaikki viestit välitetään ja jonotetaan tässä välittäjässä. Välittäjälle on monia vaihtoehtoja, ja voit löytää ne verkossa, mutta käyttämämme vaihtoehto on luultavasti yleisin: Mosquitto.

Mosquitto on Linux-pohjainen MQTT-välittäjä, jolla on paljon toimintoja. En mene tämän toiminnon erityispiirteisiin tällä hetkellä, mutta muutamia perusvaatimuksia, jotka se täyttää, ovat käyttäjän/salasanan todennus ja TLS -salaustuki, jotka kaikki ovat hyödyllisiä esineiden Internet -laitteiden kehittämisessä.

Askeleet:

Kaikki nämä vaiheet on suoritettava pääteikkunassa.

1. Asenna Mosquitto- ja MQTT -asiakkaat

sudo apt-get install mosquitto mosquitto-clientit

2. Tilaa aihe

mosquitto_sub -t "testi"

Tämä tekee tilauksen aiheeseen. Tämä aihe on merkitty "-t" ja aiheen arvo on "testi". Tämä arvo "-t" -merkin jälkeen voi olla mitä tahansa, mitä haluat säästää muutamia erikoisvarauksia varten.

3. Avaa uusi pääteikkuna ja julkaise viesti aiheeseen "testi"

mosquitto_pub -t "test" -m "Hello World with MQTT!"

Tämä julkaisee viestin aiheeseen "testi", jolloin toinen pääteinstanssimme voi vastaanottaa viestin tilauspuolella. Julkaistu viesti on merkitty "-m" ja viestin arvo on "Hello World With MQTT". Tämä viesti, kuten aihe, voidaan muuttaa haluamaksesi!

4. Siirry ensimmäiseen pääteikkunaan nähdäksesi tulokset! Sinun pitäisi saada viesti, jossa lukee "Hello World With MQTT". Jos et näe tätä, varmista, että kirjoitit oikean aiheen. Jos olet onnistunut, jatka pelaamista sen kanssa. Kokeile eri aiheita, aiheita ja erilaisia viestejä!

Vaihe 3: Kierrä

Se siitä! Kun olet saanut kaiken valmiiksi, ymmärrät MQTT: n toiminnan perusteet. Tämä on hyvin alkeellinen opetusohjelma, joka näyttää vain MQTT -protokollan vähimmäismäärän. Future Instructables käy läpi tarkemmin, miten protokolla toimii käytännössä esineiden Internetin kanssa, erityisesti ESP8266 -moduulien kanssa, joissa on Arduino. Ensimmäinen käytännön sovellukseni on huoneessani oleva älykäs kahvinkeitin. Jos haluat oppia tekemään kahvinkeittimen, jota voidaan ohjata sekä puhelimestasi että Alexasta, muista seurata minua saadaksesi lisää opetusohjelmia.

Suositeltava: