Innehållsförteckning:
- Tillbehör
- Steg 1: Hur fungerar det?
- Steg 2: Vilka är huvudfunktionerna?
- Steg 3: Bygg av material
- Steg 4: Låt oss börja med elektroniken på brödbrädet
- Steg 5: Låt oss gå till programvaran
- Steg 6: Låt oss göra konfigurationen
- Steg 7: Låt oss göra Arduino -sidan
- Steg 8: Låt oss göra serversidan
- Steg 9: Det är dags att göra lite lödningar
- Steg 10: Låt oss göra det sista testet
- Steg 11: Du kan anpassa denna design till dina egna krav
Video: Hur man gör din egen WIFI -gateway för att ansluta din Arduino till IP -nätverk?: 11 steg (med bilder)
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:38
Som så många tror du att Arduino är en mycket bra lösning för att göra hemautomation och robotik
Men när det gäller kommunikation kommer Arduinos bara med seriella länkar.
Jag arbetar med en robot som måste vara permanent ansluten till en server som kör artificiell intelligenskod. Jag försökte använda RF -nätverk som jag brukade göra för domotic men det är inte tillräckligt effektivt. När roboten rör sig kan jag inte använda Ethernet Arduino Shield. Arduino Wifi Shield är dyra och verkar för mig vara gammal design.
Jag behövde något som kan utbyta data på ett mycket enkelt och effektivt sätt med en server.
Det är därför jag bestämde mig för att designa en Gateway baserad på den mycket billiga och energieffektiva ESP8266 mikrokontrollern
Här kan du hitta hur du bygger den elektroniska komponenten och laddar ner programvaran.
Jag använde denna gateway för hemautomation och för robotik.
Detta är en del av en global hemautomatiseringsinfrastruktur som du kan titta på här
Jag gjorde en annan instruerbar som använder en ESP8266 -skärm och undviker lödning
Tillbehör
Jag skrev en annan instruerbar om detta ämne
Steg 1: Hur fungerar det?
Gateway är baserad på en ESP8266 -modul
Denna modul är ansluten från ena sidan med seriell länk från den andra sidan till IP -nätverk med Wifi.
Det fungerar som en svart låda. Datapaket som kommer från den seriella länken skickas till en IP/Udp -port och vice versa.
Du måste bara ställa in din egen konfiguration (IP, WIFI …) en gång första gången du startar Gateway.
Den kan överföra antingen rå ASCII och binär data (ingen HTTP, JSON …)
Det är utformat för att ansluta objekt med hemgjorda mjukvaror som kräver snabba och frekventa överföringar av korta paket med data.
Det är lättast att använda med Arduino Mega som har mer än en UART (Arduino Mega till exempel) men kan också köras med en UNO.
Steg 2: Vilka är huvudfunktionerna?
Mestadels är det en svart låda som konverterar och skickar seriell data till UDP -paket på båda sätten.
Den har 3 lysdioder som anger status och trafik för Gateway.
Den tillhandahåller en GPIO som kan användas av Arduino för att vänta på att Gateway är WIFI- och IP -ansluten.
Den körs i 3 olika lägen som är inställda med switchar:
- Gateway -läge som är det normala läget
- Konfigurationsläge som används för att ställa in parametrarna
- Debug -läge som är för felsökningsläge
De flesta parametrarna kan ändras för att passa dina behov.
Steg 3: Bygg av material
Ovanpå din Arduino behöver du
- 1 x ESP8266-modul-jag väljer MOD-WIFI-ESP8266-DEV från Olimex som kostar cirka 5 euro som är ganska lätt att använda.
- 1 x 5v strömkälla
- 1 x 3.3v effektregulator - jag använder LM1086
- 1 x 100 mikrofarad kondensator
- 1 x ULN2803 APG -modul (kan ersättas av 3 x transistorer)
- 8 x motstånd (3 x 1K, 1 x 2K, 1 x 2.7k, 1x 3.3K, 1x 27K, 1x 33k)
- 3 x LED (röd, grön, blå)
- 1 x brödbräda PCB
- några ledningar och kontakter
Endast under byggstegen behöver du
- 1 x FTDI 3.3v för konfigurationen
- Lödkolv och tenn
Innan lödning är det viktigt att installera alla komponenter på brödbräda och kontrollera att allt är ok.
Steg 4: Låt oss börja med elektroniken på brödbrädet
Den elektroniska layouten finns i Fritzing -format
Du kan ladda ner det här steg 1:
github.com/cuillerj/Esp8266IPSerialGateway/blob/master/GatewayElectronicStep1.fzz
Gör bara som schema genom att ta hand om spänningen.
Kom ihåg att ESP8266 inte stöder spänning högre än 3.3v. FTDI måste vara inställd på 3.3v.
Steg 5: Låt oss gå till programvaran
Låt oss börja med Gateway -sidan
Jag skrev koden med Arduino IDE. Så du behöver ESP8266 för att bli känd som styrelsen av IDE. Välj lämplig tavla med menyn Verktyg / tavlor.
Om du inte ser någon ESP266 i listan betyder det att du kan behöva installera ESP8266 Arduino Addon (proceduren hittar du här).
All kod du behöver är tillgänglig på GitHub. Det är dags att ladda ner den!
Huvudkoden för Gateway finns där:
Ovanpå standard Arduino och ESP8266 innehåller huvudkoden behöver dessa 2 inkluderar: LookFoString som används för att manipulera strängar och finns där:
ManageParamEeprom som används för att läsa och lagra parametrar i Eeprom ans finns där:
När du har fått all koden är det dags att ladda upp den till ESP8266. Anslut först FTDI till en USB -port på din dator.
Jag föreslår att du kontrollerar anslutningen innan du försöker ladda upp.
- Ställ in Arduino seriell bildskärm till den nya USB -porten.
- Ställ in hastigheten på 115200 både cr nl (defaut -hastighet för Olimex)
- Slå på brödbrädan (ESP8266 levereras med programvara som hanterar AT -kommandon)
- Skicka "AT" med serieverktyget.
- Du måste få "OK" i gengäld.
Om inte, kontrollera din anslutning och titta på dina ESP8266 -specifikationer.
Om du har "OK" är du redo att ladda upp koden
- Stäng av brödbrädan, vänta några sekunder,
- tryck på den svarta mikrosviten i ESP8266. Det är normalt att få lite skräp på seriemonitorn.
- Tryck på uppladdnings -IDE som för en Arduino.
- När överföringen är klar ställer du in seriehastigheten till 38400.
Du kommer att se något som på bilden.
Grattis du lyckades ladda upp koden!
Steg 6: Låt oss göra konfigurationen
ConfigGPIO måste ställas in på 1 för att gå in i konfigurationsläge
Skanna först WIFI genom att ange kommandot: ScanWifi. Du kommer att se en lista över det upptäckta nätverket.
- Ställ sedan in ditt SSID genom att ange "SSID1 = ditt nätverk"
- Ange sedan ditt lösenord genom att ange "PSW1 = ditt lösenord"
- Ange sedan "SSID = 1" för att definiera det aktuella nätverket
- Ange "Starta om" för att ansluta gatewayen till ditt WIFI.
- Du kan verifiera att du har en IP genom att ange "ShowWifi".
- Den blå lysdioden lyser och den röda lysdioden blinkar.
Det är dags att definiera din IP -serveradress genom att ange de fyra underadresserna (server som kör Java -testkoden). Till exempel:
- "IP1 = 192"
- "IP2 = 168"
- "IP3 = 1"
- "IP4 = 10"
Det sista steget som krävs är att ställa in UDP -serverns lyssningsport genom att ange "listenPort = xxxx".
Ange "ShowEeprom" för att kontrollera vad du just lagrade i Eeprom
Anslut nu GPIO2 till marken för att lämna konfigurationsläget
Din Gateway är redo att fungera
Det finns några andra kommandon du kan hitta i dokumentationen.
Steg 7: Låt oss göra Arduino -sidan
Anslut först Arduino
Om du har en Mega är det lättast att börja med. Ändå kan du använda en Uno.
För att kontrollera ditt arbete är det bästa att använda exemplet.
Du kan ladda ner det där:
Den innehåller SerialNetwork -kod som finns här:
Ladda bara upp koden inuti din Arduino.
Den gröna lysdioden blinkar varje gång Arduino skickar data.
Steg 8: Låt oss göra serversidan
Serverexemplet är ett Java -program som du kan ladda ner här:
Kör det bara
Titta på Java -konsolen.
Titta på Arduino -skärmen.
Arduino skicka 2 olika paket.
- Den första innehåller statusen för digitala stift 2 till 6.
- Den andra innehåller 2 slumpmässiga värden, spänningsnivån A0 i mV och inkrementellt antal.
Java -programmet
- skriva ut mottagna data i hexadecimalt format
- svara på den första typen av data med ett slumpmässigt på/av -värde för att sätta på/av Arduino LED
- svara på den andra typen av data med det mottagna antalet och ett slumpmässigt värde.
Steg 9: Det är dags att göra lite lödningar
Det fungerar på brödbrädan!
Det är dags att göra den mer robust genom att lödda delar på ett kretskort
Utöver det du gjorde med brödbrädan måste du lägga till tre kontakter.
- C1 1 x pin one som ska användas för att gå in i nätverksspårningsläge.
- C2 3 x stift en som kommer att användas för att växla mellan körning och konfigurationsläge.
- C3 6 x stift en som kommer att användas för att ansluta Gateway antingen till en Arduino eller en FTDI.
C1 ansluten till GPIO2 måste jordas manuellt om du vill aktivera nätverksspåren.
C2 ansluten till GPIO 4 kan ställas in i 2 olika lägen. En som satt till marken för det normala driftläget och en till 3,3v för att gå in i konfigurationsläge.
Ställ in alla komponenter på kretskortet enligt diagrammet och börja sedan lödas för att få den slutliga produkten!
Steg 10: Låt oss göra det sista testet
Starta Java -testprogrammet.
Anslut Arduino.
Slå på Gateway.
Och titta på Java -konsolen, Arduino -bildskärmen, Arduino -LED och Gateway -lysdioderna.
Steg 11: Du kan anpassa denna design till dina egna krav
Angående hårdvaran
- Om du väljer någon annan ESP8266 måste du anpassa dig till specifikationerna.
- Om du väljer en annan 3.3v regulator måste den leverera över 500mA och du måste anpassa kondensatorn.
- Du kan ändra LED -motstånden för att justera ljusstyrkan.
- Du kan undertrycka all LED men jag rekommenderar att du åtminstone håller den röda på.
- Du kan ersätta ULN2803 med 3 transistorer (eller mindre jag väljer att inte behålla de 3 lysdioderna).
- Jag testade men det måste fungera med 3.3v Arduino -brädor. Anslut bara Tx Rx till 3.3v -kontakten.
Angående konfiguration
- Du kan lagra 2 olika SSID och switch
- Du kan ändra GPIO som används
Angående programvaran
Rekommenderad:
Hur man gör din egen USB -billaddare för alla iPod eller andra enheter som laddas via USB: 10 steg (med bilder)
Hur man gör en egen USB -billaddare för alla iPod eller andra enheter som laddas via USB: Skapa en USB -billaddare för alla iPod eller andra enheter som laddas via USB genom att splitsa ihop en biladapter som matar ut 5v och USB Female -kontakt. Den viktigaste delen av detta projekt är att se till att utgången på din valda biladapter är satsad
Övertyga dig själv om att bara använda en 12V-till-AC-omriktare för LED-ljussträngar istället för att koppla om dem för 12V: 3 steg
Övertyga dig själv om att bara använda en 12V-till-AC-linjeomvandlare för LED-ljussträngar istället för att koppla om dem för 12V: Min plan var enkel. Jag ville klippa upp en väggdriven LED-ljussträng i bitar och sedan dra om den för att gå av 12 volt. Alternativet var att använda en kraftomvandlare, men vi vet alla att de är fruktansvärt ineffektiva, eller hur? Höger? Eller är de det?
Gör din egen professionella skivrengöringsmaskin för mindre än $ 80 och spara upp till $ 3000 och mer: 6 steg (med bilder)
Gör din egen professionella skivrengöringsmaskin för mindre än $ 80 och spara upp till $ 3000 och mer .: Ursäkta min engelska. Efter att jag hittat tillbaka till ljudet av god gammal vinyl hade jag problemet med varje skivälskare. Hur rengörs posterna ordentligt!? Det finns många sätt på Internet. Billigare sätt som Knosti eller Discofilm men också
Gör din egen fina EeePC / Netbook -påse för cirka $ 8 (och spara $ 91 istället för att köpa från Redmaloo): 5 steg (med bilder)
Gör din egen fina filt EeePC / Netbook -påse för cirka $ 8 (och spara $ 91 istället för att köpa från Redmaloo): Den här instruktören visar dig hur du gör din egen, mycket snygga och snygga bärbara dator eller ännu bättre netbook -påse. Det kommer att lagra din netbook, ge dig en musmatta, känslan av att använda något unikt, snyggt och handgjort och känslan av
Olika sätt att ansluta till din Mac Mini: 5 steg
Olika sätt att ansluta till din Mac Mini: Anslutning till din mac mini hemma eller borta är avgörande, särskilt om du inte har en tangentbordsmus och en bildskärm permanent ansluten. Ett stycke lingo vi behöver för att göra raka affärer med vilken dator vi pratar om. Jag kommer alltid att använda