Prototipado de I/O Digital con el Módulo Bluetooth RN487x de Microchip
Construye periféricos fiables de entrada y salida digital usando el módulo Bluetooth RN487x
En la segunda parte de nuestra serie de tres partes sobre los módulos Bluetooth RN487x de Microchip, recorreremos la creación de una entrada digital (un interruptor) y una salida digital (un LED). Para fondo sobre configuración del módulo, consulta el primer artículo.
Proyecto 1: Interruptor de Entrada Digital RN487x
Nuestro diseño sigue un patrón de tres pasos:
- Hardware – un interruptor que genera la señal digital.
- Configuración – comandos RN487x para asignar una variable de base de datos y mapear el pin a ella.
- Aplicación – un script de workstation que lee el valor de la base de datos.
Hardware de Entrada Digital
La entrada es un interruptor normalmente abierto simple (SW1). El RN487x provee pull‑ups internos, así que un interruptor conectado a tierra al cerrar da una señal limpia de dos estados.


Usamos el RN4871, que soporta GPIO de pin único. El circuito puede alimentarse de dos pilas AAA o una pila de botón. Componentes adicionales:
- C1: Condensador bypass para estabilidad de alimentación.
- R1, C2: Retardo para reset del procesador al encender.
- J1: Puerto serie para configuración.
Configuración de Entrada Digital
Asegura que el módulo esté en un estado conocido antes de proceder (ver apéndice para inicialización). Crea un servicio y una característica en la base de datos GATT para representar el estado del interruptor:
PS,59c88760536411e7b114b2f933d5fe66
PC,59c889e0536411e7b114b2f933d5fe66,10,01
Aquí, PS crea el servicio, y PC crea la característica. Los UUIDs son placeholders; genera los tuyos siguiendo el estándar UUID. El segundo parámetro en PC (10) solicita notificaciones inmediatas en cambios de valor, y el tercer parámetro (01) fija el tamaño del valor a un byte.
El script periférico configura el pin y maneja eventos:
@PW_ON SW,0A,09
@PIO1H SHW,0072,01
@PIO1L SHW,0072,00
Cada método prefijado con @ se ejecuta en un evento del sistema:
PW_ON– al encender, configura P1_2 como entrada digital trigger.PIO1H– en transición alta, escribe1en la base de datos.PIO1L– en transición baja, escribe0en la base de datos.
Aplicación de Entrada Digital
Usa el script Python switch.py (enlace provisto). Reemplaza la dirección MAC de ejemplo con la de tu dispositivo. Tras alimentar el periférico, ejecuta el script en una máquina con Bluetooth. El script conecta al dispositivo, escucha notificaciones e imprime cada evento del interruptor. Ver guía de setup Linux en el apéndice.
Característica BLE clave: notificaciones—el periférico empuja cambios de estado al cliente sin polling.
Proyecto 2: Control Digital RN487x (LED)
Aplicamos el mismo patrón de tres pasos para una salida:
- Hardware – un LED impulsado por el GPIO open‑collector del RN4871.
- Configuración – crea una variable de base de datos mapeada al pin del LED.
- Aplicación – un script que escribe valores en la base de datos para encender/apagar el LED.
Hardware de Control Digital
El LED (D1) se conecta como sumidero open‑collector. El esquemático sigue el diseño de referencia RN487x.


Componentes:
- C1: Condensador bypass de alimentación.
- R1, C2: Retardo de reset.
- J1: Puerto serie.
Configuración de Control Digital
Inicializa el módulo como se describe en el apéndice. Crea un único servicio y característica:
PS,59c88760536411e7b114b2f933d5fe66
PC,59c889e0536411e7b114b2f933d5fe66,08,01
Aquí, 08 indica que el periférico debe confirmar escrituras, y 01 fija un valor de un byte. El script maneja conexiones de cliente:
@CONN |O,08,72
Cuando un cliente conecta, el comando asocia la variable de base de datos con el pin del LED (bitmask 08) y el handle de característica (72). Escrituras posteriores del cliente conmutan el LED.
Aplicación de Control Digital
Ejecuta light.py (enlace provisto) tras reemplazar la MAC. El script conecta al periférico, luego envía un nuevo valor cada segundo para encender y apagar el LED. El script registra progreso e ilustra la característica asociación de handle.
Mira la demostración completa en el video del proyecto adjunto.
Próximos Pasos
Esto concluye la parte 2 de nuestra serie RN487x. La parte 3 abordará sensores y controles analógicos, y proveerá recursos adicionales aplicables a todos los proyectos.
Tecnología de Internet de las cosas
- Dominando el Mantenimiento Preventivo: Construcción y Optimización de Programaciones Fijas y Flotantes
- Lean Digital: definición, beneficios y cómo integrarlo sin fisuras
- Gratis, potente y listo para investigación: Licenciamiento universitario RTI Connext DDS
- Bluetooth LE vs. XLE: La Próxima Generación en Seguimiento y Monitoreo de Activos
- Combinando Bluetooth y Ultrasound para Seguimiento de Ubicación en Tiempo Real Preciso y Rentable
- Dominando Módulos Bluetooth Microchip RN487x para Periféricos de Baja Potencia
- Crea Productos IoT que tus Clientes Amen y Paguen: Guía Práctica
- Gestión y Mantenimiento de Plantas Hidroeléctricas: Estrategias Expertas para Generación de Energía Fiable
- Eleve sus operaciones: Aproveche la monitorización IoT de tanques para una gestión petrolífera más segura, inteligente y rentable
- Aprovechando RTUs para obtener insights de Big Data en operaciones industriales
- Fundamentos de C#: Entrada y salida esenciales