Les identifiants par défaut de la passerelle Wise-6610 v2 sont `admin`/ `admin`.
L'accès au LNS de la v2 se fait via le menu `LoRaWan > Advantech LoRaWan Service`.
Tableau de bord du LNS de la Wise-6610 v1
Tableau de bord du LNS de la Wise-6610 v1
Dans la v2, ce menu est accessible via `Devices > Create Device > Type : OTAA`
Capture d'écran de l'interface Node-RED
Dans la v2 `Application Toos > Node-RED > Settings`.
Dans la v2, cochez `Node-RED control`.
{
"d":[
{
"tag":"Something:IoTEdge_Tag",
"value":value
},
{
"tag":"Something:IoTEdge_Other_Tag",
"value":other_value
}
],
"ts":"00000000000"
}
//This script currently doesnt support Dual Channel Mode.
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) {
//Real Time Open/Close status and historical
//For simplicity sake, only translate the first entry of historical events.
result["DOOR:COUNT_MODE"] = (bytes[0] & 0x08) ? "RES" : "FAC"; //RES : Since reset / FAC : Since factory
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) {
//Sensor configuration
//Only sent after downlink msg from 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) {
//Device status
result["DOOR:SENSOR_MODEL"] = (bytes[0] & 0x1B) ? "DS03A" : "Unknown Device";
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
//Les bool dans IoTEdge sont représentés par {0, 1}, pour pouvoir etre utilisé dans les dashboard
bool DOOR_OPEN_STATUS;
bool ALARM;
int LAST_DOOR_OPEN_DURATION; // in seconds
int DOOR_OPEN_COUNT;