LoRa 2023-2024
Contingut
The Things Stack (Community Edition) TTSv3
Consola de The Things Stack (Community Edition) de The Things Network
LoRa ABP
Per a fer les pràctiques amb LoRa ABP haurem de desactivar el comptador de trames (cada cop que es reprograma la placa IoT-02 el comptador torna a zero. TTSv3 verifica que el comptatge de trames sigui correcta. Si no es desactiva el comptador de trames semblarà que no es rep la trama). Fera fer-ho, aneu al dispositiu, seleccioneu la pestanya General Settings, premeu el botó EXPAND a la secció Network layer, desplegueu l'enllaç Advanced MAC settings i seleccioneu Enabled a Resets frame counters. Al final deseu els canvis prement el botó Save changes.
Exemple de microprogramari emprant ABP
// TTN uses SF9 for its RX2 window. LMIC.dn2Dr = DR_SF9;
// Set data rate and transmit power for uplink (note: txpow seems to be ignored by the library) LMIC_setDrTxpow(DR_SF7, 14);
LoRa OTAA
Exemple de microprogramari emprant OTAA
Uplink payload formatter
function decodeUplink(input) {
var data = {};
var bufferT = new ArrayBuffer(4);
var bytesT = new Uint8Array(bufferT);
bytesT[0] = input.bytes[0];
bytesT[1] = input.bytes[1];
bytesT[2] = input.bytes[2];
bytesT[3] = input.bytes[3];
var viewT = new DataView(bufferT);
data.temperatura=parseFloat(parseInt(100*viewT.getFloat32(0, false)))/100;
var bufferP = new ArrayBuffer(4);
var bytesP = new Uint8Array(bufferP);
bytesP[0] = input.bytes[4];
bytesP[1] = input.bytes[5];
bytesP[2] = input.bytes[6];
bytesP[3] = input.bytes[7];
var viewP = new DataView(bufferP);
data.pressio=parseFloat(parseInt(100*viewP.getFloat32(0, false)))/100;
var bufferRH = new ArrayBuffer(4);
var bytesRH = new Uint8Array(bufferRH);
bytesRH[0] = input.bytes[8];
bytesRH[1] = input.bytes[9];
bytesRH[2] = input.bytes[10];
bytesRH[3] = input.bytes[11];
var viewRH = new DataView(bufferRH);
data.humitatRelativa=parseFloat(parseInt(100*viewRH.getFloat32(0, false)))/100;
// data.pressio=((input.bytes[4]<<24)+(input.bytes[5]<<16)+(input.bytes[6]<<8)+input.bytes[7])/100;
// data.humitatRelativa=((input.bytes[8]<<24)+(input.bytes[9]<<16)+(input.bytes[10]<<8)+input.bytes[11])/100;
return {
data: data,
warnings: [],
errors: []
};
}
The Things Network TTNv2
Presentació LoRaWAN (esborrany v0.4)
Recursos
Recull introductori per a treballar amb LoRa ( usuari: dam / contrasenya: dam2324)
Recull de pràctiques de 2n de DAM. Curs 2023-2024
Transmissió d'un número real de tipus IEEE-754 (4 bytes) i llur recuperació a NodeRED