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: descargue el código de la puerta de enlace
- Paso 5: Hagamos la configuración de la puerta de enlace
- Paso 6: descargue el ejemplo de código de Arduino
- Paso 7: ¡Hagamos el lado del servidor
- Paso 8: para ir más lejos
Video: Puerta de enlace serial UDP / IP para Arduino basada en ESP8266 Shield: 8 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:41
Ya publiqué en 2016 este instructivo "Cómo hacer tu propia puerta de enlace Wifi para conectar tu Arduino a la red IP". Desde que hice algunas mejoras en el código y todavía estoy usando esta solución.
Sin embargo, ahora hay algunos escudos ESP8266 que permiten hacer lo mismo sin soldar siempre que no esté utilizando placas Micro o Nano.
Este instructivo explicará cómo usar estos escudos ESP82 como puerta de enlace serial UDP / IP.
Esto forma parte de una infraestructura de automatización del hogar global que puede ver aquí.
Más información sobre el escudo con este instructable
Suministros
1 Arduino Mega (lo mejor es tener al menos 1 Mega para desarrollo y 1 Uno para fase de ejecución)
1 convertidor Rokoo ESP8266 ESP-12E UART WIFI
1 FTDI de 3,3 v
2 alambres para tablero
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.
Paso 2: ¿Cuáles son las funciones principales?
En su mayoría, es una caja negra que convierte datos seriales a paquetes UDP en ambos sentidos.
Pero la puerta de enlace también puede actuar por sí misma enviando información interna al servidor y recibiendo algunos comandos del servidor.
Arduino puede enviar y recibir mensajes hacia / desde un servidor conectado a Internet simplemente imprimiendo / leyendo un enlace en serie. No es necesario que el desarrollador de Arduino se preocupe por el protocolo IP.
Además de eso, proporciona un GPIO que puede ser utilizado por Arduino para verificar que la puerta de enlace está conectada correctamente al WIFI y la puerta de enlace puede cambiar automáticamente entre 2 SSID diferentes en caso de falla.
La puerta de enlace tiene 2 modos de ejecución diferentes que se seleccionan configurando un GPIO
Poniendo GPIO a tierra y la puerta de enlace entra en modo de configuración.
Si se libera GPIO y la puerta de enlace entra en modo de ejecución de puerta de enlace.
Además de eso, la configuración de la puerta de enlace UDP / IP se puede modificar de forma remota
Paso 3: construcción del material
Se requieren muy pocas cosas
1 Escudo ESP8266 - Encontré este Módulo de placa extensible de escudo WiFi serie UNO R3 ESP8266 por menos de 9 €
1 UNO que es el objetivo de Arduino
1 Mega que es la herramienta de desarrollo de arduino (puedes prescindir pero es bastante difícil de depurar)
1 FTDI 3.3 / 5v para desarrollo
Algunos cables
Paso 4: descargue el código de la puerta de enlace
Durante este paso, el Arduino solo se usa para alimentar (con USB u otra fuente de energía) en el escudo ESP8266
Conecte el ESP8266 GPIO4 a tierra (para ingresar al modo de configuración)
Tenga cuidado de configurar el FTDI a 3.3v como lo requiere el escudo
Conecte el FTDI al blindaje (RX a TX)
Coloque el interruptor de protección en 1: apagado 2: apagado 3: encendido 4: encendido
Conecte el lado USB del FTDI a su computadora
Reinicie el escudo con el botón ESP-RST
Descargue el código de Gateway allí en GitHub
Abra el IDE de Arduino
- Seleccione el puerto del monitor FTDI
- Abra el monitor serie IDE: establezca la velocidad en 38400
- Seleccione la placa del módulo genérico ES8266
- Actualice el firmware del escudo con el código de la puerta de enlace
Establecer interruptor 3: apagado 4: apagado
Abra el monitor serial IDE
Reinicie el escudo con el botón ESP-RST
Debe ver mensajes en el monitor comenzando con "Inicialización EEPROM" "Inicialización completada"….
Es hora de hacer la configuración
Paso 5: Hagamos la configuración de la puerta de enlace
Al descargar el código de la puerta de enlace por primera vez, la Eeprom ESP8266 se inicializará con los valores predeterminados. Verá este tipo de mensajes "establecer parámetro: x tamaño: yy"
Puede encontrar estos valores dentro de la definición de código de paramValue. Por supuesto, puede cambiar estos valores predeterminados antes de descargar el código, pero también puede establecer su configuración por comando más adelante. Esto es mejor si planea tener una puerta de enlace múltiple y mantener solo una versión del código.
Utilice el puerto serie del monitor para enviar el comando (configurado en NL y CR).
Como el SSID no está definido actualmente, espere "No se pudo conectar a su segundo intento de id: 5"
Entonces se iniciará automáticamente un escaneo de WIFI
Es hora de configurar sus SSID con los siguientes comandos:
- SSID1 = yourchoice1
- PSW1 = yourpsw1
- SSID2 = yourchoice2
- PSW2 = yourpsw2
- SSID = 1 (para elegir con qué SSID comenzar)
- ReiniciarWifi
Después de unos segundos puede verificar la conexión con el comando "ShowWifi". Debe ver la dirección IP que la puerta de enlace obtuvo de su servidor DNS. Si es el caso es hora de ir más lejos
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"
Al enviar un comando vacío, verá todos los comandos admitidos que puede usar más adelante para adaptarse a sus requisitos. Todos los valores de los parámetros se almacenan en Eeprom y necesitan un reinicio para ser tenidos en cuenta.
Retire el cable de configuración
El escudo ahora funciona como una puerta de entrada.
Paso 6: descargue el ejemplo de código de Arduino
Primero descargue el código principal de Arduino allí en GitHub
Luego descargue el código Arduino, esta definición de comandos y este código de enlace serial en sus bibliotecas
Luego abra el código principal con un nuevo IDE de Arduino
Apague el Shield Switch 1 y 2 para liberar el enlace serial Arduino 0 para la conexión USB
Restablecer el escudo
Conecte los cables FTDI al Mega Serial 2 (TX FTDI a RX Mega y así sucesivamente)
Inicie un nuevo Arduino IDE (o una herramienta TTY), conecte el FTDI Usb y comience a monitorear el enlace serial
Sube el código Arduino dentro de Mega
Active el interruptor de protección 1 y 2 para conectar el enlace serie Arduino 0
Restablecer el escudo
Debe ver este mensaje "iniciar impresión USB" en el monitor
Paso 7: ¡Hagamos el lado del servidor
El ejemplo del servidor es un programa Java que puede descargar aquí en GitHub
Simplemente ejecútelo y mire la consola de Java y mire el monitor FTDI
Verá intercambios de datos entre el servidor y Arduino
Paso 8: para ir más lejos
Este ejemplo de código de Arduino se basa en un marco que forma parte de mi infraestructura de automatización del hogar.
Si está interesado en esta infraestructura, hágamelo saber. Publicaré fuentes.
Si solo desea usar la puerta de enlace, puede simplificar el código Arduino.
Después de haber desarrollado y probado su código en un Arduino Mega, ¡puede reemplazarlo fácilmente por un Uno!
Además de eso, puede conectar un cable entre Arduino GPIO 7 y ESP8266 GPIO 5 si desea que su Arduino verifique la conexión Wifi
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
¿Cómo hacer su propia puerta de enlace WIFI para conectar su Arduino a la red IP?: 11 pasos (con imágenes)
¿Cómo hacer tu propia puerta de enlace WIFI para conectar tu Arduino a la red IP?: 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 Arduino solo vienen con enlaces seriales. Estoy trabajando en un robot que necesita estar conectado permanentemente con un servidor que ejecuta ar
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
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