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

Ինչպես օգտագործել MQTT- ը Raspberry Pi- ի և ESP8266- ի հետ ՝ 8 քայլ (նկարներով)
Ինչպես օգտագործել MQTT- ը Raspberry Pi- ի և ESP8266- ի հետ ՝ 8 քայլ (նկարներով)

Video: Ինչպես օգտագործել MQTT- ը Raspberry Pi- ի և ESP8266- ի հետ ՝ 8 քայլ (նկարներով)

Video: Ինչպես օգտագործել MQTT- ը Raspberry Pi- ի և ESP8266- ի հետ ՝ 8 քայլ (նկարներով)
Video: BTT GTR v1.0/M5 v1.0 - Basics 2024, Հունիսի
Anonim
Ինչպես օգտագործել MQTT- ը Raspberry Pi- ի և ESP8266- ի հետ
Ինչպես օգտագործել MQTT- ը Raspberry Pi- ի և ESP8266- ի հետ

Այս Ուղեցույցում ես կբացատրեմ, թե որն է MQTT արձանագրությունը և ինչպես է այն օգտագործվում սարքերի միջև հաղորդակցվելու համար: Այնուհետև, որպես գործնական ցուցադրում, ես ձեզ ցույց կտամ, թե ինչպես ստեղծել պարզ երկու հաճախորդների համակարգ, որտեղ ESP8266 մոդուլը հաղորդագրություն կուղարկի կոճակը սեղմելիս Python ծրագրին: Մասնավորապես, ես այս ծրագրի համար օգտագործում եմ Adafruit HUZZAH մոդուլ, Raspberry Pi և աշխատասեղան: Raspberry Pi- ն հանդես կգա որպես MQTT բրոքեր, իսկ Python- ի հաճախորդը կաշխատի առանձին աշխատասեղանից (ըստ ցանկության, քանի որ այն կարող է գործարկվել Raspberry Pi- ի վրա):

Այս հրահանգին հետևելու համար ձեզ հարկավոր է ունենալ էլեկտրոնիկայի որոշ հիմնական գիտելիքներ և ինչպես օգտագործել Arduino ծրագրակազմը: Դուք նաև պետք է ծանոթ լինեք հրամանի տողի միջերեսին (Raspberry Pi- ի համար): Հուսանք, որ երբ դուք ձեռք բերեք գիտելիք այն մասին, թե ինչ է MQTT- ը և ինչպես այն օգտագործել հիմնական սցենարում, դուք կկարողանաք ստեղծել ձեր սեփական IoT նախագծերը:

Պահանջվող մասեր

  • 1 x Raspberry Pi, միացված է տեղական ցանցին (աշխատում է Jessie)
  • 1 x ESP8266 մոդուլ (Adafruit HUZZAH)
  • 1 x Breadboard
  • 3 x Jumper լարեր (տղամարդ-տղամարդ)
  • 1 x Սեղմակ
  • 1 x 10k Օմ դիմադրություն (շագանակագույն-սև-նարնջագույն գույնի կոդ)

Ես ստեղծել եմ այս Instructable- ը, քանի որ MQTT- ն ինձ միշտ հետաքրքրել է որպես արձանագրություն, և դրա օգտագործման շատ տարբեր եղանակներ կան: Այնուամենայնիվ, ինձ թվում էր, թե գլուխ չեմ հանում, թե ինչպես պետք է ծածկագրել սարքերն այն օգտագործելու համար: Դա տեղի էր ունենում այն պատճառով, որ ես չգիտեի/չէի հասկանում, թե իրականում ինչ էր կատարվում իմ «Բարև, աշխարհ» կատարելու համար: սարքից A և ուղարկեք այն սարքին B. Այսպիսով, ես որոշեցի գրել այս Instructable- ը (հուսով եմ) սովորեցնելու ձեզ, թե ինչպես է այն աշխատում, և նաև ամրապնդելու դրա մասին իմ սեփական ըմբռնումը:

Քայլ 1: Ի՞նչ է MQTT- ը:

Ի՞նչ է MQTT- ը
Ի՞նչ է MQTT- ը

MQTT կամ MQ Telemetry Transport- ը հաղորդագրությունների արձանագրություն է, որը թույլ է տալիս բազմաթիվ սարքերի խոսել միմյանց հետ: Ներկայումս այն իրերի ինտերնետի հանրաճանաչ արձանագրություն է, չնայած այն օգտագործվել է այլ նպատակների համար, օրինակ ՝ Facebook Messenger- ը: Հետաքրքիր է, որ MQTT- ն ստեղծվել է 1999 թ. Նշանակում է, որ այն ինձ պես հին է:

MQTT- ն հիմնված է այն գաղափարի շուրջ, որ սարքերը կարող են հրապարակել կամ բաժանորդագրվել թեմաներին: Այսպիսով, օրինակ. Եթե թիվ 1 սարքը գրանցել է ջերմաստիճանը իր սենսորներից մեկից, այն կարող է հրապարակել հաղորդագրություն, որը պարունակում է իր գրանցած ջերմաստիճանի արժեքը մինչև թեմա (օրինակ ՝ «peratերմաստիճան»): Այս հաղորդագրությունը ուղարկվում է MQTT բրոքերին, որը կարող եք պատկերացնել որպես անջատիչ/երթուղիչ տեղական ցանցում: MQTT բրոքերին հաղորդագրությունը ստանալուց հետո այն կուղարկվի ցանկացած թեմայի (այս դեպքում ՝ Սարք 2), որոնք բաժանորդագրված են նույն թեմային:

Այս նախագծում մենք կհրապարակենք մի թեմայի ESP8266- ի միջոցով և կստեղծենք Python սցենար, որը կհամալրվի այս նույն թեմայով ՝ Raspberry Pi- ի միջոցով, որը հանդես կգա որպես MQTT բրոքեր: MQTT- ի առավելությունն այն է, որ այն թեթև է, ուստի այն կատարյալ է փոքր միկրոկոնտրոլերների վրա աշխատելու համար, ինչպես օրինակ ESP8266- ը, բայց այն նաև լայնորեն հասանելի է, ուստի այն կարող ենք գործարկել նաև Python սցենարի վրա:

Հուսանք, որ այս նախագծի վերջում դուք կունենաք պատկերացում, թե ինչ է MQTT- ն և ինչպես այն օգտագործել ապագայում ձեր սեփական նախագծերի համար:

Քայլ 2: MQTT բրոքերի տեղադրում Raspberry Pi- ի վրա

MQTT բրոքերի տեղադրում Raspberry Pi- ի վրա
MQTT բրոքերի տեղադրում Raspberry Pi- ի վրա
MQTT բրոքերի տեղադրում Raspberry Pi- ի վրա
MQTT բրոքերի տեղադրում Raspberry Pi- ի վրա
MQTT բրոքերի տեղադրում Raspberry Pi- ի վրա
MQTT բրոքերի տեղադրում Raspberry Pi- ի վրա

Մեր MQTT համակարգը կարգավորելու համար մեզ անհրաժեշտ է միջնորդ, ինչպես բացատրվել է նախորդ քայլին: Raspberry Pi- ի համար մենք կօգտագործենք «Mosquitto» MQTT բրոքերը: Նախքան սա տեղադրելը, միշտ լավագույնն է թարմացնել մեր Raspberry Pi- ն:

sudo apt-get թարմացում

sudo apt-get բարելավում

Դա անելուց հետո տեղադրեք մոծակների, այնուհետև մոծակների հաճախորդների փաթեթները:

sudo apt -get տեղադրել mosquitto -y

sudo apt-get տեղադրել mosquitto-clients -y

Երբ ավարտեք այս երկու փաթեթների տեղադրումը, մենք պետք է կազմաձևենք բրոքերին: Մոծակների միջնորդի կազմաձևման ֆայլը գտնվում է /etc/mosquitto/mosquitto.conf հասցեով, այնպես որ բացեք այն ձեր նախընտրած տեքստային խմբագրիչով: Եթե դուք չունեք սիրված տեքստային խմբագիր կամ չգիտեք, թե ինչպես օգտագործել հրամանի տողի խմբագիրներից որևէ մեկը, ես կօգտագործեմ նանո, որպեսզի կարողանաք հետևել.

sudo nano /etc/mosquitto/mosquitto.conf

Այս ֆայլի ներքևում դուք պետք է տեսնեք տողը.

ներառում է_dir /etc/mosquitto/conf.d

Deնջել այս տողը: Ֆայլի ներքևում ավելացրեք հետևյալ տողերը.

թույլատրել_անուն կեղծ

password_file/etc/mosquitto/pwfile ունկնդիր 1883 թ

Այդ տողերը մուտքագրելով ՝ մենք mosquitto- ին ասացինք, որ մենք չենք ցանկանում, որ որևէ մեկը կապվի մեր բրոքերի հետ, ով չի տրամադրում վավեր օգտվողի անուն և գաղտնաբառ (մենք դրանք կսկսենք մեկ վայրկյանում) և որ մենք ցանկանում ենք, որ մոծակը լսեք 1883 պորտի համարի հաղորդագրությունները:

Եթե չեք ցանկանում, որ միջնորդը պահանջի օգտվողի անուն և գաղտնաբառ, մի՛ ներառեք մեր ավելացրած առաջին երկու տողերը (այսինքն ՝ թույլատրել_անուն… և գաղտնաբառ_ ֆայլը …): Եթե դա արել եք, ապա բաց թողեք Raspberry Pi- ի վերագործարկումը:

Այժմ փակեք (և պահեք) այդ ֆայլը: Եթե դուք հետևում եք նանո օրինակին, սեղմեք CTRL+X և խնդրելու դեպքում մուտքագրեք Y:

Քանի որ մենք պարզապես mosquitto- ին ասացինք, որ օգտվողները, ովքեր փորձում են օգտագործել MQTT միջնորդը, պետք է վավերացված լինեն, այժմ մենք պետք է mosquitto- ին ասենք, թե որն է օգտանունը և գաղտնաբառը: Այսպիսով, մուտքագրեք հետևյալ հրամանը `օգտվողի անունը փոխարինելով այն օգտվողի անունով, որը կցանկանայիք, այնուհետև մուտքագրեք այն գաղտնաբառը, որը կցանկանայիք (հուշում. Եթե կազմաձևման ֆայլը խմբագրելիս նշել եք այլ գաղտնաբառի ֆայլ) մեկը, որն օգտագործել ես)

sudo mosquitto_passwd -c/etc/mosquitto/pwfile օգտվողի անուն

Քանի որ մենք նոր ենք փոխել մոծակների կազմաձևման ֆայլը, մենք պետք է վերագործարկենք Raspberry Pi- ն:

sudo վերագործարկում

Երբ Raspberry Pi- ն ավարտի վերագործարկումը, դուք պետք է ունենաք լիովին գործող MQTT բրոքեր: Հաջորդը, մենք փորձելու ենք փոխազդել դրա հետ ՝ օգտագործելով մի շարք տարբեր սարքեր/մեթոդներ:

Քայլ 3. Բրոքերի փորձարկում

Բրոքերի փորձարկում
Բրոքերի փորձարկում

Երբ դուք մոծակ տեղադրեք Raspberry Pi- ի վրա, կարող եք այն արագ փորձարկում տալ `պարզապես համոզվելու համար, որ ամեն ինչ ճիշտ է աշխատում: Այդ նպատակով կան երկու հրաման, որոնք կարող ենք օգտագործել հրամանի տողում: mosquitto_pub և mosquitto_sub: Այս քայլին ես ձեզ կառաջնորդեմ ՝ օգտագործելով դրանցից յուրաքանչյուրը ՝ մեր բրոքերին փորձարկելու համար:

Բրոքերը փորձարկելու համար հարկավոր է բացել երկու հրամանի տողի պատուհան: Եթե դուք օգտագործում եք Putty կամ մեկ այլ SSH հաճախորդ, սա նույնքան պարզ է, որքան մեկ այլ SSH պատուհան բացելը և սովորական մուտք գործելը: Եթե ձեր Pi- ին մուտք եք գործում UNIX տերմինալից, սա ճիշտ նույնն է: Եթե դուք անմիջականորեն օգտագործում եք Raspberry Pi- ն, ապա ձեզ հարկավոր է բացել երկու տերմինալային պատուհան GUI ռեժիմում (հրամանը startx կարող է օգտագործվել GUI- ն գործարկելու համար):

Այժմ, երբ դուք բացել եք երկու պատուհան, մենք կարող ենք սկսել փորձարկումները: Երկու տերմինալներից մեկում մուտքագրեք հետևյալ հրամանը ՝ օգտվողի անունն ու գաղտնաբառը փոխարինելով նախորդ քայլին տեղադրածներով:

mosquitto_sub -d -u օգտվողի անուն -P գաղտնաբառ -t test

Եթե նախորդ քայլին որոշել եք օգտվողի անուն և գաղտնաբառ չդնել, ապա այսուհետ անտեսեք -u և -P դրոշները հրամաններում: Այսպիսով, որպես օրինակ, mosquitto_sub հրամանը այժմ կլինի.

mosquitto_sub -d -t թեստ

Mosquitto_sub հրամանը բաժանորդագրվելու է թեմայի և տերմինալի պատուհանում կցուցադրի նշված թեմային ուղարկված ցանկացած հաղորդագրություն: Այստեղ -d նշանակում է կարգաբերման ռեժիմ, այնպես որ բոլոր հաղորդագրություններն ու գործունեությունը դուրս կգան էկրանին: -u և -P- ն պետք է լինեն ինքնուրույն բացատրող: Ի վերջո, -t- ը այն թեմայի անվանումն է, որին մենք ցանկանում ենք բաժանորդագրվել `այս դեպքում` «թեստ»:

Հաջորդը, մյուս տերմինալի պատուհանում, մենք կփորձենք հաղորդագրություն հրապարակել «թեստ» թեմային: Մուտքագրեք հետևյալը ՝ կրկին հիշելով ՝ օգտվողի անունը և գաղտնաբառը փոխելու համար.

mosquitto_pub -d -u օգտվողի անուն -P գաղտնաբառ -t test -m «Բարև, աշխարհ»:

Երբ սեղմում եք enter, դուք պետք է տեսնեք ձեր հաղորդագրությունը «Բարև, աշխարհ»: հայտնվում է մեր օգտագործած առաջին տերմինալային պատուհանում (բաժանորդագրվելու համար): Եթե դա այդպես է, դուք պատրաստ եք սկսել աշխատել ESP8266- ի վրա:

Քայլ 4. ESP8266- ի տեղադրում (Adafruit HUZZAH)

ESP8266- ի տեղադրում (Adafruit HUZZAH)
ESP8266- ի տեղադրում (Adafruit HUZZAH)
ESP8266- ի տեղադրում (Adafruit HUZZAH)
ESP8266- ի տեղադրում (Adafruit HUZZAH)
ESP8266- ի տեղադրում (Adafruit HUZZAH)
ESP8266- ի տեղադրում (Adafruit HUZZAH)
ESP8266- ի տեղադրում (Adafruit HUZZAH)
ESP8266- ի տեղադրում (Adafruit HUZZAH)

Այս քայլը, եթե հատուկ է Adafruit HUZZAH- ին (քանի որ դա այն է, ինչ ես օգտագործում եմ այս նախագիծն ավարտելու համար): Եթե դուք օգտագործում եք այլ Arduino / ESP8266 սարք, գուցե ցանկանաք բաց թողնել այս քայլը: Այնուամենայնիվ, ես ձեզ խորհուրդ կտամ չկարդալ այն, միայն այն դեպքում, եթե այստեղ որևէ տեղեկատվություն լինի, որը կարող է համապատասխան լինել ձեզ:

Այս նախագծի համար ես ծրագրավորելու եմ HUZZAH- ը Arduino ծրագրակազմով: Այսպիսով, եթե դեռ չեք հասցրել, համոզվեք, որ տեղադրեք Arduino ծրագիրը (ավելի նոր, քան 1.6.4): Կարող եք ներբեռնել այստեղ:

Arduino ծրագրաշարը տեղադրելուց հետո բացեք այն և անցեք դեպի File-> Preferences: Այստեղ դուք պետք է տեսնեք (պատուհանի ներքևի մասում) տեքստային տուփ պիտակով ՝ «Լրացուցիչ խորհուրդների մենեջերի հասցեներ»: Այս տեքստային դաշտում պատճենեք և տեղադրեք հետևյալ հղումը.

arduino.esp8266.com/stable/package_esp8266com_index.json

Կտտացրեք OK ՝ ձեր փոփոխությունները պահելու համար: Այժմ բացեք խորհրդի կառավարիչը (Գործիքներ-> Տախտակ-> Խորհրդի կառավարիչ) և փնտրեք ESP8266: Տեղադրեք esp8266- ը ESP8266 Community փաթեթով: Վերագործարկեք Arduino ծրագիրը:

Այժմ, նախքան մենք կարող ենք ծրագրավորել տախտակը, մենք պետք է ընտրենք մի քանի տարբերակներ: Գործիքների ընտրացանկում ընտրեք Adafruit HUZZAH ESP8266 տախտակի համար, 80 ՄՀց պրոցեսորի հաճախականության համար (կարող եք օգտագործել 160 ՄՀց, եթե ցանկանում եք այն գերլարել, բայց առայժմ ես կօգտագործեմ 80 ՄՀց), 4 Մ (3 Մ SPIFFS) Flash Չափի համար, և 115200 ՝ Բեռնման արագության համար: Բացի այդ, համոզվեք, որ ընտրեք օգտագործվող COM նավահանգիստը (դա կախված կլինի ձեր կարգավորումից):

Նախքան որևէ ծածկագիր վերբեռնելը, դուք պետք է համոզվեք, որ HUZZAH- ը գտնվում է bootloader ռեժիմում: Դա միացնելու համար պահեք GPIO0 նշումով տախտակի կոճակը, և մինչ դա պահված է, պահեք նաև Վերակայման կոճակը: Այնուհետև բաց թողեք «Վերականգնել» կոճակը, այնուհետև GPIO0- ը: Եթե դա ճիշտ եք արել, կարմիր LED- ը, որը վառվել է GPIO0- ը սեղմելիս, այժմ պետք է թույլ լուսավորված լինի:

Միկրոկառավարիչին կոդ վերբեռնելու համար նախ համոզվեք, որ HUZZAH- ը գտնվում է բեռնման ռեժիմում, այնուհետև պարզապես կտտացրեք բեռնման կոճակին Arduino IDE- ում:

Եթե HUZZAH- ի ստեղծման հետ կապված որևէ խնդիր ունեք, լրացուցիչ տեղեկություններ կարող եք գտնել Adafruit- ի սեփական ձեռնարկում:

Քայլ 5. ESP8266- ի ծրագրավորում

ESP8266 ծրագրավորում
ESP8266 ծրագրավորում

Այժմ մենք կսկսենք ծրագրավորել ESP8266- ը, բայց մինչ մենք կսկսենք, դուք պետք է տեղադրեք հետևյալ գրադարանները Arduino գրադարանի կառավարիչում (ուրվագիծ-> Ներառեք գրադարաններ-> Կառավարեք գրադարանները)

  • Վերադարձ 2
  • PubSubClient

Այդ գրադարանները տեղադրելուց հետո դուք կկարողանաք գործարկել այն կոդը, որը ես ներառել եմ այս Instructable- ում (MQTT_Publish.zip): Ես համոզվեցի, որ այն մեկնաբանում եմ, որպեսզի կարողանաք հասկանալ, թե ինչ է անում յուրաքանչյուր բաժին, և դա, հուսով եմ, հնարավորություն կտա ձեզ հարմարեցնել այն ձեր կարիքներին:

Հիշեք, որ փոփոխեք կոդի վերևի հաստատունները, որպեսզի ձեր ESP8266- ը կարողանա միանալ ձեր WiFi ցանցին և ձեր MQTT բրոքերին (Raspberry Pi):

Եթե որոշել եք MQTT բրոքերի համար օգտվողի անուն և գաղտնաբառ չդնել, ապա դրա փոխարեն ներբեռնեք MQTT_PublishNoPassword.zip ֆայլը:

Քայլ 6: Տեղադրեք Python Client (paho-mqtt)

Python Client- ի տեղադրում (paho-mqtt)
Python Client- ի տեղադրում (paho-mqtt)

Բարեբախտաբար, այս քայլը շատ պարզ է: Mosquitto python հաճախորդը տեղադրելու համար պարզապես անհրաժեշտ է հրամանի տողում (Linux/Mac) կամ նույնիսկ հրամանի տողում (Windows) մուտքագրել հետևյալը.

pip տեղադրել paho-mqtt

Նշում. Windows- ի հրամանի տողում կարող է խնդիր լինել pip հրամանը գործարկելու դեպքում, եթե չնշեք, որ ցանկանում եք pip- ը տեղադրվի, և Python- ը տեղադրելիս Python- ը ավելացվի ձեր PATH փոփոխականին: Սա շտկելու մի շարք եղանակներ կան, բայց ես կարծում եմ, որ պարզապես Python- ի վերատեղադրումը ամենահեշտ ձևն է: Եթե կասկածում եք, տվեք այն Google- ին:

Քայլ 7: Python Client - Բաժանորդագրություն

Python Client - Բաժանորդագրություն
Python Client - Բաժանորդագրություն

Այս քայլին մենք պատրաստվում ենք կարգավորել Python սցենարը (կամ Raspberry Pi- ի վրա, կամ ցանցին միացված այլ համակարգչի վրա) ՝ ESP8266- ի կողմից ուղարկված (հրապարակված) բոլոր հաղորդագրությունները MQTT թեմային կարգավորելու համար:

Ստորև ես ներառել եմ Python ծածկագիրը (PythonMQTT_Subscribe.py), որը մեկնաբանվել է ՝ հասկանալու համար, թե ինչ է կատարվում, բայց այստեղ նույնպես կբացատրեմ որոշ հիմնական հատկանիշներ:

Եթե ավելի վաղ MQTT կապի համար օգտվողի անուն և գաղտնաբառ չեք սահմանել, փոխարենը ներբեռնեք PythonMQTT_SubscribeNoPassword.py ֆայլը:

Քայլ 8. Հաղորդակցություն ESP8266 սարքերի միջև

ESP8266 սարքերի միջև հաղորդակցություն
ESP8266 սարքերի միջև հաղորդակցություն

Եթե ցանկանում եք, օրինակ, IoT ցանց ստեղծել, գուցե ցանկանաք հաղորդակցվել ESP8266 սարքերի միջև: Բարեբախտաբար, սա շատ ավելի բարդ չէ, քան նախկինում գրած կոդը, այնուամենայնիվ, կան մի քանի ուշագրավ փոփոխություններ:

Որպեսզի մեկ ESP- ն տվյալներ ուղարկի մյուսին, առաջին ESP- ը պետք է հրապարակի թեմային, իսկ երկրորդ ESP- ը `պետք է բաժանորդագրվի այդ թեմային: Այս կարգավորումը թույլ կտա միակողմանի զրույց անցկացնել ՝ ESP (1) ESP (2): Եթե մենք ցանկանում ենք, որ ESP (2) - ը վերադառնա ESP (1), մենք կարող ենք ստեղծել նոր թեմա, որին ESP (2) կհրապարակի, և ESP (1) - ը բաժանորդագրվի: Բարեբախտաբար, մենք կարող ենք ունենալ մի քանի բաժանորդ նույն թեմայով, այնպես որ, եթե ցանկանում եք տվյալներ ուղարկել մի շարք համակարգերի, ձեզ հարկավոր կլինի միայն մեկ թեմա (որին նրանք բոլորը բաժանորդագրվում են, բացի տվյալները ուղարկող սարքից, քանի որ դա հրապարակում):

Եթե օգնության կարիք ունեք ՝ պարզելու, թե ինչ պետք է անի յուրաքանչյուր սարք, մտածեք համակարգի մասին ՝ որպես մարդկանց սենյակ: Եթե ESP (1) հրատարակվում է, կարող եք պատկերացնել այս սարքը որպես «բարձրախոս», և թեմային բաժանորդագրվող ցանկացած սարք այս օրինակում «ունկնդիրներ» են:

Ստորև ես ներառել եմ մի քանի օրինակային կոդ, որը ցույց է տալիս, թե ինչպես ESP8266- ը կարող է բաժանորդագրվել որևէ թեմայի և լսել որոշակի հաղորդագրություններ `1 և 0. Եթե ստացվել է 1, միացված է LED- ը (HUZZAH - GPIO 0) - ի համար:. Եթե ստացվի 0, ապա այս LED- ն անջատված է:

Եթե ցանկանում եք մշակել ավելի բարդ տվյալներ, դա պետք է արվի ReceivedMessage գործառույթում (տես կոդը):

Ձեր նախագծերի համար, եթե անհրաժեշտ է և՛ տվյալներ ուղարկել, և՛ ստանալ, կարող եք ներառել նախորդ օրինակից հրապարակման գործառույթը այս քայլին ընդգրկված կոդի մեջ: Սա պետք է մշակվի հիմնական Arduino loop () գործառույթում:

Հիշեք, որ փոփոխեք փոփոխականի ծածկագրի վերևում ՝ ձեր ցանցին համապատասխան:

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