Las credenciales predeterminadas de la puerta de enlace Wise-6610 v2 son `admin`/ `admin`.
El acceso al LNS de la v2 se realiza a través del menú `LoRaWan > Advantech LoRaWan Service`.
Tablero del LNS de la Wise-6610 v1
Tablero del LNS de la Wise-6610 v1
En la v2, este menú es accesible a través de `Devices > Create Device > Type : OTAA`
Captura de pantalla de la interfaz de Node-RED
En la v2 `Application Tools > Node-RED > Settings`.
En la v2, marque `Node-RED control`.
{
"d":[
{
"tag":"Something:IoTEdge_Tag",
"value":value
},
{
"tag":"Something:IoTEdge_Other_Tag",
"value":other_value
}
],
"ts":"00000000000"
}
//Este script actualmente no soporta el modo de canal dual.
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) {
//Estado de apertura/cierre en tiempo real y eventos históricos
//Por simplicidad, solo traduce la primera entrada de eventos históricos.
result["DOOR:COUNT_MODE"] = (bytes[0] & 0x08) ? "RES" : "FAC"; //RES : Desde el reinicio / FAC : Desde la fábrica
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) {
//Configuración del sensor
//Solo se envía después del mensaje de bajada del servidor
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) {
//Estado del dispositivo
result["DOOR:SENSOR_MODEL"] = (bytes[0] & 0x1B) ? "DS03A" : "Dispositivo desconocido";
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
//Los bool en IoTEdge se representan por {0, 1}, para poder ser utilizados en los dashboards
bool DOOR_OPEN_STATUS;
bool ALARM;
int LAST_DOOR_OPEN_DURATION; // en segundos
int DOOR_OPEN_COUNT;