Taula de continguts:

Com crear la vostra pròpia passarel·la WIFI per connectar el vostre Arduino a la xarxa IP ?: 11 passos (amb imatges)
Com crear la vostra pròpia passarel·la WIFI per connectar el vostre Arduino a la xarxa IP ?: 11 passos (amb imatges)

Vídeo: Com crear la vostra pròpia passarel·la WIFI per connectar el vostre Arduino a la xarxa IP ?: 11 passos (amb imatges)

Vídeo: Com crear la vostra pròpia passarel·la WIFI per connectar el vostre Arduino a la xarxa IP ?: 11 passos (amb imatges)
Vídeo: BTT Manta M8P v2 - Basics with CB1 v2.2 2024, Juliol
Anonim
Com crear la vostra pròpia passarel·la WIFI per connectar el vostre Arduino a la xarxa IP?
Com crear la vostra pròpia passarel·la WIFI per connectar el vostre Arduino a la xarxa IP?

Com a tanta gent, creieu que Arduino és una molt bona solució per fer domòtica i robòtica

Però, en termes de comunicació, Arduinos acaba de venir amb enllaços de sèrie.

Estic treballant en un robot que ha d’estar connectat permanentment amb un servidor que executa codi d’intel·ligència artificial. Vaig intentar utilitzar la xarxa de RF com acostumo a fer per a domòtics, però no és prou eficient. A mesura que el robot es mou, no puc fer servir el Ethernet Arduino Shield. Arduino Wifi Shield és car i em sembla un disseny antic.

Necessitava alguna cosa que pogués intercanviar dades d’una manera molt senzilla i eficient amb un servidor.

És per això que vaig decidir dissenyar una passarel·la basada en el microcontrolador ESP8266 molt econòmic i eficient en potència

Aquí podeu trobar com construir el component electrònic i descarregar el programari.

He utilitzat aquesta passarel·la per a la domòtica i per a Robòtica.

Això fa part d'una infraestructura domòtica global que podeu consultar aquí

He fet un altre instructiu que utilitza un escut ESP8266 i evita soldar

Subministraments

Vaig escriure un altre instructable sobre aquest tema

Pas 1: Com funciona?

Com funciona ?
Com funciona ?

El Gateway es basa en un mòdul ESP8266

Aquest mòdul es connecta des d’un costat amb l’enllaç sèrie de l’altre costat a la xarxa IP amb el Wifi.

Fa de caixa negra. Els paquets de dades que provenen de l’enllaç serial s’envien a un port IP / Udp i viceversa.

Només heu d’establir la vostra pròpia configuració (IP, WIFI …) la primera vegada que enceneu el Gateway.

Pot transferir ASCII en brut i dades binàries (sense HTTP, JSON …)

Està dissenyat per connectar objectes amb programes fets a casa del servidor que necessiten transferències ràpides i freqüents de paquets curts de dades.

És més fàcil d'utilitzar amb Arduino Mega que té més d'un UART (Arduino Mega per exemple), però també pot funcionar amb UNO.

Pas 2: quines són les funcions principals?

La majoria és una caixa negra que converteix i envia dades de sèrie al paquet UDP de totes dues maneres.

Té 3 LED que indiquen l'estat i el trànsit de la passarel·la.

Proporciona un GPIO que Arduino pot utilitzar per esperar que la passarel·la estigui connectada a WIFI i IP.

Funciona en 3 modes diferents que es configuren amb commutadors:

  • Mode de passarel·la que és el mode normal
  • Mode de configuració utilitzat per establir els paràmetres
  • Mode de depuració que és per al mode de depuració

La majoria dels paràmetres es poden modificar per adaptar-se a les vostres necessitats.

Pas 3: construcció de material

Construcció de material
Construcció de material

A més del vostre Arduino, el necessitareu

  • 1 x mòdul ESP8266: trio el MOD-WIFI-ESP8266-DEV d’Olimex que costa al voltant de 5 euros que és bastant fàcil d’utilitzar.
  • 1 x 5v font d'alimentació
  • 1 regulador de potència de 3,3 v: faig servir LM1086
  • 1 x 100 condensador de microfarad
  • 1 mòdul APG ULN2803 (es pot substituir per 3 transistors)
  • 8 x resistències (3 x 1K, 1 x 2K, 1 x 2,7k, 1x 3,3K, 1x 27K, 1x 33k)
  • 3 x LED (vermell, verd, blau)
  • 1 x PCB de tauler de pa
  • alguns cables i connectors

Només durant els passos de construcció, necessitareu

  • 1 x FTDI 3.3v per a la configuració
  • Soldador i estany

Abans de soldar és important configurar tots els components a la taula de verificació i comprovar que tot estigui bé.

Pas 4: Comencem per l'electrònic a la tauleta de pa

Comencem per l'electrònic a la tauleta de pa!
Comencem per l'electrònic a la tauleta de pa!

El disseny electrònic està disponible en format Fritzing

Podeu descarregar-lo aquí al pas 1:

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

Simplement feu un esquema tenint cura del voltatge.

Recordeu que l’ESP8266 no admet una tensió superior a 3,3 V. El FTDI s’ha d’establir a 3,3 v.

Pas 5: anem al programari

Anem al programari
Anem al programari

Comencem pel costat de la passarel·la

Vaig escriure el codi amb Arduino IDE. Per tant, necessiteu ESP8266 per ser conegut com a tauler per l'IDE. Seleccioneu el tauler adequat amb el menú Eines / taulers.

Si no veieu cap ESP266 a la llista, vol dir que és possible que hàgiu d'instal·lar el Complement Arduino ESP8266 (aquí trobareu el procediment).

Tot el codi que necessiteu està disponible a GitHub. És hora de descarregar-lo!

El codi principal de la passarel·la és allà: https://github.com/cuillerj/Esp8266IPSerialGateway …

A més dels estàndards Arduino i ESP8266, inclou el codi principal que necessita:

ManageParamEeprom que s’utilitza per llegir i emmagatzemar paràmetres a Eeprom ans hi és:

Un cop obtingueu tot el codi, és hora de penjar-lo a l’ESP8266. En primer lloc, connecteu l’FTDI a un port USB de l’ordinador.

Us suggerim que comproveu la connexió abans de provar de penjar-la.

  • Configureu el monitor sèrie Arduino al nou port USB.
  • Estableix la velocitat a 115200 ambdues cr nl (velocitat predeterminada per a Olimex)
  • Alimentació de la placa de control (ESP8266 inclou un programari que tracta les ordres AT)
  • Envieu "AT" amb l'eina de sèrie.
  • A canvi, haureu d’aconseguir "OK".

Si no, comproveu la vostra connexió i mireu les vostres especificacions ESP8266.

Si teniu "D'acord", esteu a punt per penjar el codi

  • Apagueu el tauler d’espera, espereu uns segons,
  • premeu el micro-swith negre de l’ESP8266. És normal aconseguir una mica d’escombraries al monitor sèrie.
  • Premeu l'IDE de càrrega com per a un Arduino.
  • Un cop finalitzada la càrrega, fixeu la velocitat de sèrie a 38400.

Veureu alguna cosa com a la imatge.

Enhorabona, heu penjat el codi amb èxit.

Pas 6: Fem la configuració

Fem la configuració!
Fem la configuració!

El configGPIO s'ha d'establir a 1 per entrar en mode de configuració

Al principi escaneja el WIFI introduint l’ordre: ScanWifi. Veureu una llista de la xarxa detectada.

  • A continuació, configureu el vostre SSID introduint "SSID1 = la vostra xarxa"
  • A continuació, configureu la contrasenya introduint "PSW1 = yourpassword"
  • A continuació, introduïu "SSID = 1" per definir la xarxa actual
  • Introduïu "Reinicia" per connectar la passarel·la al vostre WIFI.
  • Podeu verificar que teniu una IP si introduïu "ShowWifi".
  • El LED blau estarà encès i el LED vermell parpellejarà.

És hora de definir la vostra adreça del servidor IP introduint les 4 subadreces (servidor que executarà el codi de prova de Java). Per exemple:

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

L'últim pas obligatori és configurar el port d'escolta del servidor UDP introduint "listenPort = xxxx".

Introduïu "ShowEeprom" per comprovar el que acabeu d'emmagatzemar a Eeprom

Ara connecteu el GPIO2 a terra per sortir del mode de configuració

La vostra passarel·la està preparada per funcionar

Hi ha altres ordres que podeu trobar a la documentació.

Pas 7: Fem el costat Arduino

Fem el costat Arduino!
Fem el costat Arduino!
Fem el costat Arduino!
Fem el costat Arduino!

En primer lloc, connecteu l'Arduino

Si teniu un Mega, serà més fàcil començar. No obstant això, podeu utilitzar un Uno.

Per comprovar el vostre treball, el millor és utilitzar l’exemple.

Podeu descarregar-lo allà:

Inclou el codi SerialNetwork que es troba aquí:

Simplement pengeu el codi dins del vostre Arduino.

El LED verd parpelleja cada vegada que Arduino envia dades.

Pas 8: Fem el costat del servidor

Fem el costat del servidor!
Fem el costat del servidor!
Fem el costat del servidor!
Fem el costat del servidor!

L'exemple de servidor és un programa Java que podeu descarregar aquí:

Només cal executar-lo

Mireu la consola Java.

Mireu el monitor Arduino.

Arduino envia 2 paquets diferents.

  • El primer conté l'estat dels pins digitals del 2 al 6.
  • El segon conté 2 valors aleatoris, el nivell de voltatge d'A0 en mV i el recompte incremental.

El programa Java

  • imprimeix les dades rebudes en format hexadecimal
  • responeu al primer tipus de dades amb un valor d’encès / apagat aleatori per activar / desactivar el LED Arduino
  • responeu al segon tipus de dades amb el recompte rebut i un valor aleatori.

Pas 9: és hora de soldar

És hora de fer una mica de soldadura!
És hora de fer una mica de soldadura!
És hora de fer una mica de soldadura!
És hora de fer una mica de soldadura!
És hora de fer una mica de soldadura!
És hora de fer una mica de soldadura!

Funciona a la pissarra.

És hora de fer-lo més robust soldant peces en un PCB

A més del que heu fet amb el tauler, heu d'afegir 3 connectors.

  • C1 1 x pin one que s'utilitzarà per entrar en mode de seguiment de xarxa.
  • C2 3 x pins un que s’utilitzarà per canviar entre el mode d’execució i el de configuració.
  • C3 6 x pins un que s’utilitzarà per connectar la passarel·la a un Arduino o un FTDI.

El C1 connectat a GPIO2 s’ha de connectar a terra manualment si voleu activar les traces de xarxa.

El C2 connectat a GPIO 4 es pot configurar en 2 posicions diferents. Un que s’estableix a terra per al mode d’execució normal i un que s’estableix a 3,3 v per entrar en mode de configuració.

Establiu tots els components del PCB segons el diagrama i després comenceu a soldar per obtenir el producte final.

Pas 10: Fem la prova final

Image
Image

Inicieu el programa de prova Java.

Connecteu l'Arduino.

Enceneu la passarel·la.

I mireu la consola Java, el monitor Arduino, el LED Arduino i els LED Gateway.

Pas 11: Podeu adaptar aquest disseny als vostres propis requisits

Respecte al maquinari

  • Si escolliu algun altre ESP8266, haureu d’ajustar-vos a les especificacions.
  • Si trieu un altre regulador de 3,3 V, ha de lliurar més de 500 mA i haureu d’adaptar el condensador.
  • Podeu modificar les resistències LED per ajustar la brillantor.
  • Podeu suprimir tots els LED, però us recomano mantenir almenys el vermell encès.
  • Podeu substituir l'ULN2803 per 3 transistors (o menys si decidiu no mantenir els 3 LED).
  • Vaig fer proves, però allà deu funcionar amb plaques Arduino de 3,3 v. Només cal que connecteu Tx Rx al connector de 3.3v.

Quant a la configuració

  • Podeu emmagatzemar 2 SSID diferents i canviar
  • Podeu modificar el GPIO utilitzat

Respecte al programari

Recomanat: