Tabla de contenido:
- Suministros
- Paso 1: ¿Cómo funciona?
- Paso 2: ¿Cuáles son las funciones principales?
- Paso 3: construcción del material
- Paso 4: ¡Comencemos con la electrónica en la placa de pruebas
- Paso 5: ¡Vayamos al software
- Paso 6: ¡Hagamos la configuración
- Paso 7: ¡Hagamos el lado de Arduino
- Paso 8: ¡Hagamos el lado del servidor
- Paso 9: ¡Es hora de soldar
- Paso 10: ¡Hagamos la prueba final
- Paso 11: ¡Puede adaptar este diseño a sus propios requisitos
Video: ¿Cómo hacer su propia puerta de enlace WIFI para conectar su Arduino a la red IP?: 11 pasos (con imágenes)
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:40
¡Como mucha gente, crees que Arduino es una muy buena solución para hacer domótica y robótica
Pero en términos de comunicación, los Arduinos solo vienen con enlaces seriales.
Estoy trabajando en un robot que necesita estar conectado permanentemente con un servidor que ejecuta código de inteligencia artificial. Traté de usar la red de RF como estoy acostumbrado a hacer para domótica pero no es lo suficientemente eficiente. A medida que el robot se mueve, no puedo usar Ethernet Arduino Shield. Arduino Wifi Shield es caro y me parece que tiene un diseño antiguo.
Necesitaba algo que pudiera intercambiar datos de una manera muy simple y eficiente con un servidor.
Es por eso que decidí diseñar un Gateway basado en el microcontrolador ESP8266 muy económico y de bajo consumo
Aquí puede encontrar cómo construir el componente electrónico y descargar el software.
Usé esta puerta de enlace para domótica y robótica.
Esto forma parte de una infraestructura de automatización del hogar global que puede ver aquí.
Hice otro instructable que usa un escudo ESP8266 y evita soldar
Suministros
Escribí otro instructivo sobre este tema
Paso 1: ¿Cómo funciona?
El Gateway se basa en un módulo ESP8266
Este módulo está conectado por un lado con el enlace serial del otro lado a la red IP con el Wifi.
Actúa como una caja negra. Los paquetes de datos que provienen del enlace serie se envían a un puerto IP / Udp y viceversa.
Solo tienes que configurar tu propia configuración (IP, WIFI…) una vez que enciendas el Gateway por primera vez.
Puede transferir datos ASCII y binarios sin procesar (sin HTTP, JSON …)
Está diseñado para conectar objetos con software de servidor hecho en casa que necesitan transferencias rápidas y frecuentes de paquetes cortos de datos.
Es más fácil de usar con Arduino Mega que tiene más de un UART (Arduino Mega, por ejemplo) pero también se puede ejecutar con UNO.
Paso 2: ¿Cuáles son las funciones principales?
En su mayoría, es una caja negra que convierte y envía datos en serie a paquetes UDP en ambos sentidos.
Tiene 3 LED que indican el estado y tráfico del Gateway.
Proporciona un GPIO que Arduino puede usar para esperar a que la puerta de enlace esté conectada a WIFI e IP.
Se ejecuta en 3 modos diferentes que se configuran con interruptores:
- Modo de puerta de enlace que es el modo normal
- Modo de configuración utilizado para establecer los parámetros
- Modo de depuración que es para el modo de depuración
La mayoría de los parámetros se pueden modificar para adaptarse a sus necesidades.
Paso 3: construcción del material
En la parte superior de su Arduino necesitará
- 1 x módulo ESP8266 - Elijo el MOD-WIFI-ESP8266-DEV de Olimex que cuesta alrededor de 5 euros que es bastante fácil de usar.
- Fuente de alimentación de 1 x 5v
- 1 regulador de potencia de 3.3v - yo uso LM1086
- 1 x condensador de 100 microfaradios
- 1 x módulo APG ULN2803 (se puede reemplazar por 3 x transistores)
- 8 x resistencias (3 x 1K, 1 x 2K, 1 x 2.7k, 1x 3.3K, 1x 27K, 1x 33k)
- 3 x LED (rojo, verde, azul)
- 1 x placa de circuito impreso
- algunos cables y conectores
Solo durante los pasos de construcción, necesitará
- 1 x FTDI 3.3v para la configuración
- Soldador y estaño
Antes de soldar, es importante configurar todos los componentes en la placa y verificar que todo esté bien.
Paso 4: ¡Comencemos con la electrónica en la placa de pruebas
El diseño electrónico está disponible en formato Fritzing
Puedes descargarlo aquí el paso 1:
github.com/cuillerj/Esp8266IPSerialGateway/blob/master/GatewayElectronicStep1.fzz
Simplemente haga como esquema teniendo cuidado con el voltaje.
Recuerde que el ESP8266 no admite voltaje superior a 3.3v. El FTDI debe establecerse en 3.3v.
Paso 5: ¡Vayamos al software
Empecemos por el lado de Gateway
Escribí el código con Arduino IDE. Por lo tanto, es necesario que el IDE lo conozca como placa ESP8266. Seleccione el tablero apropiado con el menú Herramientas / tableros.
Si no ve ningún ESP266 en la lista, eso significa que puede que tenga que instalar ESP8266 Arduino Addon (puede encontrar aquí el procedimiento).
Todo el código que necesita está disponible en GitHub. ¡Es hora de descargarlo!
El código principal del Gateway está ahí:
Además del estándar Arduino y ESP8266 incluye el código principal, estos 2 incluyen: LookFoString que se usa para manipular cadenas y está ahí:
ManageParamEeprom que se utiliza para leer y almacenar parámetros en Eeprom y está ahí:
Una vez que obtenga todo el código, es hora de cargarlo en el ESP8266. Primero conecte el FTDI a un puerto USB de su computadora.
Le sugiero que compruebe la conexión antes de intentar cargar.
- Configure el monitor serial Arduino en el nuevo puerto USB.
- Establezca la velocidad en 115200 tanto cr nl (velocidad predeterminada para Olimex)
- Encienda la placa de pruebas (ESP8266 viene con software que se ocupa de los comandos AT)
- Envíe "AT" con la herramienta de serie.
- Debe obtener "OK" a cambio.
Si no es así, verifique su conexión y observe las especificaciones de su ESP8266.
Si obtuvo "OK", está listo para cargar el código
- Apague la placa de pruebas, espere unos segundos,
- presione el microinterruptor negro del ESP8266. Es normal que haya algo de basura en el monitor de serie.
- Presione en el IDE de carga como para un Arduino.
- Una vez completada la carga, establezca la velocidad de serie en 38400.
Verá algo como en la imagen.
¡Enhorabuena, subió el código correctamente!
Paso 6: ¡Hagamos la configuración
El configGPIO debe establecerse en 1 para ingresar al modo de configuración
Primero escanee el WIFI ingresando el comando: ScanWifi. Verá una lista de la red detectada.
- Luego, configure su SSID ingresando "SSID1 = su red"
- Luego configure su contraseña ingresando "PSW1 = su contraseña"
- Luego ingrese "SSID = 1" para definir la red actual
- Ingrese "Reiniciar" para conectar el Gateway a su WIFI.
- Puede verificar que obtuvo una IP ingresando "ShowWifi".
- El LED azul estará encendido y el LED rojo parpadeando.
Es hora de definir la dirección de su servidor IP ingresando las 4 subdirecciones (servidor que ejecutará el código de prueba de Java). Por ejemplo:
- "IP1 = 192"
- "IP2 = 168"
- "IP3 = 1"
- "IP4 = 10"
El último paso requerido es configurar el puerto de escucha del servidor UDP ingresando "listenPort = xxxx".
Ingrese "ShowEeprom" para verificar lo que acaba de almacenar en Eeprom
Ahora conecte el GPIO2 a tierra para salir del modo de configuración
¡Tu Gateway está listo para trabajar
Hay algunos otros comandos que puede encontrar en la documentación.
Paso 7: ¡Hagamos el lado de Arduino
Primero conecte el Arduino
Si tienes un Mega, será más fácil empezar. Sin embargo, puedes usar un Uno.
Para comprobar su trabajo, lo mejor es utilizar el ejemplo.
Puede descargarlo allí:
Incluye el código SerialNetwork que está aquí:
Simplemente cargue el código dentro de su Arduino.
El LED verde parpadea cada vez que Arduino envía datos.
Paso 8: ¡Hagamos el lado del servidor
El ejemplo del servidor es un programa Java que puede descargar aquí:
Solo ejecútalo
Mira la consola de Java.
Mira el monitor Arduino.
Arduino envía 2 paquetes diferentes.
- El primero contiene el estado de los pines digitales 2 a 6.
- El segundo contiene 2 valores aleatorios, el nivel de voltaje de A0 en mV y el recuento incremental.
El programa Java
- imprimir los datos recibidos en formato hexadecimal
- Responda al primer tipo de datos con un valor de encendido / apagado aleatorio para encender / apagar el LED Arduino
- responda al segundo tipo de datos con el recuento recibido y un valor aleatorio.
Paso 9: ¡Es hora de soldar
¡Funciona en la placa de pruebas!
Es hora de hacerlo más robusto soldando piezas en una PCB
Además de lo que hizo con la placa de pruebas, debe agregar 3 conectores.
- C1 1 x pin uno que se utilizará para entrar en el modo de rastreo de red.
- C2 3 x pines uno que se utilizará para cambiar entre el modo de ejecución y el de configuración.
- C3 6 x pines uno que se utilizará para conectar la puerta de enlace a un Arduino o un FTDI.
C1 conectado a GPIO2 debe conectarse a tierra manualmente si desea activar los seguimientos de red.
C2 conectado a GPIO 4 se puede configurar en 2 posiciones diferentes. Uno que se establece a tierra para el modo de funcionamiento normal y otro que se establece en 3.3v para ingresar al modo de configuración.
Coloque todos los componentes en la PCB de acuerdo con el diagrama y luego comience a soldar para obtener el producto final.
Paso 10: ¡Hagamos la prueba final
Inicie el programa de prueba de Java.
Conecta el Arduino.
Encienda el Gateway.
Y mire la consola Java, el monitor Arduino, el LED Arduino y los LED Gateway.
Paso 11: ¡Puede adaptar este diseño a sus propios requisitos
Respecto al hardware
- Si elige algún otro ESP8266 tendrá que ajustarse a las especificaciones.
- Si elige otro regulador de 3.3v, debe entregar más de 500mA y tendrá que adaptar el condensador.
- Puede modificar las resistencias LED para ajustar el brillo.
- Puede suprimir todos los LED, pero recomiendo mantener al menos el rojo encendido.
- Puede reemplazar el ULN2803 por 3 transistores (o menos si elige no mantener los 3 LED).
- Lo probé, pero debe funcionar con placas Arduino de 3.3v. Simplemente conecte Tx Rx al conector de 3.3v.
Respecto a la configuración
- Puede almacenar 2 SSID diferentes y cambiar
- Puede modificar el GPIO utilizado
Respecto al software
Recomendado:
Cómo convertir su Raspberry Pi en una puerta de enlace de acceso remoto: 6 pasos
Cómo convertir su Raspberry Pi en una puerta de enlace de acceso remoto: ¡Hola, chicos! A la luz de los acontecimientos recientes, nuestro equipo en remote.it ha estado trabajando arduamente en una lluvia de ideas para hacer que el trabajo remoto sea fácil y accesible. Hemos creado la imagen de la tarjeta SD remote.itPi, que es una tarjeta SD que puedes colocar en una nueva
Puerta de enlace ESP32 Lora Thingspeak con nodo sensor: 9 pasos
ESP32 Lora Thingspeak Gateway con nodo sensor: en este proyecto de IoT, diseñé ESP32 LoRa Gateway & también ESP32 LoRa Sensor Node para monitorear la lectura del sensor de forma inalámbrica desde distancias de unos pocos kilómetros. El remitente leerá los datos de humedad y temperatura utilizando el sensor DHT11. Luego transmite
Puerta de enlace serial UDP / IP para Arduino basada en ESP8266 Shield: 8 pasos
Puerta de enlace serial UDP / IP para Arduino basada en ESP8266 Shield: ya publiqué en 2016 este instructivo " Cómo hacer su propia puerta de enlace Wifi para conectar su Arduino a la red IP ". Dado que hice algunas mejoras en el código y todavía estoy usando esta solución. Sin embargo, ahora hay algunos escudos ESP8266 t
Coche IoT RC con lámpara inteligente remota o puerta de enlace: 8 pasos (con imágenes)
Coche IoT RC con Smart Lamp Remote o Gateway: para un proyecto no relacionado, había estado escribiendo un código Arduino para hablar con las lámparas inteligentes MiLight y los controles remotos de lámparas que tengo en mi hogar. Decidí hacer un pequeño auto RC para probar
Módulo de puerta de enlace Bluetooth para radios bidireccionales: 3 pasos (con imágenes)
Módulo de puerta de enlace Bluetooth para radios de 2 vías: Adaptador de puerta de enlace Bluetooth para radios de 2 vías ¿Alguna vez ha querido tener un auricular inalámbrico para usar con su equipo de radioaficionado? Esto se puede realizar muy bien con un auricular Bluetooth que tenga un micrófono decente y una radio que admita Bluetooth. Hay radios más nuevas