Innholdsfortegnelse:
- Rekvisita
- Trinn 1: Hvordan fungerer det?
- Trinn 2: Hva er hovedfunksjonene?
- Trinn 3: Bygg av materiale
- Trinn 4: La oss begynne med elektronikken på brødbrettet
- Trinn 5: La oss gå til programvaren
- Trinn 6: La oss gjøre konfigurasjonen
- Trinn 7: La oss gjøre Arduino -siden
- Trinn 8: La oss gjøre serversiden
- Trinn 9: Det er på tide å gjøre litt lodding
- Trinn 10: La oss gjøre den siste testen
- Trinn 11: Du kan tilpasse dette designet til dine egne krav
Video: Hvordan lage din egen WIFI -gateway for å koble Arduino til IP -nettverk?: 11 trinn (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:21
Som så mange mennesker tror du Arduino er en veldig god løsning for å gjøre hjemmeautomatisering og robotikk
Men når det gjelder kommunikasjon, kommer Arduinos bare med serielle lenker.
Jeg jobber med en robot som må være permanent koblet til en server som kjører kunstig intelligenskode. Jeg prøvde å bruke RF -nettverk som jeg pleide å gjøre for domotic, men det er ikke effektivt nok. Når roboten beveger seg, kan jeg ikke bruke Ethernet Arduino Shield. Arduino Wifi Shield er dyrt og synes for meg å være gammelt design.
Jeg trengte noe som kan utveksle data på en veldig enkel og effektiv måte med en server.
Derfor bestemte jeg meg for å designe en Gateway basert på den veldig billige og energieffektive ESP8266 mikrokontrolleren
Her kan du finne ut hvordan du bygger den elektroniske komponenten og laster ned programvaren.
Jeg brukte denne porten for hjemmeautomatisering og for robotikk.
Dette tar del av en global infrastruktur for hjemmeautomatisering du kan se her
Jeg laget en annen instruerbar som bruker et ESP8266 -skjold og unngår lodding
Rekvisita
Jeg skrev en annen instruerbar om dette emnet
Trinn 1: Hvordan fungerer det?
Gateway er basert på en ESP8266 -modul
Denne modulen er koblet fra den ene siden med den serielle lenken fra den andre siden til IP -nettverket med Wifi.
Det fungerer som en svart boks. Datapakker som kommer fra den serielle lenken blir sendt til en IP/Udp -port og omvendt.
Du må bare angi din egen konfigurasjon (IP, WIFI …) en gang første gang du slår på Gateway.
Den kan overføre enten rå ASCII og binære data (ingen HTTP, JSON …)
Den er designet for å koble objekter til hjemmelagde serverprogrammer som krever raske og hyppige overføringer av korte datapakker.
Det er lettest å bruke med Arduino Mega som har mer enn en UART (for eksempel Arduino Mega), men kan også kjøres med en UNO.
Trinn 2: Hva er hovedfunksjonene?
Stort sett er det en svart boks som konverterer og sender serielle data til UDP -pakken på begge måter.
Den har 3 lysdioder som indikerer status og trafikk for Gateway.
Den gir en GPIO som kan brukes av Arduino til å vente på at Gateway er WIFI og IP tilkoblet.
Den kjører i 3 forskjellige moduser som er satt med brytere:
- Gateway -modus som er normalmodus
- Konfigurasjonsmodus som brukes til å angi parametrene
- Feilsøkingsmodus som er for feilsøkingsmodus
De fleste parametrene kan endres for å passe dine behov.
Trinn 3: Bygg av materiale
På toppen av din Arduino trenger du
- 1 x ESP8266-modul-Jeg velger MOD-WIFI-ESP8266-DEV fra Olimex som koster rundt 5 euro som er ganske enkel å bruke.
- 1 x 5v strømkilde
- 1 x 3.3v effektregulator - jeg bruker LM1086
- 1 x 100 mikrofarad kondensator
- 1 x ULN2803 APG -modul (kan erstattes av 3 x transistorer)
- 8 x motstander (3 x 1K, 1 x 2K, 1 x 2.7k, 1x 3.3K, 1x 27K, 1x 33k)
- 3 x LED (rød, grønn, blå)
- 1 x Breadboard PCB
- noen ledninger og kontakter
Bare under byggetrinnene trenger du
- 1 x FTDI 3.3v for konfigurasjonen
- Loddejern og tinn
Før lodding er det viktig å sette opp alle komponentene på brødbrettet og kontrollere at alt er ok.
Trinn 4: La oss begynne med elektronikken på brødbrettet
Det elektroniske oppsettet er tilgjengelig i Fritzing -format
Du kan laste den ned her trinn 1:
github.com/cuillerj/Esp8266IPSerialGateway/blob/master/GatewayElectronicStep1.fzz
Bare gjør som skjemaet ved å passe på spenningen.
Husk at ESP8266 ikke støtter spenning høyere enn 3.3v. FTDI må settes til 3.3v.
Trinn 5: La oss gå til programvaren
La oss starte med Gateway -siden
Jeg skrev koden med Arduino IDE. Så du trenger ESP8266 for å bli kjent som bord av IDE. Velg det passende brettet med Verktøy / tavler -menyen.
Hvis du ikke ser noen ESP266 på listen, betyr det at du kanskje må installere ESP8266 Arduino Addon (du finner prosedyren her).
All koden du trenger er tilgjengelig på GitHub. Det er på tide å laste den ned!
Hovedkoden til Gateway er der:
I tillegg til standard Arduino og ESP8266 inkluderer hovedkoden trenger disse 2 inkluderer: LookFoString som brukes til å manipulere strenger og er der:
ManageParamEeprom som brukes til å lese og lagre parametere i Eeprom ans er der:
Når du har fått all koden, er det på tide å laste den opp til ESP8266. Først koble FTDI til en USB -port på datamaskinen.
Jeg foreslår at du sjekker tilkoblingen før du prøver å laste opp.
- Sett Arduino seriell skjerm til den nye USB -porten.
- Sett hastigheten til 115200 både cr nl (defaut -hastighet for Olimex)
- Slå på brødbrettet (ESP8266 kommer med programvare som omhandler AT -kommandoer)
- Send "AT" med det serielle verktøyet.
- Du må få "OK" tilbake.
Hvis ikke, sjekk tilkoblingen og se på ESP8266 -spesifikasjonene.
Hvis du har "OK" er du klar til å laste opp koden
- Slå av brødbrettet, vent noen sekunder,
- trykk på den svarte mikrosveien til ESP8266. Det er normalt å få litt søppel på den serielle skjermen.
- Trykk på opplastings -IDE som for en Arduino.
- Etter at opplastingen er fullført, sett seriehastigheten til 38400.
Du vil se noe som på bildet.
Gratulerer med at du har lastet opp koden!
Trinn 6: La oss gjøre konfigurasjonen
ConfigGPIO må settes til 1 for å gå inn i konfigurasjonsmodus
Først skanner du WIFI ved å skrive inn kommandoen: ScanWifi. Du vil se en liste over det oppdagede nettverket.
- Still deretter inn SSID ved å skrive inn "SSID1 = ditt nettverk"
- Angi deretter passordet ditt ved å skrive "PSW1 = ditt passord"
- Skriv deretter inn "SSID = 1" for å definere gjeldende nettverk
- Skriv inn "Start på nytt" for å koble gatewayen til WIFI -en.
- Du kan bekrefte at du har en IP ved å skrive inn "ShowWifi".
- Den blå lysdioden lyser og den røde lysdioden blinker.
Det er på tide å definere IP -serveradressen din ved å skrive inn de fire underadressene (serveren som skal kjøre Java -testkoden). For eksempel:
- "IP1 = 192"
- "IP2 = 168"
- "IP3 = 1"
- "IP4 = 10"
Det siste nødvendige trinnet er å angi UDP -serverens lytteport ved å angi "listenPort = xxxx".
Skriv inn "ShowEeprom" for å sjekke hva du nettopp lagret i Eeprom
Koble nå GPIO2 til bakken for å forlate konfigurasjonsmodusen
Din Gateway er klar til å fungere
Det er noen andre kommandoer du kan finne i dokumentasjonen.
Trinn 7: La oss gjøre Arduino -siden
Koble først Arduino
Hvis du har en Mega, vil det være lettest å begynne med. Likevel kan du bruke en Uno.
For å sjekke arbeidet ditt er det best å bruke eksemplet.
Du kan laste den ned der:
Den inkluderer SerialNetwork -kode som er her:
Bare last opp koden inne i Arduino.
Den grønne LED -en blinker hver gang Arduino sender data.
Trinn 8: La oss gjøre serversiden
Servereksemplet er et Java -program som du kan laste ned her:
Bare kjør den
Se på Java -konsollen.
Se på Arduino -skjermen.
Arduino sender 2 forskjellige pakker.
- Den første inneholder statusen til de digitale pinnene 2 til 6.
- Den andre inneholder 2 tilfeldige verdier, spenningsnivået på A0 i mV og trinnvis antall.
Java -programmet
- skrive ut mottatte data i heksadesimalt format
- svar på den første typen data med en tilfeldig på/av -verdi for å sette på/av Arduino LED
- svare på den andre typen data med mottatt antall og en tilfeldig verdi.
Trinn 9: Det er på tide å gjøre litt lodding
Det fungerer på brødbrettet!
Det er på tide å gjøre den mer robust ved å lodde deler på en PCB
På toppen av det du gjorde med brødbrettet, må du legge til 3 kontakter.
- C1 1 x pin one som skal brukes for å gå inn i nettverkssporingsmodus.
- C2 3 x pinner en som skal brukes til å veksle mellom drifts- og konfigurasjonsmodus.
- C3 6 x pins en som skal brukes til å koble Gateway til enten en Arduino eller en FTDI.
C1 koblet til GPIO2 må jordes manuelt hvis du vil aktivere nettverkssporene.
C2 koblet til GPIO 4 kan settes i 2 forskjellige posisjoner. En som satt til bakken for normal driftsmodus og en til 3.3v for å gå inn i konfigurasjonsmodus.
Sett alle komponentene på kretskortet i henhold til diagrammet, og start deretter med lodding for å få det endelige produktet!
Trinn 10: La oss gjøre den siste testen
Start Java -testprogrammet.
Koble til Arduino.
Strøm på Gateway.
Og se på Java -konsollen, Arduino -skjermen, Arduino -LED -en og Gateway -lysdiodene.
Trinn 11: Du kan tilpasse dette designet til dine egne krav
Når det gjelder maskinvaren
- Hvis du velger en annen ESP8266, må du tilpasse deg spesifikasjonene.
- Hvis du velger en annen 3.3v regulator må den levere over 500mA, og du må tilpasse kondensatoren.
- Du kan endre LED -motstandene for å justere lysstyrken.
- Du kan undertrykke alle lysdiodene, men jeg anbefaler å beholde minst den røde på.
- Du kan erstatte ULN2803 med 3 transistorer (eller mindre du velger å ikke beholde de 3 LED -ene).
- Jeg testet, men det må fungere med 3.3v Arduino -plater. Bare koble Tx Rx til 3.3v -kontakten.
Når det gjelder konfigurasjon
- Du kan lagre 2 forskjellige SSID og bytte
- Du kan endre GPIO som brukes
Når det gjelder programvaren
Anbefalt:
Hvordan lage din egen Night Vision Device !: 5 trinn (med bilder)
Hvordan lage din egen nattsynenhet !: I dette prosjektet vil jeg vise deg hvordan du lager en nattsynenhet. Den består hovedsakelig av et sikkerhetskamera, en liten skjerm og en tilpasset PCB som har IR -lysdioder og en LED -driver. Etter å ha slått på enheten med en USB Type-C PD powerbank, kan du
Hvordan lage din egen spillkonsoll: 6 trinn (med bilder)
Hvordan lage din egen spillkonsoll: Har du noen gang ønsket å lage din egen videospillkonsoll? En konsoll som er billig, liten, kraftig og til og med passer perfekt i lommen? Så i dette prosjektet vil jeg vise dere hvordan du lager en spillkonsoll ved hjelp av en Raspberry Pi, men hva er en bringebær
Hvordan lage din egen USB -billader for enhver iPod eller andre enheter som lades via USB: 10 trinn (med bilder)
Hvordan lage din egen USB -billader til en hvilken som helst iPod eller andre enheter som lades via USB: Lag en USB -billader for enhver iPod eller annen enhet som lades via USB ved å splitte sammen en biladapter som sender ut 5v og USB Female plugg. Den viktigste delen av dette prosjektet er å sørge for at utgangen du valgte biladapteren er satset på
Hvordan lage din egen Scratchtable: 5 trinn (med bilder)
Hvordan lage din egen skrapelodd: Hvordan lage din egen skrapelodd/dreieskive ved hjelp av en pizzaboks og en optisk mus! ************* Se videoen for en oversikt
Techduino -- Hvordan lage din egen hjemmelagde Arduino Uno R3 --: 9 trinn (med bilder)
Techduino || Hvordan lage din egen hjemmelagde Arduino Uno R3 ||: Hvis du er som meg, etter at jeg fikk min Arduino og utførte en siste programmering på min første brikke, ville jeg trekke den av min Arduino Uno R3 og sette den på min egen krets. Dette vil også frigjøre min Arduino for fremtidige prosjekter. Etter å ha lest gjennom mange