Tartalomjegyzék:

Soros UDP/IP átjáró az Arduino -hoz ESP8266 pajzs alapján: 8 lépés
Soros UDP/IP átjáró az Arduino -hoz ESP8266 pajzs alapján: 8 lépés

Videó: Soros UDP/IP átjáró az Arduino -hoz ESP8266 pajzs alapján: 8 lépés

Videó: Soros UDP/IP átjáró az Arduino -hoz ESP8266 pajzs alapján: 8 lépés
Videó: Az IP cím - alapok 2024, Július
Anonim
Soros UDP/IP -átjáró az Arduino -hoz ESP8266 Shield alapján
Soros UDP/IP -átjáró az Arduino -hoz ESP8266 Shield alapján

2016 -ban már közzétettem ezt az oktatható "Hogyan készítsünk saját Wifi -átjárót az Arduino IP -hálózathoz való csatlakoztatásához". Mivel néhány kódjavítást végeztem, és továbbra is ezt a megoldást használom.

Ennek ellenére van néhány ESP8266 pajzs, amelyek lehetővé teszik ugyanazt a műveletet forrasztás nélkül mindaddig, amíg nem használ Micro vagy Nano lapokat.

Ez az utasítás elmagyarázza, hogyan lehet ezeket az ESP82 pajzsokat soros UDP/IP -átjáróként használni.

Ez egy globális otthoni automatizálási infrastruktúra része, amelyet itt megnézhet

További információ a pajzsról ezzel az utasítással

Kellékek

1 Arduino Mega (a legjobb, ha legalább 1 Mega van a fejlesztéshez és 1 Uno a futáshoz)

1 Rokoo ESP8266 ESP-12E UART WIFI átalakító

1 FTDI 3.3v

2 kenyeretábla vezeték

1. lépés: Hogyan működik?

Hogyan működik ?
Hogyan működik ?

A Gateway egy ESP8266 modulon alapul

Ez a modul az egyik oldalról csatlakozik a soros kapcsolattal a másik oldalról az IP hálózathoz a Wifi segítségével.

Fekete dobozként működik. A soros kapcsolatról érkező adatcsomagok IP/Udp portra kerülnek, és fordítva.

Csak be kell állítania saját konfigurációját (IP, WIFI …), amikor először bekapcsolja az átjárót.

Nyers ASCII és bináris adatokat tud átvinni (nincs HTTP, JSON …)

Úgy tervezték, hogy összekapcsolja az objektumokat a házi szerver szoftverekkel, amelyek gyors és gyakori rövid adatcsomag -továbbítást igényelnek.

2. lépés: Melyek a fő funkciók?

Többnyire egy fekete doboz, amely mindkét módon átalakítja a soros adatokat UDP csomagokká.

De az átjáró saját maga is eljárhat úgy, hogy belső információkat küld a szervernek, és néhány parancsot kap a szervertől.

Az Arduino csak egy soros link nyomtatásával / olvasásával küldhet és fogadhat üzeneteket az internetre csatlakoztatott szerver felé vagy onnan. Az Arduino fejlesztőnek nincs szüksége az IP protokollra.

Ezen felül egy GPIO -t biztosít, amelyet az Arduino használhat annak ellenőrzésére, hogy az átjáró megfelelően csatlakozik -e a WIFI -hez, és az átjáró automatikusan meg tud váltani két különböző SSID azonosítót hiba esetén

Az átjáró 2 különböző üzemmóddal rendelkezik, amelyeket GPIO beállításával választhat ki

A GPIO földre állítása és az átjáró konfigurációs módba lép.

A GPIO mentesítése és az átjáró átjáró üzemmódba lép.

Ezen felül az átjáró UDP/IP konfigurációja távolról módosítható

3. lépés: Anyagépítés

Anyag felépítése
Anyag felépítése

Nagyon kevés dologra van szükség

1 ESP8266 Shield - ezt az UNO R3 ESP8266 soros WiFi Shield Extend Board modult találtam kevesebb mint 9 € áron

1 UNO, amely az Arduino célpontja

1 Mega, amely az arduino fejlesztőeszköz (nélkül is megteheti, de elég nehéz hibakeresni)

1 FTDI 3.3/5v fejlesztésre

Néhány vezeték

4. lépés: Töltse le az átjárókódot

Töltse le az átjárókódot
Töltse le az átjárókódot

Ebben a lépésben az Arduino csak az ESP8266 pajzs áramellátására szolgál (USB -vel vagy más áramforrással)

Csatlakoztassa az ESP8266 GPIO4 -et a földhöz (a konfigurációs módba lépéshez)

Ügyeljen arra, hogy az FTDI értékét a pajzs által előírt 3.3v értékre állítsa

Csatlakoztassa az FTDI -t a pajzshoz (RX -TX)

Állítsa az árnyékoló kapcsolót 1: ki 2: ki 3: be 4: be állásba

Csatlakoztassa az FTDI USB oldalát a számítógéphez

Állítsa vissza a pajzsot az ESP-RST nyomógombbal

Töltse le az átjárókódot a GitHubon

Nyissa meg az Arduino IDE -t

  • Válassza ki az FTDI monitor portját
  • Nyissa meg az IDE soros monitort - Állítsa a sebességet 38400 -ra
  • Válassza ki az általános ES8266 modullapot
  • Frissítse a pajzs firmware -t az átjáró kódjával

Kapcsolja be a 3 kapcsolót: ki 4: ki

Nyissa meg az IDE soros monitort

Állítsa vissza a pajzsot az ESP-RST nyomógombbal

Látnia kell a monitoron az "EEPROM inicializálás" kezdetű "" inicializálás befejezve "üzeneteket.

Ideje elvégezni a konfigurációt

5. lépés: Végezzük el az átjáró konfigurálását

Az átjáró kód első letöltésekor az ESP8266 Eeprom inicializálódik az alapértelmezett értékekkel. Látni fogja az ilyen típusú üzeneteket "set parameter: x size: yy"

Ezeket az értékeket a paramValue kóddefiníciójában találja. Természetesen megváltoztathatja ezeket az alapértelmezett értékeket a kód letöltése előtt, de később konfigurációval is megadhatja a konfigurációt. Ez jobb, ha a többszörös átjárót tervezi, és csak egy kódváltozatot tart meg.

Használja a monitor soros portját parancs küldéséhez (NL és CR értékre állítva).

Mivel az SSID jelenleg nincs definiálva, várja meg a "Nem sikerült csatlakozni a saját másodlagos próbálkozáshoz: 5"

Ezután a WIFI szkennelése automatikusan elindul

Itt az ideje beállítani az SSID -ket a következő parancsokkal:

  • SSID1 = az Ön választása1
  • PSW1 = a tepsw1
  • SSID2 = az Ön választása2
  • PSW2 = a tepsw2
  • SSID = 1 (hogy melyik SSID -vel kezdje)
  • Indítsa újra a Wifit

Néhány másodperc múlva ellenőrizheti a kapcsolatot a "ShowWifi" paranccsal. Látnia kell az átjáró DNS -kiszolgálótól kapott IP -címét. Ha igen, itt az ideje tovább lépni

Itt az ideje, hogy határozza meg az IP -kiszolgáló címét a 4 alcím megadásával (a Java tesztkódot futtató szerver). Például:

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

Ha üres parancsot küld, látni fogja az összes támogatott parancsot, amelyeket később felhasználhat az igényeinek megfelelően. Minden paraméterérték az Eeprom -ban tárolódik, és újraindítást kell figyelembe venni.

Távolítsa el a konfigurációs vezetéket

A pajzs most átjáróként fut

6. lépés: Töltse le az Arduino kód példáját

Töltse le az Arduino kód példáját
Töltse le az Arduino kód példáját

Először töltse le a fő Arduino kódot a GitHubon

Ezután töltse le a könyvtáraiba az Arduino kódot, amely ezt a parancsot határozza meg, és ezt a soros linkkódot

Ezután nyissa meg a fő kódot egy új Arduino IDE -vel

Kapcsolja ki az 1. és 2. árnyékoló kapcsolót, hogy felszabadítsa az Arduino 0 soros linket az USB -kapcsolathoz

Állítsa vissza a pajzsot

Csatlakoztassa az FTDI vezetékeket a Mega Serial 2 -hez (TX FTDI -RX Mega és így tovább)

Indítson el egy új Arduino IDE -t (vagy egy TTY -eszközt), csatlakoztassa az FTDI USB -t, és kezdje el figyelni a soros kapcsolatot

Töltse fel az Arduino kódot a Mega -ba

Kapcsolja be az 1. és 2. árnyékoló kapcsolót az Arduino 0 soros kapcsolat csatlakoztatásához

Állítsa vissza a pajzsot

Látnia kell ezt az üzenetet "indítsa el az USB nyomtatást" a monitoron

7. lépés: Csináljuk a szerver oldalt

A szerver példa egy Java program, amelyet itt tölthet le a GitHub -ról

Csak futtassa, nézze meg a Java konzolt, és nézze meg az FTDI monitort

Látni fogja az adatcserét a szerver és az Arduino között

8. lépés: Továbblépés

Továbbmenni
Továbbmenni
Továbbmenni
Továbbmenni

Ez az Arduino kód példa az otthoni automatizálási infrastruktúrám keretrendszerén alapul.

Ha érdekli ez az infrastruktúra, tudassa velem. Közzéteszem a forrásokat.

Ha csak az átjárót szeretné használni, egyszerűsítheti az Arduino kódot.

Miután kifejlesztette és tesztelte a kódot egy Arduino Mega készüléken, könnyen kicserélheti egy Uno -ra!

Ezen felül csatlakoztathat egy vezetéket az Arduino GPIO 7 és az ESP8266 GPIO 5 közé, ha azt szeretné, hogy az Arduino ellenőrizze a Wifi -kapcsolatot

Ajánlott: