Este proyecto es un terminal serial para conectarse a los dispositivos Rinho Telematics, específicamente al Rinho Spider IoT y Rinho Smart IoT. Utiliza los UUID de Nordic para la comunicación BLE y hace uso de la biblioteca NimBLE para una gestión eficiente de Bluetooth Low Energy.
El Cliente BLE SPP Rinho permite la conexión a dispositivos Rinho Telematics a través de BLE (Bluetooth Low Energy). El propósito principal es proporcionar una interfaz de terminal serial que facilite la comunicación con estos dispositivos para enviar comandos y recibir datos. Esta aplicación está diseñada para montarse en un ESP32 con Arduino, permitiendo que funcione como un puerto serial más a USB.
Para más información sobre los productos y la empresa, visita la página oficial de Rinho.
- NimBLE: Utilizamos la biblioteca NimBLE para una gestión eficiente de las conexiones Bluetooth Low Energy. NimBLE es conocida por su menor consumo de recursos y mayor rendimiento en comparación con otras bibliotecas BLE.
Para configurar tu entorno de desarrollo con PlatformIO y NimBLE, sigue estos pasos:
- Abrir el archivo
platformio.inien tu proyecto. - Agregar la dependencia de la biblioteca NimBLE.
Para más información sobre cómo configurar PlatformIO, puedes visitar la documentación oficial de PlatformIO.
Tu archivo platformio.ini debería verse así:
[env:esp32dev]
platform = espressif32
board = esp32dev
framework = arduino
monitor_speed = 115200
lib_deps =
h2zero/NimBLE-Arduino @ ^1.3.1$SCAN: Escanea dispositivos BLE cercanos.$CONNECT n: Conecta al dispositivo en el índicende la lista de dispositivos escaneados.$CONNECT: Reconecta al último dispositivo conectado.$CLOSE: Desconecta del servidor y detiene la reconexión automática.$RESET: Reinicia el dispositivo.$FACTORY: Realiza un reinicio de fábrica del dispositivo.
- Inicio: Al iniciar el dispositivo, se intentará conectar automáticamente al último dispositivo conectado guardado en las preferencias. Si no hay un dispositivo guardado, estará listo para escanear nuevos dispositivos.
- Escaneo: Usa el comando
$SCANpara escanear dispositivos BLE cercanos. Los dispositivos encontrados se listarán con un índice. - Conexión: Conéctate a un dispositivo especificando su índice con
$CONNECT n. También puedes reconectar al último dispositivo conectado simplemente usando$CONNECT. - Desconexión: Usa
$CLOSEpara desconectar y detener la reconexión automática. Esto también eliminará la dirección del dispositivo guardado. - Reinicio: Reinicia el dispositivo con
$RESETo realiza un reinicio de fábrica con$FACTORY.
El cliente BLE SPP Rinho utiliza los siguientes UUIDs de Nordic:
- Servicio UART:
6e400001-b5a3-f393-e0a9-e50e24dcca9e - Característica RX:
6e400003-b5a3-f393-e0a9-e50e24dcca9e - Característica TX:
6e400002-b5a3-f393-e0a9-e50e24dcca9e
-
Escanear dispositivos:
$SCANSalida esperada:
Escaneando dispositivos... Índice: 0, Nombre: Rinho Spider IoT, Dirección: XX:XX:XX:XX:XX:XX Índice: 1, Nombre: Rinho Smart IoT, Dirección: XX:XX:XX:XX:XX:XX -
Conectar a un dispositivo:
$CONNECT 0Salida esperada:
Conectando al dispositivo en el índice 0... Conectado exitosamente -
Enviar comando al dispositivo conectado:
>QIO<
Salida esperada:
>RIO;IGN1;IN1111111;XP000;V122;VBU424;ID=865413050809192;*13< -
Desconectar del dispositivo:
$CLOSESalida esperada:
Desconectado del servidor -
Reiniciar el dispositivo:
$RESET -
Reinicio de fábrica:
$FACTORY
Las contribuciones son bienvenidas. Siéntete libre de abrir un issue o enviar un pull request.
Este proyecto está licenciado bajo la MIT License.