Obsah:
- Zásoby
- Krok 1: Ako to funguje?
- Krok 2: Aké sú hlavné funkcie?
- Krok 3: Zostavenie materiálu
- Krok 4: Začnime s elektronikou na Breadboarde
- Krok 5: Prejdeme k softvéru
- Krok 6: Vykonajme konfiguráciu
- Krok 7: Poďme na stranu Arduino
- Krok 8: Poďme na serverovú stranu
- Krok 9: Je čas urobiť nejaké spájkovanie
- Krok 10: Vykonajme záverečný test
- Krok 11: Tento dizajn si môžete prispôsobiť svojim vlastným požiadavkám
Video: Ako si vytvoríte vlastnú bránu WIFI na pripojenie zariadenia Arduino k sieti IP?: 11 krokov (s obrázkami)
2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-13 06:58
Ako mnoho ľudí si myslíte, že Arduino je veľmi dobré riešenie pre domácu automatizáciu a robotiku
Ale z hľadiska komunikácie Arduinos jednoducho prichádzajú so sériovými linkami.
Pracujem na robote, ktorý musí byť trvalo spojený so serverom, na ktorom je spustený kód umelej inteligencie. Pokúsil som sa použiť RF sieť, ako som zvyknutý pre domotiku, ale nie je to dostatočne efektívne. Keď sa robot pohybuje, nemôžem použiť Ethernet Arduino Shield. Arduino Wifi Shield sú drahé a zdá sa mi, že sú starého dizajnu.
Potreboval som niečo, čo by si mohlo veľmi jednoduchým a efektívnym spôsobom vymieňať údaje so serverom.
Preto som sa rozhodol navrhnúť bránu na základe veľmi lacného a energeticky úsporného mikrokontroléra ESP8266
Tu nájdete informácie o tom, ako zostaviť elektronický komponent a stiahnuť softvér.
Túto bránu som použil na domácu automatizáciu a na robotiku.
Toto je súčasťou globálnej infraštruktúry pre domácu automatizáciu, ktorú si môžete pozrieť tu
Urobil som ďalší návod, ktorý používa štít ESP8266 a vyhýba sa spájkovaniu
Zásoby
Na túto tému som napísal ďalší návod
Krok 1: Ako to funguje?
Brána je založená na module ESP8266
Tento modul je z jednej strany prepojený so sériovým prepojením z druhej strany s IP sieťou Wifi.
Funguje ako čierna skrinka. Dátové pakety pochádzajúce zo sériového spojenia sú odoslané na port IP/Udp a naopak.
Pri prvom zapnutí brány stačí nastaviť vlastnú konfiguráciu (IP, WIFI …).
Môže prenášať surové ASCII a binárne údaje (bez HTTP, JSON …)
Je navrhnutý tak, aby spájal objekty so serverovým domácim softvérom, ktorý vyžaduje rýchly a častý prenos krátkeho paketu údajov.
Najľahšie sa používa s Arduino Mega, ktoré má viac ako jeden UART (napríklad Arduino Mega), ale je možné ich spustiť aj s UNO.
Krok 2: Aké sú hlavné funkcie?
Väčšinou sa jedná o čiernu skrinku, ktorá prevádza a odosiela sériové údaje do paketu UDP oboma spôsobmi.
Má 3 LED diódy, ktoré indikujú stav a prevádzku brány.
Poskytuje GPIO, ktoré môže Arduino použiť na čakanie na pripojenie brány WIFI a IP.
Funguje v 3 rôznych režimoch, ktoré sú nastavené pomocou prepínačov:
- Režim brány, ktorý je normálnym režimom
- Konfiguračný režim slúži na nastavenie parametrov
- Režim ladenia, ktorý je určený pre režim ladenia
Väčšinu parametrov je možné upraviť tak, aby vyhovovali vašim potrebám.
Krok 3: Zostavenie materiálu
Na vrchole svojho Arduina budete potrebovať
- 1 x modul ESP8266-vybral som si MOD-WIFI-ESP8266-DEV od Olimex, ktorý stojí okolo 5 eur a je celkom jednoduchý na používanie.
- Napájací zdroj 1 x 5V
- 1 x 3,3 V regulátor výkonu - používam LM1086
- 1 x 100 mikrofaradový kondenzátor
- 1 x modul ULN2803 APG (môže byť nahradený 3 x tranzistormi)
- 8 x odpory (3 x 1K, 1 x 2K, 1 x 2,7k, 1x 3,3K, 1x 27K, 1x 33k)
- 3 x LED (červená, zelená, modrá)
- 1 x doska plošných spojov
- niektoré vodiče a konektory
Len počas stavebných krokov budete potrebovať
- 1 x FTDI 3.3v pre konfiguráciu
- Spájkovačka a cín
Pred spájkovaním je dôležité nastaviť všetky súčasti na dosku a skontrolovať, či je všetko v poriadku.
Krok 4: Začnime s elektronikou na Breadboarde
Elektronické rozloženie je k dispozícii vo formáte Fritzing
Môžete si ho stiahnuť tu, krok 1:
github.com/cuillerj/Esp8266IPSerialGateway/blob/master/GatewayElectronicStep1.fzz
Postupujte podľa schémy a dávajte pozor na napätie.
Nezabudnite, že ESP8266 nepodporuje napätie vyššie ako 3,3 V. FTDI musí byť nastavené na 3,3 V.
Krok 5: Prejdeme k softvéru
Začnime stranou Gateway
Kód som napísal pomocou Arduino IDE. Takže potrebujete, aby bol ESP8266 známy ako doska podľa IDE. V ponuke Nástroje / dosky vyberte príslušnú dosku.
Ak v zozname nevidíte žiadny ESP266, znamená to, že budete musieť nainštalovať doplnok ESP8266 Arduino (postup nájdete tu).
Všetok potrebný kód je k dispozícii na GitHub. Je načase si ho stiahnuť!
Hlavný kód brány je tam:
Okrem štandardu Arduino a ESP8266 obsahuje hlavný kód, ktorý tieto 2 obsahujú: LookFoString, ktorý sa používa na manipuláciu so reťazcami a je tu:
ManageParamEeprom, ktorý sa používa na čítanie a ukladanie parametrov v serveroch Eeprom, je k dispozícii:
Akonáhle získate celý kód, je čas ho nahrať do ESP8266. Najprv pripojte FTDI k portu USB vášho počítača.
Pred pokusom o nahranie odporúčam skontrolovať pripojenie.
- Nastavte sériový monitor Arduino na nový port USB.
- Nastavte rýchlosť na 115200 ot / min (predvolená rýchlosť pre Olimex)
- Zapnite na doske (ESP8266 je dodávaný so softvérom, ktorý sa zaoberá príkazmi AT)
- Pošlite „AT“pomocou sériového nástroja.
- Na oplátku musíte dostať „OK“.
Ak nie, skontrolujte svoje pripojenie a pozrite sa na špecifikácie svojho ESP8266.
Ak ste dostali „OK“, ste pripravení kód nahrať
- Vypnite dosku, počkajte niekoľko sekúnd,
- zatlačte na čierny mikrospínač ESP8266. Je normálne dostať na sériový monitor nejaké odpadky.
- Stlačte IDE nahrávania ako pre Arduino.
- Po dokončení nahrávania nastavte sériovú rýchlosť na 38 400.
Uvidíte niečo ako na obrázku.
Blahoželáme, že ste úspešne nahrali kód!
Krok 6: Vykonajme konfiguráciu
Pre vstup do konfiguračného režimu musí byť configGPIO nastavený na 1
Najprv skenujte WIFI zadaním príkazu: ScanWifi. Zobrazí sa zoznam zistenej siete.
- Potom nastavte svoje SSID zadaním „SSID1 = vaša sieť“
- Potom nastavte heslo zadaním „PSW1 = vaše heslo“
- Potom zadajte „SSID = 1“a definujte aktuálnu sieť
- Zadajte „Reštartovať“a pripojte bránu k svojmu WIFI.
- Svoju IP môžete overiť zadaním „ShowWifi“.
- Modrá LED dióda bude svietiť a červená LED bliká.
Je načase definovať adresu IP servera zadaním 4 podadries (server, na ktorom bude spustený testovací kód Java). Napríklad:
- "IP1 = 192"
- "IP2 = 168"
- "IP3 = 1"
- "IP4 = 10"
Posledným požadovaným krokom je nastavenie portu na počúvanie servera UDP zadaním „listenPort = xxxx“.
Zadajte „ShowEeprom“a skontrolujte, čo ste práve uložili do Eepromu
Teraz zapojte GPIO2 do zeme a opustite konfiguračný režim
Vaša brána je pripravená pracovať
V dokumentácii nájdete niekoľko ďalších príkazov.
Krok 7: Poďme na stranu Arduino
Najprv pripojte Arduino
Ak máte Mega, bude najľahšie začať. Napriek tomu môžete použiť Uno.
Na kontrolu svojej práce je najlepšie použiť príklad.
Môžete si ho stiahnuť tam:
Obsahuje kód SerialNetwork, ktorý je tu:
Stačí nahrať kód do svojho Arduina.
Zelená LED dióda bliká vždy, keď Arduino odosiela údaje.
Krok 8: Poďme na serverovú stranu
Príkladom servera je program Java, ktorý si môžete stiahnuť tu:
Stačí to spustiť
Pozrite sa na konzolu Java.
Pozrite sa na monitor Arduino.
Arduino odosiela 2 rôzne pakety.
- Prvý obsahuje stav digitálnych pinov 2 až 6.
- Druhá obsahuje 2 náhodné hodnoty, úroveň napätia A0 v mV a prírastkový počet.
Program Java
- vytlačte prijaté údaje v hexadecimálnom formáte
- odpovedzte na prvý druh údajov s náhodnou hodnotou zapnutia/vypnutia a zapnite/vypnite LED Arduino
- odpovedzte na druhý druh údajov prijatým počtom a náhodnou hodnotou.
Krok 9: Je čas urobiť nejaké spájkovanie
Funguje to na doske!
Je načase urobiť ho odolnejším spájkovaním dielov na doske plošných spojov
Okrem toho, čo ste urobili s doskou, musíte pridať 3 konektory.
- C1 1 x pin, ktorý sa bude používať na zadávanie v režime sledovania siete.
- C2 3 x kolíky, ktoré sa budú používať na prepínanie medzi prevádzkovým a konfiguračným režimom.
- C3 6 x kolík, ktorý sa použije na pripojenie brány k Arduinu alebo FTDI.
Ak chcete aktivovať trasovanie siete, musí byť C1 pripojený k GPIO2 ručne uzemnený.
C2 pripojený k GPIO 4 je možné nastaviť v 2 rôznych polohách. Jeden, ktorý bol nastavený na uzemnenie v normálnom prevádzkovom režime, a druhý nastavený na 3,3 V na vstup do konfiguračného režimu.
Nastavte všetky súčiastky na DPS podľa schémy a potom začnite spájkovať, aby ste získali konečný produkt!
Krok 10: Vykonajme záverečný test
Spustite testovací program Java.
Pripojte Arduino.
Napájanie na bráne.
Pozrite sa na konzolu Java, monitor Arduino, LED Arduino a LED diódy Gateway.
Krok 11: Tento dizajn si môžete prispôsobiť svojim vlastným požiadavkám
Ohľadom hardvéru
- Ak zvolíte nejaký iný ESP8266, budete sa musieť prispôsobiť špecifikáciám.
- Ak zvolíte iný regulátor 3,3 V, musí dodávať viac ako 500 mA a budete musieť prispôsobiť kondenzátor.
- Jas LED môžete upraviť tak, aby upravoval jas.
- Môžete potlačiť všetky diódy LED, ale odporúčam ponechať zapnutú aspoň červenú farbu.
- ULN2803 môžete nahradiť tromi tranzistormi (alebo menej, ak sa rozhodnete ponechať 3 LED diódy).
- Testoval som, ale tam to musí fungovať s doskami Arduino 3,3 V. Stačí pripojiť Tx Rx k 3,3 V konektoru.
Pokiaľ ide o konfiguráciu
- Môžete uložiť 2 rôzne SSID a prepínať
- Použité GPIO môžete zmeniť
Čo sa týka softvéru