Le credenziali predefinite della gateway Wise-6610 v2 sono `admin`/ `admin`.
L'accesso al LNS della v2 avviene tramite il menu `LoRaWan > Advantech LoRaWan Service`.
Dashboard del LNS della Wise-6610 v1
Dashboard del LNS della Wise-6610 v1
Nella v2, questo menu è accessibile tramite `Devices > Create Device > Type : OTAA`
Screenshot dell'interfaccia Node-RED
Nella v2 `Application Tools > Node-RED > Settings`.
Nella v2, selezionate `Node-RED control`.
{
"d":[
{
"tag":"Something:IoTEdge_Tag",
"value":value
},
{
"tag":"Something:IoTEdge_Other_Tag",
"value":other_value
}
],
"ts":"00000000000"
}
//Questo script attualmente non supporta la modalità Dual Channel.
bytes = []
c = 0
while(c < msg["data"].length) {
bytes.push(parseInt(msg["data"].substr(c, 2), 16));
c+=2;
}
result = {}
if(msg.port == 2 || msg.port == 3) {
//Stato di apertura/chiusura in tempo reale e storico
//Per semplicità, traduci solo la prima voce degli eventi storici.
result["DOOR:COUNT_MODE"] = (bytes[0] & 0x08) ? "RES" : "FAC"; //RES : Da reset / FAC : Da fabbrica
result["DOOR:TDC"] = (bytes[0] & 0x04) ? 1 : 0;
result["DOOR:ALARM"] = (bytes[0] & 0x02) ? 1 : 0;
result["DOOR:DOOR_OPEN_STATUS"] = (bytes[0] & 0x01) ? 1 : 0;
result["DOOR:DOOR_OPEN_TIMES"] = bytes[1] << 16 | bytes[2] << 8 | bytes[3];
result["DOOR:LAST_DOOR_OPEN_DURATION"] = bytes[4] << 16 | bytes[5] << 8 | bytes[6];
}
if(msg.port == 4) {
//Configurazione del sensore
//Inviato solo dopo il messaggio di downlink dal server
result["DOOR:TDC"] = bytes[0] << 16 | bytes[1] << 8 | bytes[2];
result["DOOR:DISALARM"] = (bytes[3] & 0x1) ? 1:0;
result["DOOR:KEEP_STATUS1"] = (bytes[4] & 0x1) ? 1:0;
result["DOOR:KEEP_TIME1"] = bytes[5] << 8 | bytes[6]
result["DOOR:KEEP_STATUS2"] = (bytes[7] & 0x1) ? 1 : 0;
result["DOOR:KEEP_TIME2"] = bytes[8] << 8 | bytes[9]
result["DOOR:ALARM_INTERVAL"] = bytes[10]
}
if(msg.port == 5) {
//Stato del dispositivo
result["DOOR:SENSOR_MODEL"] = (bytes[0] & 0x1B) ? "DS03A" : "Dispositivo sconosciuto";
result["DOOR:FIRMWARE_VERSION"] = "${bytes[1]}";
result["DOOR:FREQUENCY_BAND"] = "EU868";
result["DOOR:SUB_BAND"] = 0x00;
result["DOOR:BATTERY"] = byte[5] << 8 | byte[6];
}
output = {
"d":[],
"ts":"00000000000000000000000"
}
for(k in result) {
output["d"].push({"tag":k, "value":result[k]})
}
output["raw"] = result
return output
//I booleani in IoTEdge sono rappresentati da {0, 1}, per poter essere utilizzati nei dashboard
bool STATO_PORTA_APERTA;
bool ALLARME;
int DURATA_ULTIMA_APERTURA_PORTA; // in secondi
int CONTEGGIO_APERTURE_PORTA;