INHOUDSOPGAWE:
- Voorrade
- Stap 1: Aanvanklike opstelling (afhangende van u bedryfstelsel)
- Stap 2: Mosquitto -opstelling:
- Stap 3: Maak klaar
Video: SmartHome draadlose kommunikasie: die uiterste basiese beginsels van MQTT: 3 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:23
MQTT Basics:
** Ek gaan 'n Home Automation -reeks doen, ek sal die stappe doen wat ek geneem het om alles wat ek in die toekoms gedoen het, te leer. Hierdie instruksies is die basis vir die opstel van MQTT vir gebruik in my toekomstige instruksies. Die leerstellings in hierdie inhoud is egter van toepassing op enige projek wat u wil aanpak. **
Internet van dinge:
Die Internet of Things neem die wêreld oor, en veral in gemeenskappe soos ons eie hier by Instructables. Sedert ek by hierdie gemeenskap aangesluit het, is dit gegrond op mense wat bou
Toestelle wat aan die internet gekoppel is en beheer word. As u met Internet of Things werk, is dit moeilik om nie volgens die protokol MQTT te kom nie. Dit is 'n kommunikasieprotokol soos ander wat tans op die internet gebruik word, soos HTTP of FTP, maar die manier waarop dit werk is anders, wat dit ideaal maak vir Internet of Things -toepassings.
Wat is MQTT:
MQTT (Message Queuing Telemetry Transport is 'n ligte kommunikasieprotokol wat gebruik maak van 'n publiseer/inteken -argitektuur. HTTP, wat die meeste van die internet gebruik, is gebou op 'n versoek/antwoordstelsel. Dit beteken dat dit 'n versoek van 'n kliënt ontvang en stuur 'n antwoord op die kliënt. MQTT het ook 'n bediener ('n makelaar genoem) sowel as baie kliënte. In teenstelling met HTTP kan MQTT kliënte publiseer of inteken op spesifieke 'onderwerpe'. 'n gesentraliseerde punt, die makelaar. Elke knoop kan op 'n onderwerp op die makelaar publiseer, en enige nodus wat op die onderwerp ingeteken is, sal die boodskap ontvang. Kliënte kan ook op verskeie onderwerpe inteken en kan dan verskeie voorskrifte of opdaterings ontvang.
Die hele stelsel is gebeurtenisgedrewe en laat boodskappe van die makelaar toe om na elke kliënt wat ingeteken is, te stuur. Dus, eerder as HTTP, waar die kliënt die inligting versoek, word die kliënt direk na ontvangs van die makelaar gestuur. Daar is ook ingeboude dienste wat voorsiening maak vir verskillende voorsorgmaatreëls, soos QOS-spesifikasies. Met 'n QOS -spesifikasie kan 'n makelaar bepaal of 'n boodskap hoogstens een keer, ten minste een keer of presies een keer afgelewer moet word. Dit verseker dat data op die vereiste manier aan elke kliënt gelewer word. Kliënte kan ook versoek dat gepubliseerde boodskappe na hul onderwerp in die makelaar gebuffer word as hulle om een of ander rede daarvan ontkoppel word. Sodra dit weer aanlyn is, word die data na die kliënt gestuur.
'N Onderwerp is niks besonders nie; dit is slegs 'n verskeidenheid snare wat gekombineer en geskei word deur skuinsstrepe. Die formaat in die voorbeeld wat hieronder gebruik word, is die volgende: huis/slaapkamer/plafonlig. Elke skuinsstreep word agter 'n onderwerp geplaas om 'n subonderwerp aan te dui. 'N Boodskap kan dus tuis gepubliseer word, waar alle toestelle in die huis dit sal ontvang. Dit kan direk na die huis/slaapkamer gepubliseer word, waar alle toestelle in die slaapkamer die boodskap sal ontvang. En dit kan na die spesifieke toestel gaan, soos die eerste keer getoon huis/slaapkamer/plafonlig waar slegs die plafonlig in die slaapkamer die boodskap sal ontvang. Die manier waarop ons individuele toestelle soos hierdie tot by 'n hele ekosisteem kan abstraheer, is uiters handig, veral as dit by tuisautomatisering kom. Daar is verdere maniere om onderwerpe op te deel, en ek sal dit verder bespreek in die toekomstige instruksies waar die toepassing die meeste sin maak.
Voorrade
Slegs een van die volgende is nodig:
Ubuntu:
Windows Substelsel vir Linux: https://ubuntu.com/wsl (Slegs as u nie Linux/MacOS het nie)
MacOS: benodig 'n MacBook
Dit is nodig:
Mosquitto MQTT Broker - afgelaai met apt -get (dokumentasie:
Stap 1: Aanvanklike opstelling (afhangende van u bedryfstelsel)
MacOS/Linux:
Geen opstelling nodig nie, maak net u terminale oop en gaan oor na Mosquitto Setup!
Windows:
As u Windows gebruik, moet u die Windows -substelsel vir Linux installeer. Dit is 'n super maklik om te gebruik en uiters waardevolle hulpmiddel waarmee u 'n Ubuntu-terminaal binne Windows kan bestuur. U hoef Ubuntu nie te installeer en dubbel te begin nie, net om die ontwikkeling in die terminale te toets!
Installasie stappe:
1. Gaan na die Windows Store en soek na ubuntu
2. Laai die Windows Substelsel vir Linux af en installeer dit
3. Maak die toepassing oop en volg die instruksies om die opstelling te voltooi, en u is gereed om voort te gaan!
Stap 2: Mosquitto -opstelling:
Soos in die inleiding oor MQTT bespreek, benodig die protokol 'n makelaar (bediener). Hierdie makelaar is die basispunt vir alle gevestigde verbindings met elke kliënt. Al die boodskappe word deurgegee en in die ry in hierdie makelaar. Daar is baie opsies om uit te kies vir 'n makelaar, en u kan dit aanlyn vind, maar die een wat ons sal gebruik, is waarskynlik die algemeenste: Mosquitto.
Mosquitto is 'n Linux-gebaseerde MQTT-makelaar met baie funksies. Ek gaan nie nou in op die besonderhede van die funksionaliteit nie, maar 'n paar basiese vereistes waaraan dit voldoen, is verifikasie van gebruikers/wagwoord, en ondersteuning vir TLS -kodering wat almal nuttig is vir die ontwikkeling van Internet of Things -toestelle.
Stappe:
Al hierdie stappe moet in 'n terminale venster voltooi word.
1. Installeer Mosquitto- en MQTT -kliënte
sudo apt-get install mosquitto mosquitto-kliënte
2. Teken in op 'n onderwerp
mosquitto_sub -t "toets"
Wat dit doen, is 'n subskripsie op 'n onderwerp. Hierdie onderwerp word aangedui met "-t" en die onderwerpwaarde is "toets". Hierdie waarde na die '-t' kan alles wees wat u wil, behalwe vir 'n paar spesiale besprekings.
3. Maak 'n nuwe terminale venster oop en publiseer 'n boodskap oor die onderwerp "toets"
mosquitto_pub -t "toets" -m "Hallo wêreld met MQTT!"
Dit publiseer 'n boodskap oor die onderwerp 'toets', waardeur ons ander terminale instansie die boodskap aan die kant van die intekening kan ontvang. Die gepubliseerde boodskap word aangedui met 'n "-m" en die boodskapwaarde is "Hello World With MQTT". Hierdie boodskap, net soos die onderwerp, kan verander word na wat u wil!
4. Gaan na die eerste terminale venster om u resultate te sien! U moet 'n boodskap ontvang wat sê: "Hallo wêreld met MQTT". As u dit nie sien nie, maak seker dat u die regte onderwerp ingevoer het. As u dit suksesvol voltooi het, moet u daarmee voortgaan. Probeer verskillende onderwerpe, met subonderwerpe en verskillende boodskappe!
Stap 3: Maak klaar
Dis dit! As u alles voltooi het, verstaan u die basiese beginsels van hoe MQTT werk. Dit is 'n baie rudimentêre tutoriaal wat slegs die minimum van die MQTT -protokol toon. Toekomstige instruksies sal in meer diepte deurloop hoe die protokol in die praktyk werk met die Internet of Things, veral met ESP8266 -modules met Arduino. My eerste praktiese toepassing is die slim koffiemaker wat ek tans in my kamer het. As u wil leer hoe om 'n koffiemaker te maak wat met u selfoon en Alexa beheer kan word, volg my dan vir meer tutoriale.
Aanbeveel:
Komponente vir soldeeroppervlak - Basiese beginsels van soldeer: 9 stappe (met foto's)
Komponente vir soldeeroppervlak | Basiese beginsels van soldeer: Tot dusver in my Soldering Basics -reeks het ek genoeg basiese beginsels oor soldeer bespreek sodat u kan begin oefen. In hierdie instruksies is wat ek sal bespreek, 'n bietjie meer gevorderd, maar dit is 'n paar van die basiese beginsels vir die soldeer van die oppervlakoppervlak
Soldeer deur gatkomponente - Basiese beginsels van soldeer: 8 stappe (met foto's)
Soldeer deur gatkomponente | Basiese beginsels van soldeer: In hierdie instruksies bespreek ek 'n paar basiese beginsels oor soldeer deur-gat-komponente aan stroombane. Ek neem aan dat u reeds die eerste 2 instruksies vir my Soldering Basics -reeks nagegaan het. As u nog nie my In
Terug na die basiese beginsels: soldeer vir kinders: 6 stappe (met foto's)
Terug na die basiese beginsels: soldeer vir kinders: of u nou 'n robot bou of saam met Arduino werk, vorm " hands-on " elektronika om 'n prototipe van 'n projekidee te vorm, om te weet hoe om te soldeer, sal handig wees. soldeer is 'n noodsaaklike vaardigheid wat aangeleer moet word as iemand regtig elektrisiteit het
Instruksies vir die voltooiing van die opmaak van die baanskyfontwerp vir die opheffing/verlaging van die middelste voetsteun op motorwielstoele: 9 stappe (met foto's)
Instruksies vir die voltooiing van die opmaak van die baanskyfontwerp vir die opheffing/verlaging van die middelste voetsteun op motorwielstoele: die middelste voetsteunhysers moet goed onder die sitplek geberg word en laer om te ontplooi. 'N Meganisme vir die onafhanklike werking van die opberging en ontplooiing van voetsteun is nie ingesluit by rolstoele op die mark nie, en PWC -gebruikers het die behoefte uitgespreek
Die basiese beginsels van 'n div-gebaseerde webwerf: 7 stappe
Die basiese beginsels van 'n div-gebaseerde webwerf: hierdie instruksies wys u die basiese beginsels van hoe u 'n webwerf met divs kan bou. Omdat tabelle wat gebruik word vir die uitleg boos is!: P Om hierdie instruksies te verstaan, moet u basiese html en css ken. As u iets nie verstaan nie, voel vry om