![]() | ![]() | ![]() |
|---|
Este es un nuevo enfoque para Wisblock. Escanea el bus I2C y la serie para detectar qué módulos Wisblock están unidos a la base de Wisblock y crea una carga útil de Lorawan en Cayenne LPP con los datos de los módulos encontrados.
Este firmware está utilizando la API WISBLOCK V2
Este código se puede usar sin cambios para
| Kit/solución | Guía de configuración |
|---|---|
| Kit de Wisblock 1 | Kit de configuración 1 |
| Kit de Wisblock 2 | Kit de configuración 2 |
| Kit Wisblock 3 | Kit de configuración 3 |
| Kit de Wisblock 4 | Kit de configuración 4 |
| Kit de desarrollador RAK | Configuración del kit de desarrollo 2 Configuración Kit de desarrollo 3 Configuración Kit de desarrollo 4 |
| Kit de mapeador de helio | Configuración del mapeador de helio |
| Wisblock GNSS Tracker para Lorawan | Configurar el rastreador GNSS |
| Módulo | Función | Utilizado en el kit |
|---|---|---|
| RAK4631 | Módulo de núcleo de Wisblock | - |
| RAK5005-O | Tablero base de Wisblock | - |
| RAK19007 | Tablero base de Wisblock | - |
| RAK19003 | Wisblock Mini Base Board | - |
| RAK19001 | Tablero base de tamaño completo de Wisblock | - |
| RAK1901 | Temperatura y sensor de humedad | Wisblock Kit 1, RAK Developer Kit 2 |
| RAK1902 | Sensor de presión de barómetro de wisblock | Wisblock Kit 1, RAK Developer Kit 2 |
| RAK1903 | Sensor de luz ambiental de Wisblock | Wisblock Kit 1, RAK Developer Kit 2 |
| RAK1904 | Sensor de aceleración de Wisblock (utilizado para soluciones GNSS) | Wisblock Kit 2 y 3, Wisblock Tracker para Lorawan, Rak Developer Kit 3 |
| RAK1905 | Sensor Wisblock 9 DOF | - |
| RAK1906 | Sensor de entorno de Wisblock | Wisblock Kit 4, RAK Developer Kit 4 |
| RAK1910 | Sensor de Wisblock GNSS | Wisblock Kit 2 y 3, Kit de desarrollador RAK 3 |
| RAK1921 | Pantalla OLED WISBLOCK | (Pantalla de estado) |
| RAK5814 | Módulo de cifrado WISBLOCK ACC608 | - |
| RAK12002 | Módulo rtc wisblock | - |
| RAK12003 | Sensor de abeto de Wisblock | - |
| RAK12004 | Sensor de gas de Wisblock MQ2 | - |
| RAK12008 | Sensor de gas CO2 Wisblock SCT31 | - |
| RAK12009 | Sensor de gas de alcohol Wisblock MQ3 | - |
| RAK12010 | Sensor de luz ambiental de Wisblock | - |
| RAK12014 | Sensor de TOF láser de Wisblock | - |
| RAK12019 | Sensor de luz UV Wisblock | - |
| RAK12025 | Sensor de giroscopio de Wisblock | - |
| RAK12023/RAK12035 | Sensor de humedad y temperatura del suelo Wisblock | Solución del sensor de suelo de Wisblock |
| RAK12027 | Sensor de terremoto de Wisblock | - |
| RAK12032 | Sensor de aceleración de Wisblock | - |
| RAK12034 | Sensor Wisblock 9 DOF | - |
| RAK12037 | Sensor de Wisblock CO2 | - |
| RAK12039 | Sensor de materia de partículas de Wisblock | - |
| RAK12040 | Sensor de matriz de temperatura WISBLOCK AMG8833 | - |
| RAK12047 | Sensor de Voc de Wisblock | - |
| RAK12052 | Wisblock MLX90640 32x24 Sensor de matriz de temperatura | - |
| RAK12500 | Sensor de Wisblock GNSS | Wisblock Tracker para Lorawan |
| RAK14002 | Pad táctil de 3 botones Wisblock | - |
| RAK14003 | Pantalla de barra LED de Wisblock | - |
| RAK14008 | Sensor de gestos de Wisblock | - |
| RAK15000 | Módulo de EEPROM WISBLOCK | - |
| RAK15001 | Módulo flash wisblock | - |
| RAK14008 | Sensor de gestos de Wisblock | - |
| RAK16000 | Sensor de corriente de WISBLOCK DC | - |
El transceptor MCU y Lora entran en modo de suspensión entre los ciclos de medición para ahorrar energía. Podría medir una corriente de sueño de 40UA de todo el sistema para una solución que permita dormir. Algunas soluciones, como los rastreadores GNSS o el sensor de VOC RAK12047, que requieren tiempos de vigilia más largos o despertar más frecuentes, tienen un mayor consumo de energía.
Además, sensores como los sensores de gas MQ que usan un elemento de calentamiento también consumirán más potencia.
... Para actualizarse, verifique Platformio.ini para obtener una lista de todas las bibliotecas utilizadas
El proyecto se desarrolló utilizando la plataforma IO. Pero para los usuarios que aún se adhieren a Arduino IDE, una copia compatible con Arduino IDE de las fuentes está en la carpeta Arduinoida. El código no se compila en Arduino IDE ATM.
El proyecto completo para PIO está en la carpeta Platformio.
Al usar Platformio, todas las bibliotecas se enumeran en platformio.ini y se instalan automáticamente cuando se compila el proyecto. Al usar Arduino IDE, todas las bibliotecas deben instalarse manualmente utilizando el Administrador de la Biblioteca Arduino.
Compile el firmware y flashearlo en un Wisblock con todos los módulos requeridos instalados.
Conéctese a través de USB para configurar las credenciales de LPWAN. Use el Deveui impreso en el RAK4631, use el Appeui y AppKey desde su servidor LPWAN. No active la unión automática todavía. Como los niveles del sensor meteorológico no cambian muy rápido, puede ser suficiente establecer la frecuencia de envío a cada 10 minutos. La frecuencia de envío se establece en segundos, por lo que el valor sería 10 * 60 ==> 600
Ejemplo AT Comandos:
AT+NWM=1
AT+NJM=1
AT+BAND=10
AT+DEVEUI=1000000000000001
AT+APPEUI=AB00AB00AB00AB00
AT+APPKEY=AB00AB00AB00AB00AB00AB00AB00AB00
AT+SENDINT=600
| Dominio | Explicación |
|---|---|
| AT+NWM = 1 | Establezca el nodo en modo Lorawan |
| AT+NJM = 1 | Establecer el método de unión de red a OTAA |
| At+banda = 10 | Establezca la región de LPWAN (aquí AS923-3) Ver Manual de comando AT |
| AT+Deveui = 1000000000000001 | Establezca el dispositivo EUI, mejor usar el Deveui que se imprime en la etiqueta de su módulo de núcleo Wisblock |
| AT+Appeui = AB00AB00AB00AB00 | Establezca la aplicación EUI, requerida en el servidor Lorawan |
| AT+AppKey = AB00AB00AB00AB00AB00AB00AB00AB00 | Establezca la clave de aplicación, utilizada para cifrar el paquete de datos durante la unión de la red |
| AT+SendInt = 600 | Establezca el intervalo El nodo del sensor enviará paquetes de datos. 600 == 10 x 60 segundos == 10 minutos |
El manual para todos los comandos AT se puede encontrar aquí: at-commands.mdAT?
Use la caja de herramientas de Wisblock
Los datos del paquete se hacen compatibles con la codificación LPP de Cayenne extendida de ElectronicCats/Cayennelpp
El contenido del paquete depende de los módulos instalados en la placa base de Wisblock:
| Datos | # De canal | ID de canal | Longitud | Comentario | Módulo requerido | Nombre de campo decodificado |
|---|---|---|---|---|---|---|
| Valor de la batería | 1 | 116 | 2 bytes | 0.01 V MSB sin firmar | RAK4631 | voltaje_1 |
| Humedad | 2 | 104 | 1 byte | en %rh | RAK1901 | humedad_2 |
| Temperatura | 3 | 103 | 2 bytes | en ° C | RAK1901 | temperatura_3 |
| Presión barométrica | 4 | 115 | 2 bytes | En HPA (Mbar) | RAK1902 | barómetro_4 |
| Iluminación | 5 | 101 | 2 bytes | 1 Lux sin firmar | RAK1903 | Illuminance_5 |
| Humedad 2 | 6 | 104 | 1 byte | en %rh | RAK1906 | humedad_6 |
| Temperatura 2 | 7 | 103 | 2 bytes | en ° C | RAK1906 | temperatura_7 |
| Presión barométrica 2 | 8 | 115 | 2 bytes | En HPA (Mbar) | RAK1906 | barómetro_8 |
| Resistencia de gas 2 | 9 | 2 | 2 bytes | 0.01 firmado (kohm) | RAK1906 | Analog_9 |
| GNSS Stand. resolución | 10 | 136 | 9 bytes | 3 bytes lon/lat 0.0001 °, 3 bytes alt 0.01 metro | RAK1910, RAK12500 | GPS_10 |
| Resolución mejorada de GNSS | 10 | 137 | 11 bytes | 4 bytes lon/lat 0.000001 °, 3 bytes alt 0.01 metro | RAK1910, RAK12500 | GPS_10 |
| Temperatura del suelo | 11 | 103 | 2 bytes | en ° C | RAK12023/RAK12035 | temperatura_11 |
| Humedad del suelo | 12 | 104 | 1 byte | en %rh | RAK12023/RAK12035 | humedad_12 |
| Humedad del suelo crudo | 13 | 2 | 2 bytes | 0.01 firmado | RAK12023/RAK12035 | analog_in_13 |
| Datos de suelo válidos | 14 | 102 | 1 byte | bool | RAK12023/RAK12035 | presencia_14 |
| Illuminance 2 | 15 | 101 | 2 bytes | 1 Lux sin firmar | RAK12010 | Illuminance_15 |
| Vocero | 16 | 138 | 2 bytes | Índice de VOC | RAK12047 | VOC_16 |
| Gas MQ2 | 17 | 2 | 2 bytes | 0.01 firmado | RAK12004 | analog_in_17 |
| Porcentaje de gas MQ2 | 18 | 120 | 1 byte | 1-100% sin firmar | RAK12004 | porcentaje_18 |
| Gas de MG812 | 19 | 2 | 2 bytes | 0.01 firmado | RAK12008 | analog_in_19 |
| Porcentaje de gas MG812 | 20 | 120 | 1 byte | 1-100% sin firmar | RAK12008 | porcentaje_20 |
| Gas de alcohol MQ3 | 21 | 2 | 2 bytes | 0.01 firmado | RAK12009 | analog_in_21 |
| MQ3 Alcohol Gas Perc. | 22 | 120 | 1 byte | 1-100% sin firmar | RAK12009 | porcentaje_22 |
| TOF Distancia | 23 | 2 | 2 bytes | 0.01 firmado | RAK12014 | analog_in_23 |
| Datos de TOF válidos | 24 | 102 | 1 byte | bool | RAK12014 | presencia_24 |
| Gyro activado | 25 | 134 | 6 bytes | 2 bytes por eje, 0.01 °/s | RAK12025 | gyrometer_25 |
| Gesto detectado | 26 | 0 | 1 byte | 1 byte con identificación de gesto | RAK14008 | digital_in_26 |
| Valor UVI LTR390 | 27 | 2 | 2 bytes | 0.01 firmado | RAK12019 | analog_in_27 |
| Valor UVS LTR390 | 28 | 101 | 2 bytes | 1 Lux sin firmar | RAK12019 | Illuminance_28 |
| Ina219 actual | 29 | 2 | 2 bytes | 0.01 firmado | RAK16000 | Analog_29 |
| INA219 voltaje | 30 | 2 | 2 bytes | 0.01 firmado | RAK16000 | Analog_30 |
| INA219 PODER | 31 | 2 | 2 bytes | 0.01 firmado | RAK16000 | Analog_31 |
| Touchpad izquierda | 32 | 102 | 1 byte | bool | RAK14002 | presencia_32 |
| Centro táctil | 33 | 102 | 1 byte | bool | RAK14002 | presencia_33 |
| Panel táctil a la derecha | 34 | 102 | 1 byte | bool | RAK14002 | presencia_34 |
| Concentración de CO2 SCD30 | 35 | 125 | 2 bytes | 1 ppm sin firmar | RAK12037 | concentración_35 |
| Temperatura SCD30 | 36 | 103 | 2 bytes | en ° C | RAK12037 | temperatura_36 |
| Humedad SCD30 | 37 | 104 | 1 byte | en %rh | RAK12037 | humedad_37 |
| MLX90632 TEMP DE SENSOR | 38 | 103 | 2 bytes | en ° C | RAK12003 | temperatura_38 |
| MLX90632 TEMP de objeto | 39 | 103 | 2 bytes | en ° C | RAK12003 | temperatura_39 |
| Valor PM 1.0 | 40 | 103 | 2 bytes | en ug/m3 | RAK12003 | VOC_40 |
| Valor PM 2.5 | 41 | 103 | 2 bytes | en ug/m3 | RAK12003 | VOC_41 |
| Valor de PM 10 | 42 | 103 | 2 bytes | en ug/m3 | RAK12003 | VOC_42 |
| Evento de terremoto | 43 | 102 | 1 byte | bool | RAK12027 | presencia_43 |
| Valor de SI de terremoto | 44 | 2 | 2 bytes | análogo 10 * m/s | RAK12027 | Analog_44 |
| Valor PGA de terremoto | 45 | 2 | 2 bytes | análogo 10 * m/s2 | RAK12027 | Analog_45 |
| Alerta de cierre del terremoto | 46 | 102 | 1 byte | bool | RAK12027 | presencia_46 |
| LPP_CHANNEL_EQ_COLLAPSE | 47 | 102 | 1 byte | bool | RAK12027 | presencia_47 |
| Estado de cambio | 48 | 102 | 1 byte | bool | RAK13011 | presencia_48 |
| Velocidad del viento sensorhub | 49 | 190 | 2 byte | 0.01 m/s | SensorHub RK900-09 | Wind_Speed_49 |
| Dirección del viento sensorhub | 50 | 191 | 2 byte | 1º | SensorHub RK900-09 | Wind_Direction_50 |
| Nivel de audio | 49 |
Los ID de canal en cursiva son formatos extendidos y no son compatibles con los decodificadores de datos de Cayenne LPP estándar.
Los decodificadores de ejemplo para TTN, ChirpStack, Helium y Datacake se pueden encontrar en la carpeta RAKWIRELeless_Standardized_PayLoad Repo
Los archivos compilados se encuentran en la carpeta ./generated. Cada versión compilada exitosa se nombra como
WisBlock_SENS_Vx.y.z_YYYY.MM.dd.hh.mm.ss
XYZ es el número de versión. El número de versión está configurado en el archivo ./platformio.ini.
Yyyy.mm.dd.hh.mm.ss es la marca de tiempo de la compilación.
El archivo .zip generado también se puede usar para actualizar el dispositivo sobre BLE con Wisblock Toolbox
Cuando se usa Platformio, además de se genera un archivo UF2 para el RAK4631. Puede forzar el RAK4631 al modo de cargador de arranque empujando el botón de reinicio. Se instalará una nueva unidad USB. Tire del archivo UF2 en la nueva unidad para flashear el dispositivo.
La salida de depuración se puede controlar por define en la platformio.ini
Lib_debug controla la salida de depuración de la biblioteca SX126X-Arduino Lorawan
API_DEBUG controla la salida de depuración de la biblioteca WISBLOCK-API
My_debug controla la salida de depuración de la aplicación en sí
CFG_DEBUG controla la salida de depuración del NRF52 BSP. Se recomienda mantenerlo
[env:wiscore_rak4631]
platform = nordicnrf52
board = wiscore_rak4631
framework = arduino
build_flags =
; -DCFG_DEBUG=2
- DSW_VERSION_1 =1 ; major version increase on API change / not backwards compatible
- DSW_VERSION_2 =0 ; minor version increase on API change / backward compatible
- DSW_VERSION_3 =0 ; patch version increase on bugfix, no affect on API
- DLIB_DEBUG =0 ; 0 Disable LoRaWAN debug output
- DAPI_DEBUG =0 ; 0 Disable WisBlock API debug output
- DMY_DEBUG =0 ; 0 Disable application debug output
- DNO_BLE_LED =1 ; 1 Disable blue LED as BLE notificator
lib_deps =
beegee-tokyo/SX126x-Arduino
beegee-tokyo/WisBlock-API-V2
sparkfun/SparkFun SHTC3 Humidity and Temperature Sensor Library
adafruit/Adafruit LPS2X
closedcube/ClosedCube OPT3001
sabas1080/CayenneLPP
extra_scripts = pre:rename.pyEsta guía se puede utilizar para Wisblock Kit 1 y RAK Developer Kit 2
Instale los módulos en cualquier ranura coincidente, siguiendo las guías de inicio rápidos en el Centro de documentación RAKWIRESS
Configurar el dispositivo utilizando la interfaz de comando AT o la aplicación BLE
Esta guía se puede utilizar para Wisblock Kit 2 , Wisblock Kit 3 , Wisblock GNSS Tracker para Lorawan y Rak Developer Kit 3
El módulo RAK1904 debe instalarse en
Ranura C de RAK5005-O, RAK19007, RAK19003 o RAK19001
Si usa el RAK1910, debe instalarse en
Slot A de RAK5005-O
Cualquier ranura coincidente de RAK19007 o RAK19001
Si usa el RAK12500, se puede instalar en cualquier ranura coincidente de las tablas base.
El RAK1906 se puede instalar en cualquier ranura coincidente de la placa base.
Para las guías de instalación, siguiendo las guías de inicio rápido en el Centro de Documentación RAKWIRESS
Configurar el dispositivo utilizando la interfaz de comando AT o la aplicación BLE
RAK11700 GNSS Tracker para Lorawan es el modo de inicio predeterminado para esta configuración.
Si construye el kit de mapeador de helio, el modo debe cambiarse con el siguiente comando AT:
La solución se puede configurar en 3 modos de trabajo diferentes utilizando el comando AT AT+GNSS :
| Dominio | Parámetro de entrada | Valor de retorno | Código de retorno |
|---|---|---|---|
| AT+GNSS? | - | Get/Set the GNSS precision and format 0 = 4 digit, 1 = 6 digit, 2 = Helium Mapper | OK |
| AT+GNSS =? | - | 0 o 1 o 2 | OK |
AT+GNSS = <Input Parameter> | 1 o 2 o 3 | - | OK o AT_PARAM_ERROR |
El formato estándar de Cayenne LPP utiliza solo 4 dígitos para la precisión de ubicación. Este formato de ubicación predeterminado es compatible automáticamente por la mayoría de los servidores de Lorawan y plataformas de visualización como MyDevices .
Es el valor predeterminado y se establece con el comando AT AT+GNSS=0 .
Configuración de esta opción, los datos todavía se envían en formato Cayenne LPP, pero utiliza un identificador de datos personalizado y 6 dígitos para una resolución de longitud y longitud más alta. Para decodificar este formato, se requiere un codificador de datos personalizado. Los codificadores de datos para TTN, Chirpstack y Datacake se pueden encontrar en la carpeta de decodificadores de datos personalizados.
La resolución de ubicación mejorada se establece con el comando AT AT+GNSS=1 .
Esta opción envía los datos en el formato del mapeador de helio, como se explica en hacer un mapeador de helio con Wisblock.
Los decodificadores de paquetes para este formato se proporcionan en el artículo anterior.
La funcionalidad de Helium Mapper se establece con el comando AT AT+GNSS=2 .
Esta guía se puede utilizar para Wisblock Kit 4 y RAK Developer Kit 4
Instale los módulos en cualquier ranura coincidente, siguiendo las guías de inicio rápidos en el Centro de documentación RAKWIRESS
Configurar el dispositivo utilizando la interfaz de comando AT o la aplicación BLE