INTRODUCCIÓNNo se puede hablar de Arduino + OpenWrt sin mencionar el Arduino Yún. Se trata de una placa en la que coexiste un microcontrolador Atmel ATmega32U4 y un microprocesador Atheros AR9331 interconectados por un puerto serie.

El entorno μC-Arduino se encarga de la lectura de sensores y del accionamiento de dispositivos.
El entorno μP-Linux, mediante scripts en Bash y Python y se encarga del tratamiento de datos, la interfaz de usuario e Internet.
La Web de Arduino muestra el Yún como producto retirado.
Un producto más cercano al concepto actual de IoT es el Dragino. Aquí, un conjunto μC-sensor-actuador —nodo— está unido inalámbricamente a un μP Linux —pasarela IoT— que le proporciona acceso a Internet.
PROPÓSITOConectar un router OpenWrt a un Arduino. Manejar
las GPIOs del Arduino desde el router mediante scripts Lua. Para las pruebas utilizaré un HG553 con OpenWrt 18.06.2 y un Arduino Pro Mini.
LA CONEXIÓN SERIEEl Arduino Pro Mini tiene la ventaja de tener muy bajo consumo. Tal vez por ese motivo no tiene convertidor USB-Serie. Se le puede conectar un convertidor PL2303 externo de esta manera:

O, también se podría enchufar directamente al conector serie interno del HG553.
Para que OpenWrt reconozca el PL2303 hay que instalarle el driver correspondiente.
opkg update && opkg install kmod-usb-serial-pl2303
También hay que instalar la utilidad de configuración de puertos serie.
opkg install coreutils-stty
Ya se puede configurar el puerto serie.
stty -F /dev/ttyUSB0 raw speed 115200 -echo -hupcl
Para enviar mensajes del router al Arduino (desde una sesión ssh):
echo "mensaje" > /dev/ttyUSB0
Y para recibirlos :
cat /dev/ttyUSB0
(Continuará...)