ADVERTENCIA: Al conectar un panel solar o una batería, la polaridad de los pines debe ser la siguiente:

Advertencia: si se necesita el controlador de carga para una batería de iones de litio, el puente de batería debe estar conectado:

El IDE Arduino se puede usar para cargar software a través del puerto Micro USB. Antes de que pueda usarse, el IDE debe estar configurado. Lo primero es instalar la Junta a través del Administrador de la Junta.
Vaya a Archivo -> Preferencias. Agregue el siguiente enlace a las URL de administrador de tableros adicionales: https://github.com/skylabiot/loragege_basictracking/raw/master/package_skylab_index.json.
El paquete de la junta se puede descargar a través de herramientas -> tablero -> Manager de tableros ... buscando Skylab.
Seleccione el tablero a través de herramientas -> tablero -> tableros de Skylab -> Skylab Lora Edge.
El boceto de ejemplo se puede cargar a través del archivo -> Ejemplos -> Skylab Lora Edge -> BasicLoraa.
Las dependencias de boceto Basicloraa son:
Arduino SAMD21 Biblioteca de baja potencia: https://www.arduino.cc/en/reference/arduinolowpower
Biblioteca Arduino RTC: https://www.arduino.cc/en/reference/rtc
Biblioteca Adafruit BME280: https://github.com/adafruit/adafruit_bme280_library
Adafruit LMS303 Biblioteca del acelerómetro: https://github.com/adafruit/adafruit_lsm303_accel
Biblioteca de FlashStorage de Cmaglie: https://github.com/cmaglie/flashstorage
Después de cargar el modo, un ejemplo de esbozo, el monitor en serie se puede abrir con una velocidad de baudio de 9600. El sistema comienza con la visualización de Dev_eui configurado, Join_eui y App_Key (MSB primero). El dev_eui se solicita desde el chip LR1110 y es exclusivo de ese chip específico. Esta clave debe usarse en la consola de la red usada. El Join_eui y App_Key se configuran en el código y deben cambiarse para las claves correctas, dadas por la consola de red usada. Si está configurado correctamente, el dispositivo se une automáticamente.
Envíe un 0x01 para solicitar una carga útil de escaneo Wi-Fi y GNSS (la respuesta está en el puerto 2 y 3).
Envíe un 0x02 para solicitar la configuración actual (la respuesta está en el puerto 44).
Envíe un 0x03 para solicitar el voltaje actual de la batería (la respuesta está en el puerto 10).
El formato de enlace descendente de configuración debe ser el siguiente:
| 0 | 1-2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
|---|---|---|---|---|---|---|---|---|
| CONDUJO | Intervalo | Faro | Wi-Fi | GNSS | Activación de movimiento / tiempo | Duración del intervalo de movimiento | Registro de umbral del sensor de movimiento | Registro de duración del sensor de movimiento |
Byte 0: LED Este byte configura el LED de estado.
Byte 1 y 2: intervalo estos 2 bytes configuran el tiempo de intervalo estándar entre el tiempo de mensajes es en minutos. El intervalo establecido en 0 mantendrá la configuración actual y no establecerá un nuevo tiempo de intervalo. El tiempo máximo es de 65535 minutos.
Byte 3: Beacon Este byte configura el tiempo en que se enciende De Beacon. El tiempo es en minutos. El tiempo máximo es de 255 minutos. Cuando se establece en 0, la baliza no se encenderá.
Byte 4: Wi-Fi Este byte enciende o desactiva la carga de Wi-Fi.
Byte 5: GNSS Este byte enciende o apaga la carga de GNSS.
Byte 6: Activación / tiempo de movimiento Este byte establece el intervalo de envío si se detecta el movimiento. El tiempo es en minutos con un máximo de 255. Cuando se establece en 0, la interrupción de detección de movimiento está deshabilitada.
Byte 7: Duración del intervalo de movimiento Este byte establece la duración del sistema utiliza el intervalo de movimiento después de la última detección de movimiento. El tiempo es en minutos con un máximo de 255. Cuando se establece en 0, este byte se ignorará (se utilizará la configuración actual).
Byte 8: Registro de umbral del sensor de movimiento Este byte establece el registro de umbral del sensor de movimiento. Si el byte 7 se establece en 0, este byte se ignorará (se utilizará la configuración actual).
Byte 9: Registro de duración del sensor de movimiento Este byte establece el registro de duración del sensor de movimiento. Si Byte 7 se establece en 0, este byte se ignorará (se utilizará la configuración actual)
El sistema confirma el enlace descendente enviando la configuración establecida en un enlace ascendente en el puerto 44 en el mismo formato que el enlace descendente.
LED ON, Intervalo en 5 minutos, sin carga de baliza, Wi-Fi y GNSS On, Detección de movimiento apagado:
01 00 05 00 01 01 00 00 00 00
Llevado, intervalo 600 minutos, sin baliza, carga útil de Wi-Fi, carga útil GNSS, Detección de movimiento apagada:
00 15 36 00 01 00 00 00 00 00
Mantenga la configuración actual de LED y intervalos, sin baliza, carga útil de Wi-Fi, carga útil GNSS en, Detección de movimiento apagado:
02 00 00 00 00 01 00 00 00 00
Encienda la baliza durante 5 minutos, la detección de movimiento, mantenga todas las demás configuraciones actuales:
02 00 00 05 02 02 00 00 00 00
Mantenga la configuración actual de LED e intervalo, sin baliza, carga útil de Wi-Fi, carga útil GNSS, detección de movimiento con intervalo de envío de 1 minuto, intervalo de movimiento utilizado durante 4 minutos después de la última moción, registro de umbral de movimiento establecido en 7, registro de duración de movimiento establecido en 3:
02 00 00 00 01 00 01 04 07 03
El modo de boceto de ejemplo puede enviar 4 tipos de carga útil. Estos tipos de cargas útiles son identificables por el número de puerto utilizado. Se puede encontrar un script de decodificador TTN de ejemplo en esta página de GitHub (Exppledecoderttn.js).
Esta es la carga útil Wi-Fi y el sensor. Esta carga útil tiene la información de 3 puntos Wi-Fi y los datos del sensor. El formato es el siguiente:
| 0 | 1-6 | 7 | 8-13 | 14 | 15-20 | 21 | 22-23 | 24-25 | 26 | 27 |
|---|---|---|---|---|---|---|---|---|---|---|
| RSSI 1 | Mac 1 | RSSI 2 | Mac 2 | RSSI 3 | Mac 3 | Voltaje de la batería | Temperatura | Presión | Humedad | Activación de movimiento |
Byte 0, 7 y 14: Wi-Fi RSSI
Estos bytes tienen la resistencia a RSSI / señal de los puntos Wi-Fi escaneados. Estos valores deben interpretarse como enteros firmados.
Byte 1 a 6, 8 a 13 y 15 a 20: Wi-Fi Mac
Estos bytes tienen las direcciones MAC de los puntos Wi-Fi escaneados.
Byte 21: Voltaje de la batería
Este byte tiene el valor de voltaje de batería cruda. El voltaje exacto se puede calcular con: voltaje = (flotante) ((3.3 / 255) * ((4.7 + 10) / 10) * (voltaje de la batería));
Byte 22 a 23: temperatura
Estos bytes tienen el valor de temperatura. La temperatura exacta en grados centígrados (◦C) se puede calcular con: temperatura = (flotación) (temperatura / 100);
Byte 24 a 25: presión
Estos bytes tienen el valor de presión de aire. La presión exacta en el grado Héctor Pascal (HPA) se puede calcular con: presión de aire = (flotante) (presión / 10);
Byte 26: Humedad
Este byte tiene el valor de humedad en %.
Byte 27: Activación de movimiento
Este byte muestra 0 cuando en intervalo normal. Cuando en intervalo de movimiento, este byte da la cantidad de minutos que quedan en el intervalo de movimiento.
Esta es la carga útil GNSS. Esta carga útil solo tiene los datos GNSS sin procesar y tiene un tamaño variable.
Esta carga útil se usa como un mensaje "Estoy despierto". Por defecto, se establece cada 24 horas. Esto se puede cambiar cambiando el valor "Tiempo de control". El formato es el siguiente:
Byte 0: voltaje de la batería
Este byte tiene el valor de voltaje de batería cruda. El voltaje exacto se puede calcular con: voltaje = (flotante) ((3.3 / 255) * ((4.7 + 10) / 10) * (voltaje de la batería));
El LR1110 envía un mensaje automatizado cuando se une y cada 24 horas después de eso. Este mensaje puede ser ignorado.
Cuando la configuración de la baliza se establece en 1, se activará la baliza. El dispositivo dejará la red y enviará una carga útil de Lora aleatoria cada segundo en la frecuencia de 869800000 Hz (fuera de la frecuencia de Lora oficial). El LED verde se encenderá si la activación del LED se establece en 1. El faro se detendrá cuando se alcance la hora establecida. El sistema se unirá a la red y operará como antes.
| alfiler | Alfiler | Nombre en Arduino IDE |
|---|---|---|
| PA02 | A0 | A0, DAC0 |
| PA05 | Ain5 (batería) | Ain5 |
| PA06 | D0 | D0 |
| PA07 | D8 | D8 |
| PA08 | D3 | D3 |
| PA09 | D4 | D4 |
| PA10 | Ocupado (LR1110) | OCUPADO |
| PA11 | Evento (LR1110) | EVENTO |
| PA14 | Nreset (LR1110) | Nreset |
| PA15 | LED rojo | LEDR |
| PA16 | Mosi | Mosi |
| PA17 | Sck | Sck |
| PA18 | NSS (LR1110) | NSS |
| PA19 | Miso | Miso |
| PA20 | INT2 (LSM303AGR) | Int2 |
| PA21 | INT1 (LSM303AGR) | Int1 |
| PA22 | SDA | SDA |
| PA23 | SCL | SCL |
| PA24 | D- (USB) | PIN_USB_DM |
| PA25 | D+ (USB) | PIN_USB_DP |
| PA27 | PA27 (almohadilla) | PA27 |
| PA28 | PA28 (almohadilla) | PA28 |
| PA30 | SWDCLK/TCK (Pins de depuración) | - |
| PA31 | SWDIO/TMS (Pins de depuración) | - |
| PB02 | PB02 (almohadilla) | PB02 |
| PB03 | PB03 (almohadilla) | PB03 |
| PB08 | LNA (GNSS) | LNA |
| PB09 | INT3 (LSM303AGR) | Int3 |
| PB10 | Verde LED | Ledg |
| PB11 | Azul LED | LEDB |
| PB22 | Tx | PIN_SERIAL_TX |
| PB23 | Rx | PIN_SERIAL_RX |
| Versión | Cambios |
|---|---|
| 1.0 | Primer lanzamiento. |
| 1.2 | Soporte para más configuración a través del enlace descendente, la integración del sensor en la carga útil de Wi-Fi y Radio Beacon. |
| 1.3 | Cambios para el boceto BasicloraA: cambiado de enlace descendente para tomar menos bytes. Arregle un problema de unión de drenaje de batería cuando no hay cobertura de Lora. Se agregó soporte para la detección de movimiento, habilita estableciendo MotionActivation en 1. |
| 1.3.1 | Se solucionó un problema de unión después de una unión fallida en Basicloraa Sketch. |
| 1.4 | Puerto ascendente actualizado (Byte 27). Formato de enlace descendente actualizado, incluidos ejemplos. Se agregó el enlace descendente confirmar el enlace ascendente. Capacidad para guardar la configuración en EEPROM para que no se restablezcan en el reinicio. |
| 1.4.1 | Limpieza de archivos. |
| 1.5 | Purple LED se enciende cuando intenta unirse. Se corrigió el error de carga de Wi-Fi Falt Wi-Fi. Soporte para la sincronización ALC para uso futuro. El código hizo más legible agregando comentarios. |
| 1.5.1 | EUI / teclas acolchadas con ceros en el monitor en serie para una copia más fácil. Las versiones de Lorawan, firmware y cargador de arranque ahora imprimen en Hex en Serial Monitor. |
| 1.5.2 | Se corrigió no enviar la primera carga útil después del inicio y después de la primera detección de movimiento. |
| 1.5.3 | Función de enlace descendente agregado para solicitar la configuración. Se corrigió el temporizador de intervalo de error en el error. |
| 1.5.4 | El valor de intervalo fijo no siempre se carga correctamente después del reinicio. |