Tartalomjegyzék:

Hogyan készítsünk saját WIFI -átjárót az Arduino IP -hálózathoz való csatlakoztatásához?: 11 lépés (képekkel)
Hogyan készítsünk saját WIFI -átjárót az Arduino IP -hálózathoz való csatlakoztatásához?: 11 lépés (képekkel)

Videó: Hogyan készítsünk saját WIFI -átjárót az Arduino IP -hálózathoz való csatlakoztatásához?: 11 lépés (képekkel)

Videó: Hogyan készítsünk saját WIFI -átjárót az Arduino IP -hálózathoz való csatlakoztatásához?: 11 lépés (képekkel)
Videó: Высокая плотность 2022 2024, November
Anonim
Hogyan készítsünk saját WIFI -átjárót az Arduino IP -hálózathoz való csatlakoztatásához?
Hogyan készítsünk saját WIFI -átjárót az Arduino IP -hálózathoz való csatlakoztatásához?

Mint annyi ember, úgy gondolja, hogy az Arduino nagyon jó megoldás az otthoni automatizáláshoz és a robotizáláshoz

De a kommunikáció szempontjából az Arduinos csak soros linkekkel érkezik.

Dolgozom egy roboton, amelyet állandóan csatlakoztatni kell egy mesterséges intelligencia kódot futtató szerverhez. Megpróbáltam RF -hálózatot használni, ahogy szoktam a dominikushoz, de ez nem elég hatékony. Miközben a robot mozog, nem tudom használni az Ethernet Arduino Shield -et. Az Arduino Wifi Shield drága, és számomra régi designnak tűnik.

Szükségem volt valamire, ami nagyon egyszerűen és hatékonyan képes adatokat cserélni egy szerverrel.

Ezért úgy döntöttem, hogy Gateway -t tervezek a nagyon olcsó és energiatakarékos ESP8266 mikrokontroller alapján

Itt megtalálja az elektronikus komponens építésének és a szoftver letöltésének módját.

Ezt az átjárót használtam az otthoni automatizáláshoz és a Robotichoz.

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

Készítettem egy másik utasítást, amelyek ESP8266 pajzsot használnak, és elkerülik a forrasztást

Kellékek

Írtam még egy tanulságos témát ebben a témában

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.

A legegyszerűbb olyan Arduino Mega -val használni, amely több UART -ot tartalmaz (például Arduino Mega), de UNO -val is futtatható.

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

Többnyire egy fekete doboz, amely mindkét módon konvertálja és küldi a soros adatokat az UDP csomagba.

3 LED -del rendelkezik, amelyek jelzik az átjáró állapotát és forgalmát.

GPIO -t biztosít, amelyet az Arduino használhat, hogy megvárja, amíg az átjáró WIFI- és IP -kapcsolatra csatlakozik.

Három különböző üzemmódban működik, amelyek kapcsolókkal vannak beállítva:

  • Átjáró mód, amely a normál mód
  • A paraméterek beállításához használt konfigurációs mód
  • Hibakeresési mód, amely a hibakeresési módra szolgál

A legtöbb paraméter módosítható az Ön igényei szerint.

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

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

Az Arduino tetejére szüksége lesz

  • 1 x ESP8266 modul-Az Olimex MOD-WIFI-ESP8266-DEV készülékét választom, amely körülbelül 5 euróba kerül, és nagyon könnyen használható.
  • 1 x 5V -os áramforrás
  • 1 x 3.3V teljesítményszabályozó - LM1086 -ot használok
  • 1 x 100 mikrofarad kondenzátor
  • 1 x ULN2803 APG modul (3 x tranzisztorral helyettesíthető)
  • 8 x ellenállás (3 x 1K, 1 x 2K, 1 x 2,7k, 1x 3,3K, 1x 27K, 1x 33k)
  • 3 x LED (piros, zöld, kék)
  • 1 x kenyeretábla NYÁK
  • néhány vezeték és csatlakozó

Csak az építési lépések során szüksége lesz

  • 1 x FTDI 3.3v a konfigurációhoz
  • Forrasztópáka és ón

A forrasztás előtt fontos, hogy a kenyérlapra telepítse az összes alkatrészt, és ellenőrizze, hogy minden rendben van -e.

4. lépés: Kezdjük az elektronikával a kenyértáblán

Kezdjük az elektronikával a kenyértáblán!
Kezdjük az elektronikával a kenyértáblán!

Az elektronikus elrendezés Fritzing formátumban érhető el

Itt letöltheti az 1. lépést:

github.com/cuillerj/Esp8266IPSerialGateway/blob/master/GatewayElectronicStep1.fzz

Csak a séma szerint járjon el, ügyelve a feszültségre.

Ne feledje, hogy az ESP8266 nem támogatja a 3,3 V -nál nagyobb feszültséget. Az FTDI -t 3,3 V -ra kell állítani.

5. lépés: Menjünk a szoftverhez

Menjünk a szoftverhez!
Menjünk a szoftverhez!

Kezdjük a Gateway oldallal

Arduino IDE -vel írtam a kódot. Tehát szüksége van az ESP8266 -ra, hogy az IDE táblaként ismerje. Válassza ki a megfelelő táblát az Eszközök / táblák menüben.

Ha nem lát ESP266 -ot a listában, akkor előfordulhat, hogy telepítenie kell az ESP8266 Arduino Addont (az eljárást itt találja).

Minden szükséges kód elérhető a GitHubon. Itt az ideje letölteni!

A Gateway fő kódja ott található:

A szabványos Arduino és az ESP8266 tartalmazza a fő kódszükségletet, ezek a következők:

Itt található a ManageParamEeprom, amely az Eeprom ans paraméterek olvasására és tárolására szolgál:

Miután megkapta az összes kódot, ideje feltölteni az ESP8266 -ba. Először csatlakoztassa az FTDI -t a számítógép USB -portjához.

Javaslom, hogy a feltöltés előtt ellenőrizze a kapcsolatot.

  • Állítsa az Arduino soros monitort az új USB -portra.
  • Állítsa a sebességet 115200 mindkét cr nl -re (az Olimex alapértelmezett sebessége)
  • Kapcsolja be a kenyértáblát (az ESP8266 az AT parancsokkal foglalkozó szoftvert tartalmazza)
  • Küldje az "AT" -t a soros eszközzel.
  • Cserébe "OK" -t kell kapnia.

Ha nem, ellenőrizze a kapcsolatot, és nézze meg az ESP8266 specifikációit.

Ha az "OK" jelzést kapta, készen áll a kód feltöltésére

  • Kapcsolja ki a kenyértáblát, várjon néhány másodpercet,
  • nyomja meg az ESP8266 fekete mikrokapcsolóját. Normális, ha szemetet kap a soros monitor.
  • Nyomja meg a feltöltési IDE -t, mint egy Arduino esetében.
  • A feltöltés befejezése után állítsa a soros sebességet 38400 -ra.

Látni fog valamit, mint a képen.

Gratulálunk, sikeresen feltöltötte a kódot!

6. lépés: Végezzük el a konfigurációt

Végezzük el a konfigurációt!
Végezzük el a konfigurációt!

A configGPIO -t 1 -re kell állítani a konfigurációs módba való belépéshez

Először ellenőrizze a WIFI -t a következő parancs beírásával: ScanWifi. Látni fogja az észlelt hálózat listáját.

  • Ezután állítsa be SSID -jét az "SSID1 = yournetwork" megadásával
  • Ezután állítsa be jelszavát a "PSW1 = yourpassword" beírásával
  • Ezután írja be az "SSID = 1" értéket az aktuális hálózat meghatározásához
  • Írja be az "Újraindítás" gombot az átjáró WIFI -hez való csatlakoztatásához.
  • A "ShowWifi" megadásával ellenőrizheti, hogy rendelkezik -e IP -címmel.
  • A kék LED világít és a piros LED villog.

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"

Az utolsó szükséges lépés az UDP szerver figyelési portjának beállítása a "listenPort = xxxx" megadásával.

Írja be a "ShowEeprom" -t, hogy ellenőrizze, mit tárolt az Eepromban

Most csatlakoztassa a GPIO2 -t a földre, hogy kilépjen a konfigurációs módból

A Gateway készen áll a munkára

Vannak más parancsok is, amelyek megtalálhatók a dokumentációban.

7. lépés: Csináljuk az Arduino oldalt

Csináljuk az Arduino oldalt!
Csináljuk az Arduino oldalt!
Csináljuk az Arduino oldalt!
Csináljuk az Arduino oldalt!

Először csatlakoztassa az Arduino -t

Ha van Mega, akkor a legegyszerűbb vele kezdeni. Ennek ellenére használhat Uno -t.

Munkájának ellenőrzéséhez a legjobb a példa használata.

Innen letöltheti:

Tartalmazza a SerialNetwork kódot, amely itt található:

Csak töltse fel a kódot az Arduino -ba.

A zöld LED minden alkalommal villog, amikor az Arduino adatokat küld.

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

Csináljuk a szerver oldalt!
Csináljuk a szerver oldalt!
Csináljuk a szerver oldalt!
Csináljuk a szerver oldalt!

A szerver példa egy Java program, amelyet innen tölthet le:

Csak futtasd

Nézd meg a Java konzolt.

Nézze meg az Arduino monitort.

Az Arduino 2 különböző csomagot küld.

  • Az első tartalmazza a 2-6.
  • A második 2 véletlenszerű értéket tartalmaz, az A0 feszültségszintjét mV -ban és növekményes számolást.

A Java program

  • a kapott adatokat hexadecimális formátumban nyomtatja ki
  • válaszoljon az első típusú adatokra véletlenszerű be- és kikapcsolási értékkel az Arduino LED be-/kikapcsolásához
  • válaszoljon a második típusú adatokra a kapott számmal és egy véletlen értékkel.

9. lépés: Ideje forrasztani

Ideje forrasztani!
Ideje forrasztani!
Ideje forrasztani!
Ideje forrasztani!
Ideje forrasztani!
Ideje forrasztani!

Kenyérsütőn működik!

Itt az ideje, hogy robusztusabbá tegyük az alkatrészeket egy NYÁK -ra forrasztva

A kenyértáblával végzett tevékenységeken felül hozzá kell adnia 3 csatlakozót.

  • C1 1 x tű, amelyet hálózati nyomkövetési módba való belépéshez használnak.
  • C2 3 x csap, amelyet a futó és a konfigurációs mód közötti váltáshoz használnak.
  • C3 6 x csap, amelyet az átjáró vagy Arduino vagy FTDI csatlakoztatására használnak.

A GPIO2 -hez csatlakoztatott C1 -et manuálisan kell földelni, ha aktiválni szeretné a hálózati nyomokat.

A GPIO 4 -hez csatlakoztatott C2 2 különböző pozícióba állítható. Az egyik a normál futási módhoz lett állítva, a másik pedig 3.3v -ra a konfigurációs módba való belépéshez.

Állítsa be az összes komponenst a NYÁK -ra az ábra szerint, majd kezdje el forrasztani, hogy megkapja a végterméket!

10. lépés: Végezzük el a végső tesztet

Image
Image

Indítsa el a Java tesztprogramot.

Csatlakoztassa az Arduino -t.

Kapcsolja be az átjárót.

És nézd meg a Java konzolt, az Arduino monitort, az Arduino LED -et és a Gateway LED -eket.

11. lépés: Ezt a kialakítást a saját igényeihez igazíthatja

Ami a hardvert illeti

  • Ha más ESP8266 készüléket választ, akkor hozzá kell igazodnia a specifikációkhoz.
  • Ha másik 3.3V -os szabályozót választ, akkor 500 mA felett kell leadnia, és be kell illesztenie a kondenzátort.
  • A fényerő beállításához módosíthatja a LED ellenállásokat.
  • Elnyomhatja az összes LED -et, de azt javaslom, hogy legalább a piros világítson.
  • Az ULN2803 -at 3 tranzisztorral helyettesítheti (vagy kevesebbet, ha úgy dönt, hogy nem tartja meg a 3 LED -et).
  • Teszteltem, de ott 3.3v Arduino táblákkal kell működnie. Csak csatlakoztassa a Tx Rx -et a 3.3V -os csatlakozóhoz.

Ami a konfigurációt illeti

  • 2 különböző SSID -t és kapcsolót tárolhat
  • Módosíthatja a használt GPIO -t

A szoftverrel kapcsolatban

Ajánlott: