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

UDP/IP դարպաս Arduino- ի համար ESP8266 Shield- ի հիման վրա. 8 քայլ
UDP/IP դարպաս Arduino- ի համար ESP8266 Shield- ի հիման վրա. 8 քայլ

Video: UDP/IP դարպաս Arduino- ի համար ESP8266 Shield- ի հիման վրա. 8 քայլ

Video: UDP/IP դարպաս Arduino- ի համար ESP8266 Shield- ի հիման վրա. 8 քայլ
Video: Урок №9. Настраиваем статический IP адрес для подключения микроконтроллера ESP8266 к Wi-Fi сети. 2024, Հուլիսի
Anonim
Սերիական UDP/IP դարպաս Arduino- ի համար ՝ ESP8266 Shield- ի հիման վրա
Սերիական UDP/IP դարպաս Arduino- ի համար ՝ ESP8266 Shield- ի հիման վրա

Ես արդեն 2016 թվականին հրապարակեցի այս ուսանելի «Ինչպես կատարել ձեր սեփական Wifi դարպասը ՝ ձեր Arduino- ն IP ցանցին միացնելու համար»: Քանի որ ես կատարելագործեցի կոդի որոշ բարելավումներ և դեռ օգտագործում եմ այս լուծումը:

Այնուամենայնիվ, այժմ կան որոշ ESP8266 վահաններ, որոնք թույլ են տալիս նույնն անել առանց զոդման, քանի դեռ չեք օգտագործում միկրո կամ նանո տախտակներ:

Այս հրահանգը կբացատրի, թե ինչպես օգտագործել այս ESP82 վահանները որպես սերիական UDP/IP դարպաս:

Սա տանում է գլոբալ տան ավտոմատացման ենթակառուցվածքի մի մասը, որը կարող եք դիտել այստեղ

Լրացուցիչ տեղեկություններ վահանի մասին այս հրահանգով

Պարագաներ

1 Arduino Mega (ամենալավն այն է, որ ունենաք առնվազն 1 Mega զարգացման և 1 Uno վազքի փուլի համար)

1 Rokoo ESP8266 ESP-12E UART WIFI փոխակերպիչ

1 FTDI 3.3v

2 տախտակի լարեր

Քայլ 1: Ինչպե՞ս է այն աշխատում:

Ինչպես է դա աշխատում ?
Ինչպես է դա աշխատում ?

Gateway- ը հիմնված է ESP8266 մոդուլի վրա:

Այս մոդուլը մի կողմից միացված է սերիական հղումով, մյուս կողմից ՝ IP ցանցին Wifi- ով:

Այն գործում է որպես սև արկղ: Սերիական հղումից ստացվող տվյալների փաթեթներն ուղարկվում են IP/Udp նավահանգիստ և հակառակը:

Պարզապես պետք է սահմանեք ձեր սեփական կազմաձևը (IP, WIFI…) առաջին անգամ, երբ առաջին անգամ միացնեք դարպասը:

Այն կարող է փոխանցել կամ հում ASCII և երկուական տվյալներ (ոչ HTTP, JSON …)

Այն նախագծված է օբյեկտները սերվերի հետ տնային ծրագրերի հետ միացնելու համար, որոնք կարիք ունեն տվյալների կարճ փաթեթի արագ և հաճախակի փոխանցման:

Քայլ 2: Որո՞նք են հիմնական գործառույթները:

Հիմնականում դա սև արկղ է, որը սերիական տվյալները UDP փաթեթ է դարձնում երկու եղանակով:

Բայց դարպասը կարող է նաև ինքնուրույն գործել ՝ սերվերին ներքին տեղեկություններ ուղարկելով և սերվերից որոշ հրամաններ ստանալով:

Arduino- ն կարող է ուղարկել և ստանալ հաղորդագրություններ դեպի / ինտերնետից միացված սերվերից ՝ միայն սերիական հղում տպելով / կարդալով: Կարիք չկա, որ Arduino մշակողը անհանգստացնի IP արձանագրությունը:

Բացի այդ, այն տրամադրում է GPIO, որը կարող է օգտագործվել Arduino- ի կողմից ՝ ստուգելու համար, որ Gateway- ը ճիշտ է միացված WIFI- ին, իսկ ձախողման դեպքում Gateway- ը կարող է ավտոմատ կերպով պտտվել 2 տարբեր SSID- ով:

The Gateway- ն ունի երկու տարբեր ռեժիմ, որոնք ընտրվում են GPIO- ի միջոցով

GPIO- ի կարգավորումը գետնին և Gateway- ը մտնում է կազմաձևման ռեժիմ:

GPIO- ն անվճար սահմանելը, և Gateway- ը մտնում է դարպասի վազքի ռեժիմ:

Բացի այդ, Gateway UDP/IP կոնֆիգուրացիան կարող է հեռակա կարգով փոփոխվել

Քայլ 3: Նյութի կառուցում

Նյութի կառուցում
Նյութի կառուցում

Շատ քիչ բաներ են պահանջվում

1 ESP8266 Shield - Ես գտա այս UNO R3 ESP8266 Serial WiFi Shield Extend Board մոդուլը 9 € -ից պակաս

1 UNO, որը թիրախային Arduino թիրախն է

1 մեգա, որն արդուինոյի զարգացման գործիքն է (կարող եք անել առանց, բայց կարգաբերելը բավականին դժվար է)

1 FTDI 3.3/5v զարգացման համար

Որոշ լարեր

Քայլ 4: Ներբեռնեք դարպասի ծածկագիրը

Ներբեռնեք Gateway Code- ը
Ներբեռնեք Gateway Code- ը

Այս քայլի ընթացքում Arduino- ն օգտագործվում է միայն ESP8266 վահանի (USB կամ էներգիայի այլ աղբյուրի) սնուցման համար:

Միացրեք ESP8266 GPIO4- ը գետնին (կազմաձևման ռեժիմ մուտք գործելու համար)

Careգուշացեք FTDI- ն սահմանել 3.3 վ -ի վրա, ինչպես պահանջվում է վահանի կողմից

Միացրեք FTDI- ն վահանին (RX- ից TX)

Սահմանեք վահանի անջատիչը 1: անջատված 2: անջատված 3: միացված 4: միացված

Միացրեք FTDI- ի USB կողմը ձեր համակարգչին

Վերակայեք վահանը ESP-RST կոճակով

Ներբեռնեք Gateway կոդը այնտեղ GitHub- ում

Բացեք Arduino IDE- ն

  • Ընտրեք FTDI մոնիտորի նավահանգիստը
  • Բացեք IDE սերիական մոնիտորը `արագությունը սահմանեք 38400
  • Ընտրեք Generic ES8266 մոդուլի տախտակ
  • Թարմացրեք վահանի որոնվածը դարպասի կոդով

Տեղադրեք անջատիչ 3 ՝ անջատված 4 ՝ անջատված

Բացեք IDE սերիական մոնիտորը

Վերակայեք վահանը ESP-RST կոճակով

Մոնիտորի վրա պետք է տեսնեք հաղորդագրություններ, որոնք սկսվում են «EEPROM նախաստորագրում» «Նախագծումն ավարտված է»…

Isամանակն է կատարել կազմաձևը

Քայլ 5: Եկեք կատարենք դարպասի կարգավորումը

Առաջին անգամ դարպասի ծածկագիրը ներբեռնելիս ESP8266 Eeprom- ը նախաստորագրված կլինի կանխադրված արժեքներով: Դուք կտեսնեք այսպիսի հաղորդագրություններ "սահմանել պարամետր: x չափը: yy"

Այս արժեքները կարող եք գտնել paramValue- ի ծածկագրի սահմանման ներսում: Իհարկե, դուք կարող եք փոխել այս կանխադրված արժեքները ՝ նախքան ծածկագիրը ներբեռնելը, բայց կարող եք նաև հետագայում հրամանով կարգավորել ձեր կազմաձևը: Սա ավելի լավ է, եթե նախատեսում եք ունենալ բազմակի դարպասներ և պահել միայն ծածկագրի մեկ տարբերակ:

Օգտագործեք մոնիտորի սերիական նավահանգիստը հրաման ուղարկելու համար (սահմանեք NL և CR):

Քանի որ SSID- ը ներկայումս սահմանված չէ, սպասեք «Չհաջողվեց միանալ ձեզ երկրորդ երկրորդ անգամ. 5»

Այնուհետեւ ինքնաբերաբար կսկսվի WIFI- ի սկան

Isամանակն է տեղադրել ձեր SSID- ները հետևյալ հրամաններով.

  • SSID1 = ձեր ընտրությունը 1
  • PSW1 = yourpsw1
  • SSID2 = ձեր ընտրությունը 2
  • PSW2 = yourpsw2
  • SSID = 1 (ընտրել, թե որ SSID- ով սկսել)
  • Վերագործարկեք WiFi- ը

Մի քանի վայրկյան անց կարող եք ստուգել կապը «ShowWifi» հրամանով: Դուք պետք է տեսնեք IP հասցեն, որը դարպասը ստացել է ձեր DNS սերվերից: Եթե դա այդպես է, ժամանակն է ավելի հեռուն գնալու

It'sամանակն է սահմանել ձեր IP սերվերի հասցեն `մուտքագրելով 4 ենթահասցե (սերվեր, որը կաշխատի Java թեստի կոդը): Օրինակ:

  • "IP1 = 192"
  • "IP2 = 168"
  • "IP3 = 1"
  • "IP4 = 10"

Ուղարկելով դատարկ հրաման ՝ կտեսնեք բոլոր աջակցվող հրամանները, որոնք կարող եք հետագայում օգտագործել ՝ ձեր պահանջներին համապատասխանելու համար: Բոլոր պարամետրերի արժեքները պահվում են Eeprom- ում և հաշվի առնելու համար անհրաժեշտ է վերագործարկում:

Հեռացրեք կազմաձևման մետաղալարը

Վահանը այժմ գործում է որպես դարպաս

Քայլ 6: Ներբեռնեք Arduino կոդի օրինակը

Ներբեռնեք Arduino կոդի օրինակը
Ներբեռնեք Arduino կոդի օրինակը

Նախ ներբեռնեք հիմնական Arduino կոդը այնտեղ GitHub- ում

Այնուհետև ներբեռնեք Arduino ծածկագրի այս հրամանների սահմանումը և սերիայի հղման ծածկագիրը ձեր գրադարաններում

Այնուհետեւ բացեք հիմնական կոդը նոր Arduino IDE- ով

Անջատեք վահանի անջատիչ 1 -ը և 2 -ը `Arduino- ի սերիական հղումը USB- ի համար ազատելու համար

Վերականգնել վահանը

Միացրեք FTDI լարերը Mega Serial 2 -ին (TX FTDI- ին RX Mega և այլն)

Գործարկեք նոր Arduino IDE (կամ TTY գործիք), միացրեք FTDI USB- ը և սկսեք հետևել սերիական հղմանը

Վերբեռնեք Arduino կոդը Mega- ի ներսում

Arduino սերիական հղումը 0 -ը միացնելու համար միացրեք վահանի անջատիչը 1 և 2

Վերականգնել վահանը

Մոնիտորի վրա պետք է տեսնեք «սկսել usb print» հաղորդագրությունը

Քայլ 7: Եկեք կատարենք սերվերի կողմը:

Սերվերի օրինակը Java ծրագիր է, որը կարող եք ներբեռնել այստեղ GitHub- ում

Պարզապես գործարկեք այն և նայեք Java վահանակին և նայեք FTDI մոնիտորին

Դուք կտեսնեք տվյալների փոխանակում սերվերի և Arduino- ի միջև

Քայլ 8: Ավելի առաջ գնալու համար

Հետագա գնալու համար
Հետագա գնալու համար
Հետագա գնալու համար
Հետագա գնալու համար

Այս Arduino կոդի օրինակը հիմնված է իմ տան ավտոմատացման ենթակառուցվածքի շրջանակային մասի վրա:

Եթե ձեզ հետաքրքրում է այս ենթակառուցվածքը, տեղեկացրեք ինձ: Աղբյուրներ կհրապարակեմ:

Եթե պարզապես ցանկանում եք օգտագործել դարպասը, կարող եք պարզեցնել Arduino ծածկագիրը:

Arduino Mega- ում ձեր կոդը մշակելուց և փորձարկելուց հետո կարող եք այն հեշտությամբ փոխարինել Uno- ով:

Բացի այդ, կարող եք մետաղալար միացնել Arduino GPIO 7 -ի և ESP8266 GPIO 5 -ի միջև, եթե ցանկանում եք, որ ձեր Arduino- ն ստուգի Wifi կապը

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