Мазмуну:

SmartHome Зымсыз Байланыш: MQTTдин Экстремалдык Негиздери: 3 кадам
SmartHome Зымсыз Байланыш: MQTTдин Экстремалдык Негиздери: 3 кадам

Video: SmartHome Зымсыз Байланыш: MQTTдин Экстремалдык Негиздери: 3 кадам

Video: SmartHome Зымсыз Байланыш: MQTTдин Экстремалдык Негиздери: 3 кадам
Video: КАМЕРА ДИНОЗАВР | ДУМАЛ ОНИ ВЫМЕРЛИ | Tuya Smart 2024, Июль
Anonim
SmartHome Wireless Communication: MQTTдин өтө негиздери
SmartHome Wireless Communication: MQTTдин өтө негиздери
SmartHome Wireless Communication: MQTTдин өтө негиздери
SmartHome Wireless Communication: MQTTдин өтө негиздери

MQTT негиздери:

** Мен үйдү автоматташтыруу сериясын жасайм, келечекте кылган нерселеримди үйрөнүү үчүн жасаган кадамдарымдан өтөм. Бул Instructable менин келечектеги Instructables колдонууга MQTT кантип орнотуу боюнча базалык болуп саналат. Ошентсе да, бул мазмундагы окуу кимдир бирөөнүн каалаган долбооруна тиешелүү болот. **

Заттар Интернети:

Заттар Интернети дүйнөнү ээлеп жатат, жана өзгөчө бул жерде Instructables'деги өзүбүзгө окшогон жамааттарда. Мен бул жамаатка кошулгандан бери ал элди куруу менен бекемделди

Интернетке туташкан жана көзөмөлдөнгөн түзмөктөр. Интернет нерселери менен иштөөдө MQTT протоколу менен келбөө кыйын. Бул HTTP же FTP сыяктуу Интернетте колдонулган башка адамдар сыяктуу байланыш протоколу, бирок анын иштөө тартиби башка нерселер үчүн Интернеттин тиркемелери үчүн идеалдуу кылат.

MQTT деген эмне:

MQTT (Message Queuing Telemetry Transport) - бул жарыялоо/жазылуу архитектурасын колдонгон жеңил байланыш протоколу. Интернеттин көбү колдонгон HTTP суроо/жооп системасынын негизинде курулган. Бул кардардан суроо -талапты алат жана жөнөтөт дегенди билдирет ошол кардарга жооп. MQTT дагы көптөгөн кардарлар сыяктуу эле серверге (брокер деп аталат) ээ. HTTPден айырмаланып, MQTT кардарларга конкреттүү "темаларды" жарыялоого же жазылууга мүмкүндүк берет. борборлоштурулган чекит, брокер. Ар бир түйүн брокердеги темага жарыялай алат жана ошол темага жазылган каалаган түйүн кабар алат. Кардарлар бир нече темага жазыла алышат, андан кийин бир нече көрсөтмөлөрдү же жаңыртууларды ала алышат.

Бүт система окуяга негизделген жана брокерден келген билдирүүлөрдү ар бир жазылган кардарга жөнөтүүгө мүмкүндүк берет. Ошентип, кардар маалыматты сураган HTTPге караганда, кардар маалыматты алгандан кийин брокерден түз алып салат. Колдонулган кызматтар бар, ошондой эле QOS спецификациясы сыяктуу ар кандай коргоолорго мүмкүндүк берет. QOS спецификациясы брокерге билдирүүнү эң көбү бир жолу, жок дегенде бир жолу же так бир жолу жеткирүү керекпи же жокпу аныктоого мүмкүндүк берет. Бул маалыматтарды ар бир кардарга керектүү түрдө жеткирүүнү камсыз кылат. Кардарлар, ошондой эле кандайдыр бир себептерден улам ажыратылган учурда, алардын темасына жарыяланган билдирүүлөр брокерде буферленгенин сурай алышат. Интернетке кайтып келгенде, бул маалыматтар кардарга жөнөтүлөт.

Тема өзгөчө эч нерсе эмес, бул сызыктар менен бириктирилген жана бөлүнгөн ар кандай саптар. Төмөндө колдонула турган мисалдагы формат төмөнкүдөй: үй/уктоочу бөлмө/потолок_ жарыгы. Ар бир сызык субтексти билдирүү үчүн темадан кийин коюлат. Ошентип, билдирүү үйгө жарыяланышы мүмкүн, үйдүн бардык түзмөктөрү аны алышат. Ал түз эле үйгө/уктоочу жайга жарыяланышы мүмкүн, анда уктоочу бөлмөдөгү бардык түзмөктөр кабар алышат. Ал белгилүү бир түзмөккө түшүшү мүмкүн, биринчи жолу үй/уктоочу бөлмө/shift_light көрсөтүлөт, мында уктоочу бөлмөдөгү шыптын жарыгы гана кабар алат. Айрым түзмөктөрдү бүтүндөй экосистемага чейин абстракциялоо ыкмасы абдан ыңгайлуу, айрыкча үй автоматизациясына келгенде. Темаларды бөлүүнүн башка жолдору бар, жана мен аларды келечекте Инструктивдүү сабактарда дагы колдонуп көрөм, анда колдонмо эң мааниси бар.

Жабдуулар

Төмөнкүлөрдүн бири гана керек:

Ubuntu:

Linux үчүн Windows чакан системасы: https://ubuntu.com/wsl (Linux/MacOS жок болсо гана)

MacOS: MacBook талап кылынат

Бул талап кылынат:

Mosquitto MQTT Broker - apt -get аркылуу жүктөлдү (Документтер:

1 -кадам: Алгачкы орнотуу (ОСке жараша)

MacOS/Linux:

Орнотуунун кереги жок, жөн эле терминалыңызды ачып, Mosquitto Setupка өтүңүз!

Windows:

Эгерде сиз Windowsта болсоңуз, Linux үчүн Windows подсистемасын орнотушуңуз керек болот. Бул Windows ичинде Ubuntu терминалын иштетүүгө мүмкүндүк берүүчү супер оңой жана өтө баалуу курал. Терминалда иштеп чыгууну текшерүү үчүн Ubuntu'ду орнотуунун жана кош жүктөөнүн кереги жок!

Орнотуу кадамдары:

1. Windows дүкөнүнө барып, ubuntu издеңиз

2. Linux үчүн Windows чакан системасын жүктөп алып орнотуңуз

3. Колдонмону ачып, орнотууну аягына чыгаруу үчүн көрсөтмөлөрдү аткарыңыз жана сиз улантууга даярсыз!

2 -кадам: Mosquitto орнотуу:

Mosquitto орнотуу
Mosquitto орнотуу
Mosquitto орнотуу
Mosquitto орнотуу
Mosquitto орнотуу
Mosquitto орнотуу

Ошентип, MQTT жөнүндө киришүүдө айтылгандай, протокол брокерди (серверди) талап кылат. Бул брокер ар бир кардарга бардык түзүлгөн байланыштар үчүн базалык пункт болуп саналат. Бардык билдирүүлөр ушул брокерде өтүп, кезекке турат. Брокерди тандоо үчүн көптөгөн варианттар бар, жана сиз аларды интернеттен таба аласыз, бирок биз колдоно турган вариант, балким, эң кеңири таралган: чиркей.

Mosquitto-бул Linuxтун негизинде иштей турган MQTT брокери. Мен азыр бул функциянын өзгөчөлүктөрүнө кире албайм, бирок ал аткарган бир нече негизги талаптар - бул колдонуучунун/сырсөздүн аныктыгын текшерүү жана TLS шифрлөө колдоосу, булардын баары Интернет нерселерин түзүүдө пайдалуу.

Кадамдар:

Бул кадамдардын баары терминалдык терезеде аткарылышы керек.

1. Mosquitto жана MQTT кардарларын орнотуңуз

sudo apt-get чиркей чиркей-кардарларын орнотуу

2. Темага жазылуу

mosquitto_sub -t "тест"

Бул эмне бир темага жазылуу. Бул тема "-t" менен белгиленет жана теманын мааниси "тест". "-T" кийинки бул мааниси сиз каалаган бир нерсе болушу мүмкүн, бир нече атайын эскертүүлөр үчүн.

3. Жаңы терминал терезесин ачыңыз жана "тест" темасына билдирүү жарыялаңыз

mosquitto_pub -t "test" -m "MQTT менен Hello World!"

Бул биздин башка терминалдык инстанциябызга жазылуу жагында билдирүүнү алууга мүмкүндүк берүүчү "тест" темасына билдирүү жарыялайт. Жарыяланган билдирүү "-m" менен белгиленет жана билдирүүнүн мааниси "Hello World With MQTT". Бул билдирүү, тема сыяктуу эле, сиз каалаган нерсеге өзгөртүлүшү мүмкүн!

4. Жыйынтыгыңызды көрүү үчүн биринчи терминал терезесине өтүңүз! Сиз "Hello World With MQTT" көрсөтүлөт деген билдирүү алышыңыз керек. Эгер сиз муну көрө албасаңыз, анда туура теманы киргизгениңизди текшериңиз. Эгер сиз аны ийгиликтүү аяктасаңыз, аны менен ойноону улантыңыз. Ар кандай темаларды, субтокикаттарды жана башка билдирүүлөрдү колдонуп көрүңүз!

3 -кадам: Бүтүр

Дал ушул! Баарын бүтүргөндөн кийин, сиз MQTTдин иштөө негиздерин түшүнөсүз. Бул жөн эле MQTT протоколдун минимумун көрсөткөн абдан жөнөкөй окуу куралы. Future Instructables Протокол нерселердин Интернети менен, айрыкча Arduino менен иштеген ESP8266 модулдары менен кантип иштээрин тереңирээк карап чыгат. Менин биринчи практикалык тиркеме менин бөлмөмдө болгон акылдуу кофе кайнатуучу болот. Эгерде сиз телефонуңуздан да, Alexa'дан да башкарыла турган кофе кайнаткычты кантип жасоону үйрөнгүңүз келсе, көбүрөөк окуу куралдары үчүн мени ээрчиңиз.

Сунушталууда: