Satura rādītājs:

SmartHome bezvadu sakari: MQTT galējie pamati: 3 soļi
SmartHome bezvadu sakari: MQTT galējie pamati: 3 soļi

Video: SmartHome bezvadu sakari: MQTT galējie pamati: 3 soļi

Video: SmartHome bezvadu sakari: MQTT galējie pamati: 3 soļi
Video: Unlock the future of home security with the Aqara Doorbell G4. 2024, Novembris
Anonim
SmartHome bezvadu sakari: MQTT galējie pamati
SmartHome bezvadu sakari: MQTT galējie pamati
SmartHome bezvadu sakari: MQTT galējie pamati
SmartHome bezvadu sakari: MQTT galējie pamati

MQTT pamati:

** Es gatavošos mājas automatizācijas sērijai, es iziešu soļus, ko veicu, lai uzzinātu visu, ko esmu darījis nākotnē. Šī pamācība ir pamats, lai iestatītu MQTT izmantošanai manos turpmākajos instrukcijās. Tomēr šī satura mācības būs piemērojamas jebkuram projektam, kuru vēlaties uzņemties. **

Lietu internets:

Lietu internets pārņem pasauli, un jo īpaši tādās kopienās kā mūsu, šeit, Instructables. Kopš es pievienojos šai kopienai, tā ir iesakņojusies cilvēku veidošanā

Ierīces, kas savienotas ar internetu un tiek kontrolētas ar to. Strādājot ar lietu internetu, ir grūti neizmantot protokolu MQTT. Šis ir tāds sakaru protokols, kādu mūsdienās izmanto internetā, piemēram, HTTP vai FTP, taču tā darbības veids ir atšķirīgs, kas padara to ideāli piemērotu lietiskā interneta lietojumprogrammām.

Kas ir MQTT:

MQTT (Message Queuing Telemetry Transport ir viegls sakaru protokols, kas izmanto publicēšanas/abonēšanas arhitektūru. HTTP, ko izmanto lielākā daļa interneta, ir veidots uz pieprasījumu/atbilžu sistēmas. Tas nozīmē, ka saņem pieprasījumu no klienta un nosūta atbilde uz šo klientu. MQTT ir arī serveris (saukts par starpnieku), kā arī daudzi klienti. Atšķirībā no HTTP, MQTT ļauj klientiem publicēt vai abonēt noteiktas “tēmas”. Tas ļauj plašāk sazināties, izmantojot centralizēts punkts, starpnieks. Katrs mezgls var publicēt starpnieka tēmu, un jebkurš šīs tēmas abonents saņems ziņojumu. Klienti var arī abonēt vairākas tēmas un pēc tam saņemt vairākas direktīvas vai atjauninājumus.

Visa sistēma ir notikumu vadīta un ļauj starpnieka ziņas nosūtīt katram abonētajam klientam. Tātad, nevis HTTP, kur klients pieprasa informāciju, klients saņem informāciju tieši no brokera. Ir iebūvēti arī pakalpojumi, kas nodrošina dažādus aizsardzības pasākumus, piemēram, QOS specifikācijas. QOS specifikācija ļauj brokerim noteikt, vai ziņojums ir jāpiegādā ne vairāk kā vienu reizi, vismaz vienu reizi vai tieši vienu reizi. Tas nodrošina, ka dati tiek piegādāti vajadzīgajā veidā katram klientam. Klienti var arī pieprasīt, lai viņu tēmā publicētie ziņojumi tiktu buferizēti brokerī, ja viņi kāda iemesla dēļ tiek no tā atvienoti. Tiklīdz tie atgriezīsies tiešsaistē, šie dati tiks nosūtīti klientam.

Tēma nav nekas īpašs, tā ir tikai virkne, ko apvieno un atdala slīpsvītras. Tālāk izmantotā piemēra formāts ir šāds: mājas/guļamistaba/griestu apgaismojums. Katra slīpsvītra tiek novietota aiz tēmas, lai apzīmētu apakštēmu. Tātad ziņu varētu publicēt mājās, kur to saņems visas mājas ierīces. To varētu publicēt tieši mājās/guļamistabā, kur visas guļamistabas ierīces saņems ziņojumu. Un tas var nokļūt konkrētajā ierīcē, kā pirmo reizi parādīts mājās/guļamistabā/griestu gaismā, kur ziņojumu saņems tikai guļamistabas griestu lampa. Tas, kā mēs varam abstrahēt šādas atsevišķas ierīces līdz pat visai ekosistēmai, ir ļoti ērts, it īpaši, ja runa ir par mājas automatizāciju. Ir arī citi veidi, kā sadalīt tēmas, un es tos sīkāk apskatīšu turpmākajos Instructables, kur lietojumprogrammai ir vislielākā jēga.

Piegādes

Nepieciešams tikai viens no šiem:

Ubuntu:

Windows apakšsistēma Linux: https://ubuntu.com/wsl (tikai tad, ja jums nav Linux/MacOS)

MacOS: nepieciešams MacBook

Tas ir nepieciešams:

Mosquitto MQTT Broker - lejupielādēts, izmantojot apt -get (dokumentācija:

1. darbība: sākotnējā iestatīšana (atkarībā no jūsu operētājsistēmas)

MacOS/Linux:

Nav nepieciešama iestatīšana, vienkārši atveriet termināli un pārejiet uz Mosquitto iestatīšanu!

Windows:

Ja izmantojat Windows, jums būs jāinstalē Windows apakšsistēma Linux. Šis ir ļoti viegli lietojams un ārkārtīgi vērtīgs rīks, kas ļauj operētājsistēmā Windows palaist Ubuntu termināli. Nav nepieciešams instalēt un divreiz palaist Ubuntu, lai pārbaudītu attīstību terminālī!

Uzstādīšanas soļi:

1. Dodieties uz Windows veikalu un meklējiet ubuntu

2. Lejupielādējiet un instalējiet Windows apakšsistēmu Linux

3. Atveriet lietojumprogrammu un izpildiet norādījumus, lai pabeigtu iestatīšanu, un esat gatavs turpināt!

2. solis: moskītu iestatīšana:

Moskītu iestatīšana
Moskītu iestatīšana
Moskītu iestatīšana
Moskītu iestatīšana
Moskītu iestatīšana
Moskītu iestatīšana

Tātad, kā aprakstīts ievadā par MQTT, protokolam ir nepieciešams starpnieks (serveris). Šis brokeris ir pamats visiem izveidotajiem savienojumiem ar katru klientu. Visi ziņojumi tiek nodoti un ievietoti rindā šajā brokerī. Brokerim ir daudz iespēju izvēlēties, un jūs varat tos atrast tiešsaistē, taču tas, ko mēs izmantosim, iespējams, ir visizplatītākais: Mosquitto.

Mosquitto ir uz Linux balstīts MQTT brokeris ar lielu funkcionalitāti. Pašlaik neiedziļināšos šīs funkcionalitātes specifikā, taču dažas pamatprasības, kuras tā atbilst, ir lietotāja/paroles autentifikācija un TLS šifrēšanas atbalsts, kas viss ir noderīgs lietu interneta ierīču izstrādē.

Soļi:

Visas šīs darbības ir jāveic termināļa logā.

1. Instalējiet Mosquitto un MQTT klientus

sudo apt-get install moskītu moskītu klienti

2. Abonējiet tēmu

mosquitto_sub -t "tests"

Tas nozīmē abonēt tēmu. Šī tēma ir apzīmēta ar "-t", un tēmas vērtība ir "tests". Šī vērtība pēc "-t" var būt jebkas, ko vēlaties ietaupīt dažām īpašām atrunām.

3. Atveriet jaunu termināļa logu un publicējiet ziņojumu par tēmu "tests"

mosquitto_pub -t "tests" -m "Sveika pasaule ar MQTT!"

Tādējādi tiek publicēts ziņojums par tēmu "tests", ļaujot mūsu otrajam termināļa gadījumam saņemt ziņojumu abonēšanas pusē. Publicēto ziņojumu apzīmē ar "-m", un ziņojuma vērtība ir "Hello World With MQTT". Šo ziņojumu, tāpat kā tēmu, var mainīt uz visu, ko vēlaties!

4. Dodieties uz pirmo termināļa logu, lai redzētu savus rezultātus! Jums vajadzētu saņemt ziņojumu, kurā teikts: “Sveika pasaule ar MQTT”. Ja to neredzat, pārliecinieties, vai esat ierakstījis pareizo tēmu. Ja esat to veiksmīgi pabeidzis, turpiniet ar to spēlēt. Izmēģiniet dažādas tēmas ar apakštēmām un dažādiem ziņojumiem!

3. solis: iesaiņojiet

Tieši tā! Kad esat pabeidzis visu, jūs saprotat MQTT darbības pamatus. Šī ir ļoti elementāra apmācība, kas parāda tikai minimālo MQTT protokola minimumu. Nākotnes Instructables padziļināti izpētīs, kā protokols praktiski darbojas ar lietu internetu, jo īpaši ar ESP8266 moduļiem, kuros darbojas Arduino. Mans pirmais praktiskais pielietojums būs viedais kafijas automāts, kas pašlaik atrodas manā istabā. Ja vēlaties uzzināt, kā pagatavot kafijas automātu, kuru var vadīt gan no tālruņa, gan no Alexa, noteikti sekojiet man, lai iegūtu vairāk pamācību.

Ieteicams: