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

Ինչպե՞ս կատարել ձեր սեփական WIFI դարպասը ՝ ձեր Arduino- ն IP ցանցին միացնելու համար: 11 քայլ (նկարներով)
Ինչպե՞ս կատարել ձեր սեփական WIFI դարպասը ՝ ձեր Arduino- ն IP ցանցին միացնելու համար: 11 քայլ (նկարներով)

Video: Ինչպե՞ս կատարել ձեր սեփական WIFI դարպասը ՝ ձեր Arduino- ն IP ցանցին միացնելու համար: 11 քայլ (նկարներով)

Video: Ինչպե՞ս կատարել ձեր սեփական WIFI դարպասը ՝ ձեր Arduino- ն IP ցանցին միացնելու համար: 11 քայլ (նկարներով)
Video: Scentroid's CTAir Continuous Urban Air Quality Monitor Seminar A 12.08.2020 (Subtitled) 2024, Հուլիսի
Anonim
Ինչպե՞ս դարձնել ձեր սեփական WIFI դարպասը ՝ ձեր Arduino- ն IP ցանցին միացնելու համար
Ինչպե՞ս դարձնել ձեր սեփական WIFI դարպասը ՝ ձեր Arduino- ն IP ցանցին միացնելու համար

Ինչպես շատ մարդիկ եք կարծում, Arduino- ն շատ լավ լուծում է տնային ավտոմատացում և ռոբոտային աշխատանք կատարելու համար:

Բայց հաղորդակցության առումով Arduinos- ն ուղղակի գալիս է սերիական հղումներով:

Ես աշխատում եմ ռոբոտի վրա, որը պետք է մշտապես կապված լինի սերվերի հետ, որն աշխատում է արհեստական ինտելեկտի կոդով: Փորձեցի օգտագործել ՌԴ ցանցը, ինչպես սովոր էի անել domotic- ի համար, բայց դա բավականաչափ արդյունավետ չէ: Երբ ռոբոտը շարժվում է, ես չեմ կարող օգտագործել Ethernet Arduino Shield- ը: Arduino Wifi Shield- ը թանկ են և ինձ թվում է, որ հին դիզայն է:

Ինձ պետք էր մի բան, որը կարող է շատ պարզ և արդյունավետ կերպով տվյալներ փոխանակել սերվերի հետ:

Այդ պատճառով ես որոշեցի նախագծել Gateway ՝ հիմնված շատ էժան և էներգաարդյունավետ ESP8266 միկրոկոնտրոլերի վրա:

Այստեղ դուք կարող եք գտնել, թե ինչպես կառուցել էլեկտրոնային բաղադրիչը և ներբեռնել ծրագրակազմը:

Ես օգտագործել եմ այս դարպասը Տան ավտոմատացման և Robotic- ի համար:

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

Ես պատրաստեցի ևս մեկ հրահանգ, որը օգտագործում է ESP8266 վահանը և խուսափում է զոդումից

Պարագաներ

Ես գրել եմ մեկ այլ ուսանելի այս թեմայով

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

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

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

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

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

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

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

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

Առավել հեշտ է օգտագործել Arduino Mega- ով, որոնք ունեն մեկից ավելի UART (օրինակ ՝ Arduino Mega), բայց կարող են աշխատել նաև UNO- ի հետ:

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

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

Այն ունի 3 LED, որը ցույց է տալիս Դարպասի կարգավիճակը և երթևեկը:

Այն տրամադրում է GPIO, որը կարող է օգտագործվել Arduino- ի կողմից ՝ սպասելու համար, որ դարպասը միանա WIFI- ին և IP- ին:

Այն աշխատում է 3 տարբեր ռեժիմներով, որոնք տեղադրված են անջատիչներով.

  • Դարպասի ռեժիմ, որը սովորական ռեժիմն է
  • Կարգավորման ռեժիմ, որն օգտագործվում է պարամետրերը սահմանելու համար
  • Վրիպազերծման ռեժիմ, որը կարգաբերման ռեժիմի համար է

Պարամետրերի մեծ մասը կարող է փոփոխվել `ձեր կարիքներին համապատասխան:

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

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

Ձեր Arduino- ի գագաթին ձեզ հարկավոր կլինի

  • 1 x ESP8266 մոդուլ-Olimex- ից ընտրում եմ MOD-WIFI-ESP8266-DEV- ը, որն արժե մոտ 5 եվրո, որը բավականին հեշտ է օգտագործել:
  • 1 x 5 վ էներգիայի աղբյուր
  • 1 x 3.3v էներգիայի կարգավորիչ - ես օգտագործում եմ LM1086
  • 1 x 100 միկրոֆարադի կոնդենսատոր
  • 1 x ULN2803 APG մոդուլ (կարող է փոխարինվել 3 x տրանզիստորներով)
  • 8 x դիմադրություն (3 x 1K, 1 x 2K, 1 x 2.7k, 1x 3.3K, 1x 27K, 1x 33k)
  • 3 x LED (կարմիր, կանաչ, կապույտ)
  • 1 x Breadboard PCB
  • որոշ լարեր և միակցիչներ

Միայն շինարարական քայլերի ընթացքում ձեզ հարկավոր կլինի

  • 1 x FTDI 3.3v կազմաձևման համար
  • Ironոդման երկաթ և անագ

Soldոդումից առաջ կարևոր է բոլոր բաղադրիչները տեղադրել սեղանի վրա և ստուգել, որ ամեն ինչ կարգին է:

Քայլ 4: Եկեք սկսենք Էլեկտրոնիկայից `Breadboard- ում:

Սկսենք Էլեկտրոնայինից `Breadboard- ում
Սկսենք Էլեկտրոնայինից `Breadboard- ում

Էլեկտրոնային դասավորությունը հասանելի է Fritzing ձևաչափով

Այստեղ կարող եք ներբեռնել 1 -ին քայլը.

github.com/cuillerj/Esp8266IPSerialGateway/blob/master/GatewayElectronicStep1.fzz

Պարզապես կատարեք սխեման ՝ հոգալով լարման մասին:

Հիշեք, որ ESP8266- ը չի աջակցում 3.3 վ -ից բարձր լարման: FTDI- ն պետք է սահմանվի 3.3 վ -ի վրա:

Քայլ 5: Եկեք գնանք դեպի ծրագրակազմ:

Եկեք գնանք դեպի Softwareրագրային ապահովում
Եկեք գնանք դեպի Softwareրագրային ապահովում

Սկսենք Gateway- ի կողմից

Ես գրել եմ կոդը Arduino IDE- ով: Այսպիսով, ձեզ հարկավոր է ESP8266, որպեսզի IDE- ի կողմից հայտնի լինի որպես տախտակ: Ընտրեք համապատասխան տախտակը Գործիքներ / տախտակներ ընտրացանկով:

Եթե ցուցակում չեք տեսնում որևէ ESP266, դա նշանակում է, որ գուցե ստիպված լինեք տեղադրել ESP8266 Arduino Addon- ը (այստեղ կարող եք գտնել ընթացակարգը):

Ձեզ անհրաժեշտ ամբողջ ծածկագիրը հասանելի է GitHub- ում: Downloadամանակն է ներբեռնել այն:

Gateway- ի հիմնական կոդը այնտեղ է ՝

Ստանդարտ Arduino- ի և ESP8266- ի մեջ ներառված է հիմնական կոդը, որը պետք է ներառի հետևյալ երկուսը. LookFoString- ը, որն օգտագործվում է տողերը շահարկելու համար և կա.

ManageParamEeprom- ը, որն օգտագործվում է Eeprom ans- ում պարամետրեր կարդալու և պահելու համար, կա ՝

Ամբողջ ծածկագիրը ստանալուց հետո ժամանակն է այն վերբեռնել ESP8266- ում: Նախ FTDI- ն միացրեք ձեր համակարգչի USB պորտին:

Առաջարկում եմ ստուգել կապը նախքան բեռնելը փորձելը:

  • Տեղադրեք Arduino- ի սերիական մոնիտորը նոր USB պորտի վրա:
  • Սահմանեք արագությունը 115200 երկուսն էլ CR nl (դանդաղ արագություն Olimex- ի համար)
  • Միացրեք սեղանի վրա (ESP8266- ը գալիս է ծրագրակազմով, որը զբաղվում է AT հրամաններով)
  • Սերիական գործիքի հետ ուղարկեք «AT»:
  • Դրա դիմաց պետք է ստանաք «OK»:

Եթե ոչ, ստուգեք ձեր կապը և նայեք ձեր ESP8266 բնութագրերին:

Եթե ունեք «OK», ապա պատրաստ եք վերբեռնել կոդը

  • Անջատեք տախտակը, սպասեք մի քանի վայրկյան,
  • սեղմեք ESP8266- ի սև միկրո-սվիտի վրա: Սերիական մոնիտորի վրա նորմալ աղբ հավաքելը նորմալ է:
  • Սեղմեք բեռնման IDE- ի վրա, ինչպես Arduino- ի համար:
  • Վերբեռնումն ավարտվելուց հետո հաջորդական արագությունը սահմանեք 38400:

Դուք կտեսնեք ինչ -որ բան, ինչպես նկարում:

Շնորհավորում ենք: Դուք հաջողությամբ վերբեռնեցիք ծածկագիրը:

Քայլ 6: Եկեք կատարենք կազմաձևը:

Եկեք կատարենք կազմաձևը
Եկեք կատարենք կազմաձևը

Կազմաձևման ռեժիմ մուտք գործելու համար configGPIO- ն պետք է սահմանվի 1:

Սկզբում սկանավորեք WIFI- ը ՝ մուտքագրելով հրամանը ՝ ScanWifi: Դուք կտեսնեք հայտնաբերված ցանցի ցուցակը:

  • Այնուհետև սահմանեք ձեր SSID- ը ՝ մուտքագրելով «SSID1 = ձեր ցանցը»
  • Այնուհետև մուտքագրեք ձեր գաղտնաբառը ՝ մուտքագրելով «PSW1 = ձեր գաղտնաբառ»
  • Այնուհետև մուտքագրեք «SSID = 1» ՝ ընթացիկ ցանցը սահմանելու համար
  • Մուտքագրեք «Վերագործարկեք» ՝ Gateway- ը ձեր WIFI- ին միացնելու համար:
  • Կարող եք հաստատել, որ IP եք ստացել ՝ մուտքագրելով «ShowWifi»:
  • Կապույտ LED- ը միացված կլինի, իսկ կարմիր LED- ը թարթում է:

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

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

Վերջին պահանջվող քայլը UDP սերվերի ունկնդրման պորտը սահմանելն է ՝ մուտքագրելով «listenPort = xxxx»:

Մուտքագրեք «ShowEeprom» ՝ ստուգելու, թե ինչ եք պարզապես պահել Eeprom- ում

Այժմ միացրեք GPIO2- ը գետնին `կազմաձևման ռեժիմը թողնելու համար:

Ձեր Gateway- ը պատրաստ է աշխատանքի:

Կան որոշ այլ հրամաններ, որոնք կարող եք գտնել փաստաթղթերում:

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

Եկեք կատարենք Arduino- ի կողմը
Եկեք կատարենք Arduino- ի կողմը
Եկեք կատարենք Arduino- ի կողմը
Եկեք կատարենք Arduino- ի կողմը

Նախ միացրեք Arduino- ն:

Եթե դուք ունեք Mega, ապա ամենահեշտը կլինի սկսել: Այնուամենայնիվ, կարող եք օգտագործել Uno:

Ձեր աշխատանքը լավագույնը ստուգելու համար օգտագործեք օրինակը:

Կարող եք ներբեռնել այնտեղ ՝

Այն ներառում է SerialNetwork կոդ, որն այստեղ է ՝

Պարզապես վերբեռնեք կոդը ձեր Arduino- ի ներսում:

Կանաչ LED- ն թարթում է ամեն անգամ, երբ Arduino- ն տվյալներ է ուղարկում:

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

Եկեք կատարենք սերվերի կողմը
Եկեք կատարենք սերվերի կողմը
Եկեք կատարենք սերվերի կողմը
Եկեք կատարենք սերվերի կողմը

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

Պարզապես գործարկեք այն

Նայեք Java վահանակին:

Նայեք Arduino մոնիտորին:

Arduino- ն ուղարկում է 2 տարբեր փաթեթներ:

  • Առաջինը պարունակում է թվային կապում 2 -ից 6 -ի կարգավիճակ:
  • Երկրորդը պարունակում է 2 պատահական արժեք ՝ A0 լարման մակարդակը մ. Վ. -ում և լրացուցիչ հաշվարկ:

Java ծրագիրը

  • ստացված տվյալները տպել տասնվեցերորդ ձևաչափով
  • Arduino LED- ն միացնելու/անջատելու համար պատասխանեք առաջին տեսակի տվյալների `պատահական միացման/անջատման արժեքով
  • պատասխանել երկրորդ տեսակի տվյալների ստացված հաշվարկով և պատահական արժեքով:

Քայլ 9: Isամանակն է ինչ -որ զոդման աշխատանքներ կատարել:

Itամանակն է որոշ զոդումներ անել
Itամանակն է որոշ զոդումներ անել
Itամանակն է ինչ -որ զոդումներ անել
Itամանակն է ինչ -որ զոդումներ անել
Itամանակն է ինչ -որ զոդումներ անել
Itամանակն է ինչ -որ զոդումներ անել

Այն աշխատում է հացահատիկի վրա:

Itամանակն է այն դարձնել ավելի ամուր ՝ մասերը զոդելով PCB- ով

Այն, ինչ արեցիք սեղանի սեղանի հետ, պետք է ավելացնեք 3 միակցիչ:

  • C1 1 x քորոց, որը կօգտագործվի ցանցի հետագծման ռեժիմ մուտք գործելու համար:
  • C2 3 x կապում է մեկը, որը կօգտագործվի վազքի և կազմաձևման ռեժիմի միջև անցնելու համար:
  • C3 6 x կապում մեկը, որը կօգտագործվի Gateway- ը Arduino- ին կամ FTDI- ին միացնելու համար:

GP1O2- ին միացված C1- ը պետք է ձեռքով հիմնավորված լինի, եթե ցանկանում եք ակտիվացնել ցանցի հետքերը:

GP2O 4 -ին միացված C2- ը կարող է տեղադրվել 2 տարբեր դիրքերում: Մեկը, որը կարգավորվել է սովորական վազքի ռեժիմի համար, իսկ մեկը ՝ 3.3 վ ՝ կազմաձևման ռեժիմ մուտք գործելու համար:

Տեղադրեք PCB- ի բոլոր բաղադրիչները ըստ սխեմայի և հետո սկսեք զոդել `վերջնական արտադրանքը ստանալու համար:

Քայլ 10: Եկեք կատարենք վերջին թեստը:

Image
Image

Սկսեք Java թեստային ծրագիրը:

Միացրեք Arduino- ն:

Power on the Gateway:

Եվ նայեք Java վահանակին, Arduino մոնիտորին, Arduino LED- ին և Gateway LED- ին:

Քայլ 11: Դուք կարող եք այս դիզայնը հարմարեցնել ձեր սեփական պահանջներին:

Ինչ վերաբերում է ապարատային սարքավորմանը

  • Եթե ընտրեք այլ ESP8266, ապա ստիպված կլինեք հարմարվել բնութագրերին:
  • Եթե ընտրեք այլ 3.3 վ կարգավորիչ, այն պետք է մատակարարի ավելի քան 500 մԱ, և դուք ստիպված կլինեք հարմարեցնել կոնդենսատորը:
  • Դուք կարող եք փոփոխել LED դիմադրիչները `պայծառությունը կարգավորելու համար:
  • Դուք կարող եք ճնշել բոլոր LED- ները, բայց ես խորհուրդ եմ տալիս գոնե կարմիրը պահել:
  • Դուք կարող եք ULN2803- ը փոխարինել 3 տրանզիստորով (կամ ավելի քիչ, եթե դուք ընտրում եք չպահել 3 LED- ները):
  • Ես փորձարկեցի, բայց այնտեղ այն պետք է աշխատի 3.3v Arduino տախտակներով: Պարզապես միացրեք Tx Rx- ը 3.3v միակցիչին:

Կազմաձևման վերաբերյալ

  • Դուք կարող եք պահել 2 տարբեր SSID և միացնել
  • Դուք կարող եք փոփոխել օգտագործված GPIO- ն

Ծրագրային ապահովման վերաբերյալ

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