Talaan ng mga Nilalaman:

Ang SmartHome Wireless Communication: ang Extreme Basics ng MQTT: 3 Hakbang
Ang SmartHome Wireless Communication: ang Extreme Basics ng MQTT: 3 Hakbang

Video: Ang SmartHome Wireless Communication: ang Extreme Basics ng MQTT: 3 Hakbang

Video: Ang SmartHome Wireless Communication: ang Extreme Basics ng MQTT: 3 Hakbang
Video: $5 DIY Wireless MQTT Smart Home Window Sensors 2024, Nobyembre
Anonim
Ang SmartHome Wireless Communication: ang Extreme Basics ng MQTT
Ang SmartHome Wireless Communication: ang Extreme Basics ng MQTT
Ang SmartHome Wireless Communication: ang Extreme Basics ng MQTT
Ang SmartHome Wireless Communication: ang Extreme Basics ng MQTT

Mga Pangunahing Kaalaman sa MQTT:

** Gagawa ako ng isang serye sa Home Automation, dadaan ako sa mga hakbang na kinuha ko upang malaman ang lahat ng nagawa ko sa hinaharap. Ang Instructable na ito ay ang batayan sa kung paano mag-set up ng MQTT para magamit sa aking hinaharap na Mga Instructable. Gayunpaman, ang mga turo sa nilalamang ito ay mailalapat sa anumang proyekto na nais mong gawin. **

Internet ng Mga Bagay:

Kinukuha ng Internet ng Mga Bagay ang buong mundo, at lalo na sa mga pamayanan tulad ng atin dito sa Instructables. Mula nang sumali ako sa pamayanan na ito ay nakatanim na sa mga taong nagtatayo

Ang mga aparato ay nakakonekta at kinokontrol sa internet. Kapag nagtatrabaho sa Internet ng Mga Bagay mahirap na hindi dumating sa pamamagitan ng protocol MQTT. Ito ay isang protocol ng komunikasyon tulad ng iba na ginagamit sa paligid ng Internet ngayon tulad ng HTTP o FTP, subalit ang paraan ng paggana nito ay naiiba na ginagawang perpekto para sa mga application ng Internet of Things.

Ano ang MQTT:

Ang MQTT (Mensahe ng Queue ng Telemetry Transport ay isang magaan na protokol sa komunikasyon na gumagamit ng isang arkitektura ng pag-publish / pag-subscribe. Ang HTTP, na kung saan ang ginagamit ng karamihan sa Internet, ay binuo sa isang sistema ng kahilingan / tugon. Nangangahulugan ito na nakakakuha ito ng isang kahilingan mula sa isang kliyente, at nagpapadala isang tugon sa kliyente na iyon. Ang MQTT ay mayroon ding isang server (tinatawag na isang broker) pati na rin maraming mga kliyente. Sa kaibahan sa HTTP, pinapayagan ng MQTT na mag-publish o mag-subscribe ang mga kliyente sa mga tukoy na "paksa". Ang pinapayagan nito ay mas malawak na komunikasyon sa pamamagitan ng isang sentralisadong punto, ang broker. Ang bawat node ay maaaring mai-publish sa isang paksa sa broker, at ang anumang node na naka-subscribe sa paksang iyon ay makakatanggap ng mensahe. Ang mga kliyente ay maaaring mag-subscribe sa maraming mga paksa pati na rin at pagkatapos ay makatanggap ng maraming mga direktiba o pag-update.

Ang buong system ay hinihimok ng kaganapan at pinapayagan ang mga mensahe mula sa broker na maitulak sa bawat client na naka-subscribe. Kaya sa halip na HTTP, kung saan hinihiling ng kliyente ang impormasyon, ang kliyente ay itinulak ang impormasyon nang direkta mula sa broker nang natanggap. Mayroong mga built-in na serbisyo na pinapayagan din ang iba't ibang mga pag-iingat, tulad ng mga pagtutukoy ng QOS. Pinapayagan ng isang pagtutukoy ang QOS para sa isang broker na matukoy kung ang isang mensahe ay kailangang maihatid nang higit sa isang beses, hindi bababa sa isang beses, o eksaktong isang beses. Tinitiyak nito na ang data ay naihatid sa kinakailangang paraan sa bawat kliyente. Ang mga kliyente ay maaari ring humiling na ang nai-publish na mga mensahe sa kanilang paksa ay buffered sa broker sa kaganapan na sila ay naka-disconnect mula dito para sa anumang kadahilanan. Sa sandaling bumalik ito sa online, ang data na iyon ay maitutulak sa kliyente.

Ang isang paksa ay walang espesyal, ito ay iba't ibang mga string lamang na pinagsama at pinaghihiwalay ng mga slash. Ang format sa halimbawang gagamitin sa ibaba ay ang sumusunod: bahay / kwarto / kisame_light. Ang bawat slash ay inilalagay pagkatapos ng isang paksa upang magpahiwatig ng isang subtopic. Kaya't ang isang mensahe ay maaaring mai-publish sa bahay, kung saan tatanggapin ito ng lahat ng mga aparato sa bahay. Maaari itong mai-publish nang direkta sa bahay / kwarto, kung saan ang lahat ng mga aparato sa kwarto ay makakatanggap ng mensahe. At maaari itong bumaba sa tukoy na aparato tulad ng unang ipinakita sa bahay / kwarto / kisame_light kung saan ang ilaw sa kisame lamang sa kwarto ang makakatanggap ng mensahe. Ang paraan na maaari nating mai-abstract ang mga indibidwal na aparato tulad nito hanggang sa isang buong ecosystem ay lubos na madaling gamitin, lalo na pagdating sa Home Automation. Mayroong mga karagdagang paraan upang masira ang mga paksa, at pupunta ako sa kanila nang higit pa sa hinaharap na Mga Tagubilin kung saan ang application ay may katuturan.

Mga gamit

Isa lamang sa mga sumusunod ang kinakailangan:

Ubuntu:

Windows Subsystem para sa Linux: https://ubuntu.com/wsl (Tanging kung wala kang Linux / MacOS)

MacOS: Nangangailangan ng isang MacBook

Kailangan ito:

Mosquitto MQTT Broker - Na-download gamit ang apt-get (Dokumentasyon:

Hakbang 1: Paunang Pag-set up (Depende sa Iyong OS)

MacOS / Linux:

Walang kinakailangang pag-setup buksan lamang ang iyong terminal at lumaktaw sa Mosquitto Setup!

Windows:

Kung nasa Windows ka, kakailanganin mong i-install ang Windows Subsystem para sa Linux. Ito ay isang napakadaling gamitin at napakahalagang tool na nagbibigay-daan sa iyo upang magpatakbo ng isang Ubuntu terminal sa loob ng Windows. Hindi kailangang mag-install at dalawahang boot Ubuntu upang masubukan lamang ang pag-unlad sa terminal!

Mga Hakbang sa Pag-install:

1. Pumunta sa Windows Store at maghanap para sa ubuntu

2. I-download at i-install ang Windows Subsystem para sa Linux

3. Buksan ang application at sundin ang mga tagubilin upang makumpleto ang pag-set up at handa ka nang magpatuloy!

Hakbang 2: Pag-setup ng Mosquitto:

Pag-setup ng Mosquitto
Pag-setup ng Mosquitto
Pag-setup ng Mosquitto
Pag-setup ng Mosquitto
Pag-setup ng Mosquitto
Pag-setup ng Mosquitto

Kaya't tulad ng tinalakay sa pagpapakilala tungkol sa MQTT, ang protocol ay nangangailangan ng isang broker (server). Ang broker na ito ay ang batayang punto para sa lahat ng mga itinatag na koneksyon sa bawat kliyente. Ang lahat ng mga mensahe ay naipasa at nakapila sa broker na ito. Maraming pagpipilian upang pumili mula sa isang broker, at mahahanap mo ang mga ito sa online, ngunit ang gagamitin namin ay marahil ang pinakakaraniwan: Mosquitto.

Ang Mosquitto ay isang MQTT Broker na nakabase sa Linux na may isang toneladang pag-andar. Hindi ko matutukoy ang mga detalye ng pagpapaandar na ito sa ngayon, ngunit ang ilang pangunahing mga kinakailangan na natutupad nito ay ang pagpapatotoo ng gumagamit / password, at sinusuportahan ng pag-encrypt ng TLS na lahat ay kapaki-pakinabang sa pagbuo ng mga aparatong Internet of Things.

Mga Hakbang:

Ang lahat ng mga hakbang na ito ay dapat na nakumpleto sa isang window ng terminal.

1. I-install ang Mosquitto at MQTT Clients

sudo apt-get install mosquitto mosquitto-kliyente

2. Mag-subscribe sa isang Paksa

mosquitto_sub -t "pagsubok"

Ang ginagawa nito ay nag-subscribe sa isang paksa. Ang paksang ito ay tinukoy ng "-t" at ang halaga ng paksa ay "pagsubok". Ang halagang ito na sumusunod sa "-t" ay maaaring maging anumang nais mong i-save para sa ilang mga espesyal na pagpapareserba.

3. Magbukas ng isang bagong window ng terminal at mag-publish ng isang mensahe sa paksang "pagsubok"

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

Naglathala ito ng isang mensahe sa paksang "pagsubok", pinapayagan ang aming iba pang mga halimbawa ng terminal na makatanggap ng mensahe sa panig ng subscription. Ang nai-publish na mensahe ay tinukoy ng isang "-m" at ang halaga ng mensahe ay "Hello World With MQTT". Ang mensaheng ito, tulad ng paksa, ay maaaring mabago sa anumang nais mo!

4. Pumunta sa unang window ng terminal upang makita ang iyong mga resulta! Dapat kang makatanggap ng isang mensahe na nagsabing "Hello World With MQTT" na ipinakita. Kung hindi mo ito nakikita, tiyaking na-type mo ang tamang paksa sa. Kung matagumpay mong nakumpleto ito, patuloy na maglaro dito. Subukan ang iba't ibang mga paksa, may mga subtopics at iba't ibang mga mensahe!

Hakbang 3: Balotin

Ayan yun! Kapag natapos mo na ang lahat naiintindihan mo ang mga pangunahing kaalaman sa kung paano gumagana ang MQTT. Ito ay isang napaka-rudimentaryong tutorial na nagpapakita lamang ng hubad na minimum ng MQTT na protocol. Ang mga Instructable sa Hinaharap ay lalakad nang mas malalim kung paano gumagana ang protocol sa pagsasanay ng Internet ng Mga Bagay, lalo na sa mga module ng ESP8266 na nagpapatakbo ng Arduino. Ang aking unang praktikal na aplikasyon ay ang matalinong tagagawa ng kape na mayroon ako kasalukuyang nasa aking silid. Kung nais mong malaman kung paano gumawa ng isang gumagawa ng kape na maaaring makontrol mula sa parehong iyong telepono at Alexa, tiyaking sundin ako para sa higit pang mga tutorial.

Inirerekumendang: