Esta es una versión personalizada del firmware RNODE, diseñada para su uso utilizando el Megaino Mega de LowPowerLab, con el módulo Lora RFM95.
Este trabajo es un derivado del rnode desarrollado y vendido por Mark Qvist. Rnode es derechos de autor de Mark Qvist.
No tengo intención de vender o distribuir rnodes personalizados. La suposición aquí es que sabes por qué estás aquí, y sabes por qué y cómo comprar y construir el hardware requerido mencionado en este derivado. Mark Qvist y Steve Miller no son responsables de la operación no deseada, incluida, entre otros, las cosas que se rompen, se incendian o colapsan el continuo espacio-tiempo. Te han advertido.
Escribir este firmware requiere un paso adicional utilizando RnodeConfigutil, ya que flashear el firmware al Moteino Mega no escribirá los datos EEPROM necesarios por el dispositivo.
Se sugiere fuertemente que utiliza la herramienta de configuración RNODE personalizada para el modelo RNODE personalizado E4.
Este es el firmware de RNODE, un dispositivo de comunicación basado en Lora muy flexible. Rnode puede funciones como A:
Rnode está controlado por un poderoso MCU ATMEGA1284P, y es completamente compatible con Arduino. Puede usar este firmware, o puede programarse de la manera que desee, ya sea desde el IDE Arduino o utilizando cualquiera de las herramientas disponibles para el desarrollo de AVR. Este firmware también se puede editar y compilarse directamente del Arduino IDE.
Para agregar rnode a su entorno Arduino, consulte esta publicación.
Para configurar un RNODE con este firmware, eche un vistazo a la utilidad de configuración RNODE.
El firmware RNODE puede considerarse estable en este punto. Si encuentra un error o descubre un comportamiento involuntario, infórmelo como un problema aquí, ¡para que pueda solucionarlo!
Rnode puede funcionar en dos modos, el modo controlado por host (predeterminado) y TNC:
Cuando RNODE está en modo controlado por host, permanecerá en espera cuando se encienda, hasta que el host especifica la frecuencia, el ancho de banda, la alimentación de transmisión y otros parámetros requeridos. Este modo se puede habilitar utilizando la opción -n de esta utilidad. En el modo controlado por el host, el modo promiscuo se puede activar para oler cualquier cuadro de Lora.
Cuando RNODE está en modo TNC, se configurará en Powerup y habilitará la radio de inmediato. Este modo se puede habilitar utilizando la opción -t de esta utilidad (la utilidad lo guiará a través de la configuración si no las especifica directamente).
Puede comunicarse con RNODE a través del conector USB integrado o usar los pines de serie en la placa (etiquetado RX0 y TX0). RNODE utiliza un chip USB FTDI estándar, por lo que funciona fuera de la caja sin controladores adicionales en la mayoría de los sistemas operativos.
Todas las comunicaciones hacia y desde el tablero usan enmarcado de KISS con un conjunto de comando personalizado. RNODE tampoco usa puertos HDLC en el byte de comando, y como tal usa los 8 bits completos del byte de comando está disponible para el comando real. Consulte la tabla a continuación para obtener comandos compatibles.
| Dominio | Byte | Descripción |
|---|---|---|
| Marco de datos | 0x00 | Un paquete de datos hacia o desde el dispositivo |
| Frecuencia | 0x01 | Conjuntos o consultas la frecuencia |
| Ancho de banda | 0x02 | Conjuntos o consultas el ancho de banda |
| TX PODER | 0x03 | Conjuntos o consultas la potencia TX |
| Factor de propagación | 0x04 | Conjuntos o consultas el factor de propagación |
| Tasa de codificación | 0x05 | Conjuntos o consultas la tasa de codificación |
| Estado de radio | 0x06 | Estado de radio de conjuntos o consultas |
| Bloqueo de radio | 0x07 | Conjuntos o consultas el bloqueo de radio |
| Dispositivo detectar | 0x08 | Comando de sondeo para la detección de dispositivos |
| Promiscuo | 0x0e | Modo promiscuo de conjuntos o consultas |
| Estadísticas rx | 0x21 | Consultas recibidas bytes |
| Estadísticas tx | 0x22 | Consultas transmitidas bytes |
| Último RSSI | 0x23 | Indica RSSI del último paquete recibido |
| Parpadear | 0x30 | Blinks LED |
| Aleatorio | 0x40 | Consultas para un número aleatorio |
| Versión de firmware | 0x50 | Consultas para la versión de firmware instalada |
| ROM LEER | 0x51 | Leer Eeprom Byte |
| Rom escribe | 0x52 | Escribe Eeprom Byte |
| Modo TNC | 0x53 | Habilita el modo TNC |
| Modo normal | 0x54 | Habilita el modo controlado por host |
| Borrar rom | 0x59 | Borra completamente EEPROM |
| Error | 0x90 | Indica un error |
Eche un vistazo a la carpeta "Bibliotecas" para incluirlo para permitirle usar fácilmente Rnode en su propio software.
Aquí hay un ejemplo de Python:
from RNode import RNodeInterface
def gotPacket ( data , rnode ):
print "Received a packet: " + data
rnode = RNodeInterface (
callback = gotPacket ,
name = "My RNode" ,
port = "/dev/ttyUSB0" ,
frequency = 868000000 ,
bandwidth = 125000 ,
txpower = 2 ,
sf = 7 ,
cr = 5 ,
loglevel = RNodeInterface . LOG_DEBUG )
rnode . send ( "Hello World!" )Rnode se puede poner en modo promiscuo Lora, que arrojará marcos de lora en el host. Los marcos de Lora sin procesar también se pueden enviar en este modo y tener el tamaño estándar de carga útil LORA de 255 bytes. Para habilitar el modo promiscuo, envíe el comando "promiscuo" al tablero, o use una de las bibliotecas de programación. También puede usar el programa de ejemplo Loramon para un sniffer de paquetes Lora fácil de usar.