Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial Internet of Things >> Tecnología de Internet de las cosas

Cómo construir una entrada digital y un control digital usando el módulo Bluetooth RN487x de Microchip

Aprenda a usar un módulo Microchip para crear prototipos de entrada digital y periféricos de control digital.

En este artículo, el segundo de una serie de tres partes sobre los módulos Bluetooth RN487x de Microchip, le mostraré cómo crear una entrada digital (un interruptor) y un control digital (de un LED).

Consulte mi primer artículo para obtener antecedentes e instrucciones sobre cómo configurar el módulo RN487x.

Proyecto 1:Interruptor de entrada digital RN478x

Nuestro patrón de diseño tiene tres componentes que debemos proporcionar:

  1. Hardware: Hardware específico de la tarea para generar la señal digital
  2. Configuración: Comandos del módulo RN487x para asignar una variable en una base de datos y para asignar la señal a la variable
  3. Aplicación: Script en una estación de trabajo, para aceptar el valor de la base de datos

Lo que sigue es el desglose de los componentes.

Hardware de entrada digital

La función de "entrada digital" se proporciona simplemente mediante un interruptor; SW1.

El módulo RN487x tiene pullups internos en los pines, por lo que un interruptor normalmente abierto conectado a tierra en el cierre nos dará el control de 2 estados necesario.

Como solo administramos una señal y no usamos PWM, elegimos el RN4871. El circuito puede funcionar con un par de baterías AAA o incluso con una celda de moneda.

Los elementos restantes del circuito son;

Configuración de entrada digital

Antes de crear la configuración para este ejemplo, asegúrese de que el módulo esté en un estado conocido. Esto se describe en la sección del apéndice sobre inicialización común. ¡No omita este paso!

Solo necesitamos una característica en la base de datos para representar el estado de nuestro sensor. Entonces creamos un servicio y una característica en ese servicio. Los dos comandos correspondientes son:

  PS, 59c88760536411e7b114b2f933d5fe66 PC, 59c889e0536411e7b114b2f933d5fe66,10,01  

El primer comando, PS, crea el servicio. El segundo comando, PC, crea la característica. En ambos comandos, el primer parámetro es el identificador que permite que nuestro periférico exista en el universo de otros periféricos Bluetooth y aún se pueda acceder a él de forma única. Este parámetro debe cumplir con el estándar UUID. Puede utilizar los valores de ejemplo que se muestran. También es fácil crear cualquier número de UUID estándar.

En el comando de PC, el segundo parámetro le dice a la capa de Bluetooth cómo los cambios en el valor deben llegar al cliente. En este caso, el parámetro (10), dice que los cambios en el valor pueden resultar en una notificación inmediata a los clientes. Esta es una parte importante de nuestra intención para este ejemplo. Finalmente, en el comando de PC, el tercer parámetro define el tamaño del valor en bytes; solo uno en este caso (01).

La parte del script de nuestra configuración se ve así:

  @PW_ON SW, 0A, 09 @ PIO1H SHW, 0072,01 @ PIO1L SHW, 0072,00  

Hay tres métodos en este script, cada uno con el prefijo "@". Cada método se ejecuta en un evento específico del sistema.

Aplicación de entrada digital

La secuencia de comandos de Python es switch.py ​​y se puede encontrar aquí. Edite el script y reemplace la dirección MAC de muestra con la dirección MAC de su dispositivo. Luego, para ejercitar el ejemplo, simplemente aplique energía al periférico, luego ejecute el script en un sistema con las capacidades apropiadas de Bluetooth. Consulte el apéndice para obtener ayuda con esta configuración en Linux. El script emitirá mensajes para indicar el progreso mientras se conecta al periférico. Una vez que el periférico esté conectado, presione y suelte el interruptor varias veces. Cada evento de apertura / cierre del conmutador se anotará con un mensaje del script en ejecución.

La secuencia de comandos es corta e incluye comentarios para todos los bloques de funciones y llamadas a la API de GATT.

La función BLE que usamos que es exclusiva de este ejemplo es la notificación.

Proyecto 2:Control digital RN487x

Nuestro patrón de diseño tiene tres componentes que necesitaremos proporcionar:

Lo que sigue es el desglose de los componentes.

Hardware de control digital

El papel de "salida digital" es proporcionado simplemente por un LED; D1.

Los circuitos de referencia del módulo RN487x sugieren GPIO de colector abierto, por lo que iluminamos el LED en consecuencia, absorbiendo la corriente.

Como solo administramos una señal y no usamos PWM, elegimos el RN4871. El circuito puede funcionar con un par de baterías AAA o incluso con una celda de moneda.

Los elementos restantes del circuito son;

Configuración de control digital

Antes de crear la configuración para este ejemplo, asegúrese de que el módulo esté en un estado conocido. Esto se describe en la sección del apéndice sobre inicialización común.

¡No omita este paso!

Solo necesitamos una característica en la base de datos para representar el estado de nuestro sensor. Entonces creamos un servicio y una característica en ese servicio.

Los dos comandos correspondientes son:

  PS, 59c88760536411e7b114b2f933d5fe66 PC, 59c889e0536411e7b114b2f933d5fe66,08,01  

El primer comando, PS, crea el servicio. El segundo comando, PC, crea la característica. En ambos comandos, el primer parámetro es el identificador que permite que nuestro periférico exista en el universo de otros periféricos Bluetooth y aún se pueda acceder a él de forma única. Este parámetro debe cumplir con el estándar UUID. Puede utilizar los valores de ejemplo que se muestran. También es fácil crear cualquier número de UUID estándar.

En el comando de PC, el segundo parámetro le dice a la capa de Bluetooth cómo los cambios en el valor deben llegar al periférico. En este caso, el parámetro (08), dice que el periférico debe enviar una confirmación al cliente cuando se cambia un valor. Finalmente, en el comando de PC, el tercer parámetro define el tamaño del valor en bytes; solo uno en este caso (01).

La parte del script de nuestra configuración se ve así:

  @CONN | O, 08,72  

Solo hay un método en este script "@CONN". Se ejecuta cada vez que un cliente se conecta al periférico.

La única línea de secuencia de comandos es un comando "manejar asociación", con un resultado muy poderoso. Asocia la variable de la base de datos con un comando de salida de pin digital. El parámetro "08" es una máscara de bits que especifica el pin al que está conectado nuestro LED. El parámetro "72" es un identificador único y permanente de la característica que creamos en la base de datos. Entonces, después de que un cliente se conecta, cada vez que el cliente escribe un nuevo valor en la variable de la base de datos, nuestro LED se encenderá o apagará en consecuencia.

Aplicación de control digital

La secuencia de comandos de Python es light.py y se puede encontrar aquí. Edite el script y reemplace la dirección MAC de muestra con la dirección MAC de su dispositivo. Luego, para ejercitar el ejemplo, simplemente aplique energía al periférico, luego ejecute el script en un sistema con las capacidades apropiadas de Bluetooth. Consulte el apéndice para obtener ayuda con esta configuración en Linux. El script emitirá mensajes para indicar el progreso mientras se conecta al periférico. Una vez que el periférico está conectado, el script enviará un nuevo comando al periférico cada segundo. Los comandos encenderán y apagarán el LED.

El script es corto e incluye comentarios para todos los bloques de funciones y llamadas a la API de GATT. La función BLE que usamos que es exclusiva de este ejemplo es la asociación de manejadores.

Puede ver este ejemplo completo en acción en el video del proyecto adjunto.

Pasos siguientes

Con esto concluye la parte 2 de nuestra serie de tres partes sobre el módulo RN487x.

La parte 3 seguirá el mismo patrón de diseño para crear un sensor analógico y un control analógico. También incluirá algunos temas para estudio adicional que se aplican a todos los proyectos de ejemplo.


Tecnología de Internet de las cosas

  1. ¿Libre como en libertad o cerveza gratis? ... qué tal:¡gratis para usar, construir e investigar!
  2. Entrada y salida básica de C#
  3. Resumen:Cómo Bluetooth LE y XLE son el futuro del seguimiento y monitoreo de activos
  4. Cómo Bluetooth + Ultrasonido =Mejor precisión RTLS y menor costo
  5. Cómo crear y optimizar un programa de mantenimiento preventivo
  6. Sensores y controles con el módulo Bluetooth RN487x de Microchip
  7. Cómo crear soluciones que sus clientes quieren (y están dispuestos a pagar)
  8. Cómo mantener la energía hidroeléctrica bajo control:Gestión y mantenimiento de plantas hidroeléctricas
  9. Cómo construir una operación más inteligente usando la tecnología IoT de monitoreo de tanques
  10. Cómo entender el big data:RTU y aplicaciones de control de procesos
  11. ¿Qué es Lean Digital y cómo integrarlo?