Բովանդակություն:

NodeMCU - MQTT Հիմնական օրինակ ՝ 4 քայլ
NodeMCU - MQTT Հիմնական օրինակ ՝ 4 քայլ

Video: NodeMCU - MQTT Հիմնական օրինակ ՝ 4 քայլ

Video: NodeMCU - MQTT Հիմնական օրինակ ՝ 4 քայլ
Video: Home Assistant. Դաս 9.4 ADD-ON - Xiaomi Gateway 3, zigbee2mqtt ինտեգրում 2024, Հուլիսի
Anonim
Image
Image

Այս դասը ցույց կտա MQTT արձանագրության հիմնական օգտագործումը NodeMCU տախտակի վրա:

Հրապարակեք «բարև աշխարհ» «outTopic» թեմային ամեն երկու վայրկյանը մեկ: Բաժանորդագրվեք «inTopic» թեմային, տպեք ցանկացած ստացված հաղորդագրություն: Այն ենթադրում է, որ ստացված բեռները տողեր են, այլ ոչ թե երկուական: Եթե բաժանորդագրված հաղորդագրությունը «1» է, լուսավորեք onboards LED: Անջատեք ինքնաթիռի LED- ն, եթե բաժանորդագրվելու հաղորդագրությունը «0» է:

Նախապատրաստում. Osoyoo NodeMCU x1

USB մալուխ x1

PC x1

Arduino IDE (Versin 1.6.4+)

Միացրեք NodeMCU- ն համակարգչին USB մալուխի միջոցով:

Քայլ 1: Գրադարանի տեղադրում

Գրադարանի տեղադրում
Գրադարանի տեղադրում
Գրադարանի տեղադրում
Գրադարանի տեղադրում

Տեղադրեք PubSubClientlibrary- ը

Մեզ անհրաժեշտ է տեղադրել MQTT վերջնական գրադարան (PubSubClient) ՝ MQTT բրոքերի հետ շփվելու համար, խնդրում ենք գրադարանը ներբեռնել հետևյալ հղումից ՝

Անջատեք վերևի ֆայլը, տեղափոխեք չփակված թղթապանակը Arduino IDE գրադարանի թղթապանակ:

Բացեք Arduino IED- ը, «Pubsubclient» - ը կարող եք գտնել «Օրինակներ» սյունակում:

Տեղադրեք MQTT հաճախորդ

մենք կօգտագործենք MQTTBox- ը որպես MQTT հաճախորդ: խնդրում ենք ներբեռնել ՝

Քայլ 2: Կոդ

Կոդ
Կոդ
Կոդ
Կոդ

բացեք Arduino IDE–> Ֆայլ–> Օրինակ–> pubsubclient–> mqtt esp8266, դուք կստանաք նմուշի կոդ:

Խմբագրեք կոդը ՝ ձեր WiFi- ի և MQTT- ի պարամետրերին համապատասխանելու համար ՝ որպես հետևյալ գործողություններ.

const char* ssid = "your_hotspot_ssid"; const char* գաղտնաբառ = "your_hotspot_password";

2) MQTT սերվերի հասցեի կարգավորում, այստեղ մենք օգտագործում ենք անվճար MQTT բրոքեր «broker.mqtt-dashboard.com»: Դուք կարող եք օգտագործել ձեր սեփական MQTT բրոքերի URL- ն կամ IP հասցեն `mqtt_server արժեքը վերևում սահմանելու համար: Կարող եք նաև օգտագործել որոշ հայտնի անվճար MQTT սերվեր ՝ նախագիծը փորձարկելու համար, օրինակ ՝ «broker.mqtt-dashboard.com», «iot.eclipse.org» և այլն:

const char* mqtt_server = «բրոքեր.mqtt-dashboard.com»;

3) MQTT Հաճախորդի կարգավորումներ Եթե ձեր MQTT բրոքերից պահանջվում է clientID, օգտվողի անուն և գաղտնաբառի նույնականացում, ապա ձեզ հարկավոր է

փոփոխություն

եթե (client.connect (clientId.c_str ()))

Դեպի

if (client.connect (clientId, userName, passWord)) // տեղադրել ձեր clientId/userName/passWord այստեղ

Եթե ոչ, պարզապես պահեք դրանք որպես կանխադրված: Դրանից հետո ընտրեք ստորև նշված տախտակի տեսակը և նավահանգստի տեսակը, այնուհետև ուրվագիծը վերբեռնեք NodeMCU- ին:

  • Տախտակ. «NodeMCU 0.9 (ESP-12 մոդուլ)»
  • Պրոցեսորի հաճախականությունը ՝ «80 ՄՀց» Ֆլեշի չափը ՝ «4 Մ (3 Մ SPIFFS)»
  • Բեռնման արագություն ՝ 115200
  • Պորտ. Ընտրեք ձեր սեփական սերիական նավահանգիստը ձեր NodeMCU- ի համար

Քայլ 3: Կարգավորեք MQTT հաճախորդը (MQTTBOX)

Կարգավորել MQTT հաճախորդը (MQTTBOX)
Կարգավորել MQTT հաճախորդը (MQTTBOX)
Կարգավորել MQTT հաճախորդը (MQTTBOX)
Կարգավորել MQTT հաճախորդը (MQTTBOX)
Կարգավորել MQTT հաճախորդը (MQTTBOX)
Կարգավորել MQTT հաճախորդը (MQTTBOX)
Կարգավորել MQTT հաճախորդը (MQTTBOX)
Կարգավորել MQTT հաճախորդը (MQTTBOX)

Այս քայլում մենք ցույց կտանք, թե ինչպես ստեղծել MQTT հաճախորդ MQTTBox- ում:

Բացեք MQTTBox- ը և կտտացրեք կապույտ կոճակին ՝ նոր MQTT հաճախորդ ավելացնելու համար:

Կարգավորեք MQTT Հաճախորդների կարգավորումները ՝ ստորև.

  • MQTT Client Name - Ընտրեք ցանկացած անուն, որը Ձեզ դուր է գալիս
  • Արձանագրություն - Ընտրեք «mqtt/tcp»
  • Հյուրընկալող - Այս սյունակում մուտքագրեք ձեր «mqtt_server» - ը, համոզվեք, որ այն նույնն է, ինչ ձեր ուրվագիծը: (Մենք այստեղ օգտագործում ենք «broker.mqtt-dashboard.com»)
  • Այլ կարգավորումները պահեք որպես կանխադրված
  • Կտտացրեք ՝ ձեր փոփոխությունները պահելու համար:

Հաջորդը, դուք ինքնաբերաբար կմտնեք նոր էջ: Եթե վերը նշված բոլոր կազմաձևերը ճիշտ են, «Միացված չէ» -ը կփոխվի «Միացված» -ի, ձեր MQTT հաճախորդի անունն ու Հոստի անունը կցուցադրվեն այս էջի վերևում:

Թեմայի կարգավորում. Համոզվեք, որ MQTT հաճախորդի հրապարակման թեման նույնն է, ինչ Arduino- ի էսքիզների բաժանորդագրման թեման (inTopic այստեղ: Համոզվեք, որ ձեր MQTT հաճախորդի բաժանորդագրության թեման նույնն է, ինչ Arduino- ի էսքիզների հրապարակման թեման (outTopic here):

Քայլ 4: Runրագրի գործարկման արդյունքը

Runրագրի գործող արդյունքը
Runրագրի գործող արդյունքը
Runրագրի գործող արդյունքը
Runրագրի գործող արդյունքը
Runրագրի գործարկման արդյունքը
Runրագրի գործարկման արդյունքը
Runրագրի գործարկման արդյունքը
Runրագրի գործարկման արդյունքը

Վերբեռնումն ավարտվելուց հետո, եթե wifi թեժ կետի անվան և գաղտնաբառի կարգավորումը կարգին է, և MQTT միջնորդը միացված է, բացեք Սերիայի մոնիտորը, սերիական մոնիտորի վրա կտեսնեք հրապարակվող «բարև աշխարհ» հաղորդագրությունը:

Այնուհետև բացեք MQTT հաճախորդը և թողարկեք «1» բեռնվածքը թեմայի վերաբերյալ, այս NodeMCU- ն կստանա այս հաղորդագրությունները ՝ բաժանորդագրվելով «inTopic» - ին, և LED- ը լուսավորված կլինի:

Այս թեմայի համար հրապարակեք «0» բեռնվածությունը, NodeMCU LED- ն անջատված կլինի:

Խորհուրդ ենք տալիս: