Satura rādītājs:
- Piegādes
- 1. darbība: sākotnējā iestatīšana (atkarībā no jūsu operētājsistēmas)
- 2. solis: moskītu iestatīšana:
- 3. solis: iesaiņojiet
Video: SmartHome bezvadu sakari: MQTT galējie pamati: 3 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:51
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:
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:
LoRa bezvadu sakari no 3 km līdz 8 km ar zemām izmaksām E32 (sx1278/sx1276) ierīce Arduino, Esp8266 vai Esp32: 15 soļi
LoRa bezvadu sakari no 3 km līdz 8 km ar zemām izmaksām E32 (sx1278/sx1276) ierīce Arduino, Esp8266 vai Esp32: es izveidoju bibliotēku, lai pārvaldītu EBYTE E32, pamatojoties uz LoRa ierīces Semtech sēriju, ļoti jaudīgu, vienkāršu un lētu ierīci. 3Km versija šeit, 8Km versija šeitTie var strādāt 3000m līdz 8000m attālumā, un tiem ir daudz iespēju
Bezvadu Arduino robots, izmantojot bezvadu moduli HC12: 7 soļi
Bezvadu Arduino robots, izmantojot HC12 bezvadu moduli: Sveiki, puiši, laipni lūdzam atpakaļ. Iepriekšējā ziņojumā es paskaidroju, kas ir H tilta ķēde, L293D motora vadītāja IC, cūciņa L293D motora vadītāja IC, lai vadītu lielas strāvas motoru vadītājus, un kā jūs varat izveidot un izveidot savu L293D motora draivera paneli
Liels attālums, 1,8 km, no Arduino līdz Arduino bezvadu sakari ar HC-12: 6 soļi (ar attēliem)
Liels attālums, 1,8 km, no Arduino līdz Arduino bezvadu sakari ar HC-12: Šajā pamācībā jūs uzzināsit, kā sazināties starp Arduinos lielā attālumā līdz 1,8 km brīvā dabā. HC-12 ir bezvadu seriālais ports komunikācijas modulis, kas ir ļoti noderīgs, ārkārtīgi spēcīgs un viegli lietojams. Vispirms jūs atradīsit
Bezvadu sakari, izmantojot NRF24L01 uztvērēja moduli Arduino projektiem: 5 soļi (ar attēliem)
Bezvadu sakari, izmantojot NRF24L01 uztvērēja moduli Arduino projektiem: šī ir mana otrā pamācība par robotiem un mikrokontrolleriem. Ir patiešām pārsteidzoši redzēt, ka jūsu robots ir dzīvs un strādā, kā paredzēts, un ticiet man, ka būs jautrāk, ja vadīsit savu robotu vai citas lietas bezvadu režīmā ar ātru un
Bezvadu sakari, izmantojot lētus 433MHz RF moduļus un Pic mikrokontrollerus. 2. daļa: 4 soļi (ar attēliem)
Bezvadu sakari, izmantojot lētus 433MHz RF moduļus un Pic mikrokontrollerus. 2. daļa: Šīs pamācības pirmajā daļā es parādīju, kā programmēt PIC12F1822, izmantojot MPLAB IDE un XC8 kompilatoru, lai bezvadu režīmā nosūtītu vienkāršu virkni, izmantojot lētus TX/RX 433MHz moduļus. Uztvērēja modulis tika pievienots, izmantojot USB, lai UART TTL kabeļa reklāma