Satura rādītājs:
- Piegādes
- 1. darbība. Kā tas darbojas?
- 2. solis: Kādas ir galvenās funkcijas?
- 3. solis: materiāla veidošana
- 4. solis: Sāksim ar elektroniku uz maizes dēļa
- 5. solis: ejam pie programmatūras
- 6. darbība: veiksim konfigurāciju
- 7. solis: darīsim Arduino pusi
- 8. solis: darīsim servera pusi
- 9. solis: ir pienācis laiks veikt lodēšanu
- 10. solis: Veiksim pēdējo pārbaudi
- 11. solis: jūs varat pielāgot šo dizainu savām prasībām
Video: Kā izveidot savu WIFI vārteju, lai savienotu savu Arduino ar IP tīklu?: 11 soļi (ar attēliem)
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:52
Kā daudzi cilvēki, jūs domājat, ka Arduino ir ļoti labs risinājums mājas automatizācijai un robotizēšanai
Bet komunikācijas ziņā Arduinos ir tikai sērijveida saites.
Es strādāju pie robota, kuram jābūt pastāvīgi savienotam ar serveri, kurā darbojas mākslīgā intelekta kods. Es mēģināju izmantot RF tīklu, kā esmu pieradis domotikai, bet tas nav pietiekami efektīvs. Robotam pārvietojoties, es nevaru izmantot Ethernet Arduino vairogu. Arduino Wifi Shield ir dārgi, un man šķiet, ka tas ir vecs dizains.
Man vajadzēja kaut ko tādu, kas ar serveri var ļoti vienkārši un efektīvi apmainīties ar datiem.
Tāpēc es nolēmu izveidot vārteju, kuras pamatā ir ļoti lēts un energoefektīvs mikrokontrolleris ESP8266
Šeit varat uzzināt, kā izveidot elektronisko komponentu un lejupielādēt programmatūru.
Es izmantoju šo vārteju mājas automatizācijai un robotikai.
Tas aizņem daļu no globālās mājas automatizācijas infrastruktūras, kuru varat apskatīt šeit
Es izveidoju vēl vienu pamācību, kas izmanto vairogu ESP8266 un izvairās no lodēšanas
Piegādes
Es uzrakstīju citu pamācību par šo tēmu
1. darbība. Kā tas darbojas?
Vārtejas pamatā ir ESP8266 modulis
Šis modulis ir savienots no vienas puses ar seriālo saiti no otras puses uz IP tīklu, izmantojot Wifi.
Tas darbojas kā melna kaste. Datu paketes, kas nāk no seriālās saites, tiek nosūtītas uz IP/Udp portu un visapkārt.
Jums vienkārši jāiestata sava konfigurācija (IP, WIFI …), kad pirmo reizi ieslēdzat vārteju.
Tas var pārsūtīt vai nu neapstrādātus ASCII, gan binārus datus (bez HTTP, JSON …)
Tas ir paredzēts, lai savienotu objektus ar servera mājās gatavotu programmatūru, kurai nepieciešama ātra un bieža īsu datu pakešu pārsūtīšana.
Visvieglāk to izmantot ar Arduino Mega, kam ir vairāk nekā viens UART (piemēram, Arduino Mega), bet var darboties arī ar UNO.
2. solis: Kādas ir galvenās funkcijas?
Pārsvarā tā ir melnā kaste, kas abos veidos pārveido un nosūta sērijas datus uz UDP paketi.
Tam ir 3 gaismas diodes, kas norāda vārtejas statusu un trafiku.
Tas nodrošina GPIO, ko Arduino var izmantot, lai gaidītu, kad vārteja tiks savienota ar WIFI un IP.
Tas darbojas 3 dažādos režīmos, kas ir iestatīti ar slēdžiem:
- Vārtejas režīms, kas ir parastais režīms
- Konfigurācijas režīms, ko izmanto parametru iestatīšanai
- Atkļūdošanas režīms, kas paredzēts atkļūdošanas režīmam
Lielāko daļu parametru var mainīt atbilstoši jūsu vajadzībām.
3. solis: materiāla veidošana
Papildus jūsu Arduino jums būs nepieciešams
- 1 x ESP8266 modulis-es izvēlos MOD-WIFI-ESP8266-DEV no Olimex, kas maksā aptuveni 5 eiro un ir diezgan viegli lietojams.
- 1 x 5V barošanas avots
- 1 x 3.3v jaudas regulators - es izmantoju LM1086
- 1 x 100 mikrofarad kondensators
- 1 x ULN2803 APG modulis (var aizstāt ar 3 x tranzistoriem)
- 8 x rezistori (3 x 1K, 1 x 2K, 1 x 2,7k, 1x 3,3K, 1x 27K, 1x 33k)
- 3 x LED (sarkans, zaļš, zils)
- 1 x maizes dēļa PCB
- daži vadi un savienotāji
Tikai būvdarbu laikā jums būs nepieciešams
- 1 x FTDI 3.3v konfigurācijai
- Lodāmurs un alva
Pirms lodēšanas ir svarīgi uzstādīt visas maizes dēļa sastāvdaļas un pārbaudīt, vai viss ir kārtībā.
4. solis: Sāksim ar elektroniku uz maizes dēļa
Elektroniskais izkārtojums ir pieejams Fritzing formātā
To var lejupielādēt šeit, veicot 1. darbību:
github.com/cuillerj/Esp8266IPSerialGateway/blob/master/GatewayElectronicStep1.fzz
Vienkārši rīkojieties kā shēma, rūpējoties par spriegumu.
Atcerieties, ka ESP8266 neatbalsta spriegumu, kas ir augstāks par 3.3v. FTDI jābūt iestatītam uz 3.3v.
5. solis: ejam pie programmatūras
Sāksim ar vārtejas pusi
Es uzrakstīju kodu ar Arduino IDE. Tātad jums ir nepieciešams ESP8266, lai IDE būtu pazīstams kā dēlis. Izvēlieties atbilstošo dēli, izmantojot izvēlni Rīki / dēļi.
Ja sarakstā neredzat nevienu ESP266, tas nozīmē, ka jums, iespējams, būs jāinstalē ESP8266 Arduino Addon (procedūru var atrast šeit).
Viss nepieciešamais kods ir pieejams vietnē GitHub. Ir pienācis laiks to lejupielādēt!
Vārtejas galvenais kods ir pieejams šeit:
Papildus standarta Arduino un ESP8266 ir iekļauts galvenais kods, kas nepieciešams:
Tur ir pieejams ManageParamEeprom, kas tiek izmantots parametru lasīšanai un saglabāšanai Eeprom ans:
Kad esat saņēmis visu kodu, ir pienācis laiks to augšupielādēt ESP8266. Vispirms pievienojiet FTDI datora USB portam.
Pirms augšupielādes iesaku pārbaudīt savienojumu.
- Iestatiet Arduino sērijas monitoru uz jauno USB portu.
- Iestatiet ātrumu līdz 115200 gan cr nl (Olimex noklusējuma ātrums)
- Ieslēdziet maizes dēli (ESP8266 nāk ar programmatūru, kas nodarbojas ar AT komandām)
- Nosūtiet “AT” ar sērijas rīku.
- Pretī jums jāsaņem "OK".
Ja nē, pārbaudiet savienojumu un apskatiet savas ESP8266 specifikācijas.
Ja jums ir “OK”, esat gatavs augšupielādēt kodu
- Izslēdziet maizes dēli, pagaidiet dažas sekundes,
- nospiediet uz ESP8266 melnā mikropavediena. Ir normāli, ja uz seriālā monitora nokļūst atkritumi.
- Nospiediet augšupielādes IDE kā Arduino.
- Pēc augšupielādes pabeigšanas iestatiet sērijas ātrumu uz 38400.
Jūs redzēsit kaut ko tādu, kā attēlā.
Apsveicam, ka veiksmīgi augšupielādējāt kodu!
6. darbība: veiksim konfigurāciju
Lai ievadītu konfigurācijas režīmu, configGPIO jābūt iestatītam uz 1
Vispirms skenējiet WIFI, ievadot komandu: ScanWifi. Jūs redzēsit atklāto tīklu sarakstu.
- Pēc tam iestatiet savu SSID, ievadot “SSID1 = jūsu tīkls”
- Pēc tam iestatiet paroli, ievadot "PSW1 = jūsu parole"
- Pēc tam ievadiet "SSID = 1", lai definētu pašreizējo tīklu
- Ievadiet "Restart", lai savienotu vārteju ar WIFI.
- Jūs varat pārbaudīt, vai esat saņēmis IP, ievadot "ShowWifi".
- Zilā gaismas diode iedegsies un sarkanā gaismas diode mirgos.
Ir pienācis laiks definēt savu IP servera adresi, ievadot 4 apakšadreses (serveris, kurā tiks palaists Java testa kods). Piemēram:
- "IP1 = 192"
- "IP2 = 168"
- "IP3 = 1"
- "IP4 = 10"
Pēdējais nepieciešamais solis ir iestatīt UDP servera klausīšanās portu, ievadot "listenPort = xxxx".
Ievadiet "ShowEeprom", lai pārbaudītu, ko tikko saglabājāt Eeprom
Tagad pievienojiet GPIO2 zemei, lai izietu no konfigurācijas režīma
Jūsu vārteja ir gatava darbam
Ir dažas citas komandas, kuras varat atrast dokumentācijā.
7. solis: darīsim Arduino pusi
Vispirms pievienojiet Arduino
Ja jums ir Mega, to būs vieglāk sākt. Tomēr jūs varat izmantot Uno.
Lai pārbaudītu savu darbu, vislabāk ir izmantot piemēru.
To var lejupielādēt šeit:
Tas ietver SerialNetwork kodu, kas atrodas šeit:
Vienkārši augšupielādējiet kodu savā Arduino.
Zaļā gaismas diode mirgo katru reizi, kad Arduino sūta datus.
8. solis: darīsim servera pusi
Servera piemērs ir Java programma, kuru varat lejupielādēt šeit:
Vienkārši palaidiet to
Paskaties uz Java konsoli.
Paskatieties uz Arduino monitoru.
Arduino sūta 2 dažādas paketes.
- Pirmajā ir ciparu tapas no 2 līdz 6.
- Otrajā ir 2 izlases vērtības, sprieguma līmenis A0 mV un pieaugošais skaitlis.
Java programma
- izdrukājiet saņemtos datus heksadecimālā formātā
- atbildiet uz pirmā veida datiem ar nejaušu ieslēgšanas/izslēgšanas vērtību, lai ieslēgtu/izslēgtu Arduino LED
- atbildiet uz otrā veida datiem ar saņemto skaitu un izlases vērtību.
9. solis: ir pienācis laiks veikt lodēšanu
Tas darbojas uz maizes dēļa!
Ir pienācis laiks padarīt to izturīgāku, lodējot detaļas uz PCB
Papildus tam, ko darījāt ar maizes dēli, jums jāpievieno 3 savienotāji.
- C1 1 x piespraude, kas tiks izmantota, lai ievadītu tīkla izsekošanas režīmu.
- C2 3 x tapas, kas tiks izmantotas, lai pārslēgtos starp darbības režīmu un konfigurācijas režīmu.
- C3 6 x tapas, kas tiks izmantotas, lai savienotu vārteju ar Arduino vai FTDI.
C1, kas savienots ar GPIO2, ir manuāli jāzemē, ja vēlaties aktivizēt tīkla pēdas.
C2, kas savienots ar GPIO 4, var iestatīt 2 dažādās pozīcijās. Viens, kas iestatīts uz parasto darbības režīmu, un viens - uz 3.3v, lai ievadītu konfigurācijas režīmu.
Uzstādiet visas PCB sastāvdaļas saskaņā ar diagrammu un pēc tam sāciet lodēt, lai iegūtu galaproduktu!
10. solis: Veiksim pēdējo pārbaudi
Sāciet Java testa programmu.
Pievienojiet Arduino.
Ieslēdziet vārteju.
Un paskatieties uz Java konsoli, Arduino monitoru, Arduino LED un Gateway LED.
11. solis: jūs varat pielāgot šo dizainu savām prasībām
Attiecībā uz aparatūru
- Ja izvēlaties kādu citu ESP8266, jums būs jāpielāgojas specifikācijām.
- Ja izvēlaties citu 3.3v regulatoru, tam ir jāpiegādā vairāk nekā 500 mA, un jums būs jāpielāgo kondensators.
- Lai pielāgotu spilgtumu, varat mainīt LED rezistorus.
- Jūs varat izslēgt visas gaismas diodes, bet es iesaku ieslēgt vismaz sarkano.
- Jūs varat nomainīt ULN2803 ar 3 tranzistoriem (vai mazāk, ja izvēlaties neturēt 3 LED).
- Es pārbaudīju, bet tur tam jādarbojas ar 3.3v Arduino dēļiem. Vienkārši pievienojiet Tx Rx 3.3V savienotājam.
Attiecībā uz konfigurāciju
- Jūs varat saglabāt 2 dažādus SSID un pārslēgties
- Jūs varat mainīt izmantoto GPIO
Attiecībā uz programmatūru
Ieteicams:
Aizsargājiet savu tīklu, izmantojot UTM ugunsmūri bez maksas: 4 soļi
Aizsargājiet savu tīklu, izmantojot UTM ugunsmūri bez maksas: šajā rokasgrāmatā tiks apskatīti pamati, kā Sophos UTM instalēt un palaist jūsu mājas tīklā. Šis ir bezmaksas un ļoti spēcīgs programmatūras komplekts. Es cenšos sasniegt zemāko kopsaucēju, tāpēc neiedziļināšos aktīvā direktoriju integrācijā, attālināti
IoT RC automašīna ar viedās lampas tālvadības pulti vai vārteju: 8 soļi (ar attēliem)
IoT RC automašīna ar viedo lampu tālvadības pulti vai vārteju: nesaistītam projektam es biju rakstījis kādu Arduino kodu, lai sarunātos ar MiLight viedajām lampām un lampu tālvadības pultīm, kas man ir mājās. Pēc tam, kad man izdevās pārtvert komandas no bezvadu tālvadības pultīm, Es nolēmu izveidot nelielu RC automašīnu, lai pārbaudītu
Kā izveidot privātu vai publisku tīklu pakalpojumā Titanfall 2: 15 soļi
Kā izveidot privātu vai publisku tīklu pakalpojumā Titanfall 2: es jums parādīšu, kā izveidot tīklu
Izveidojiet tīmeklī savienotu robotu (par aptuveni 500 USD) (izmantojot Arduino un Netbook): 6 soļi (ar attēliem)
Izveidojiet tīmeklī savienotu robotu (par aptuveni 500 ASV dolāriem) (izmantojot Arduino un Netbook): šī pamācība parādīs, kā izveidot savu tīmekļa savienoto robotu (izmantojot Arduino mikrokontrolleri un Asus eee datoru). Kāpēc vēlaties Web Savienots robots? Protams, lai spēlētu. Vadiet savu robotu no visas istabas vai pāri skaitam
Kā atkārtoti pārraidīt WIFI kā savu tīklu no sava klēpjdatora !: 4 soļi
Kā atkārtoti pārraidīt WIFI kā savu tīklu no sava klēpjdatora !: Šajā pamācībā es parādīšu, kā atkārtoti pārraidīt WIFI no klēpjdatora kā savu paroli aizsargātu tīklu. Jums būs nepieciešams klēpjdators, kurā darbojas sistēma Windows 7, jo programmatūrai ir nepieciešami daži Windows 7 sasniegumi, un jāizmanto jaunāks klēpjdators