Para poder integrar com o SIoT é necessário você ter o ID da máquina e o KEY-TOKEN gerados pelo portal. Para obter esses dados acesse Criando uma integração no SIoT.
Para publicar via MQTT é necessário ter os dados como o modelo de configuração abaixo.
- Para 'username' utilize o ID da máquina cadastrado no S.IoT.
- Para 'password' utilize o token de integração da máquina gerado no S.IoT.
host: mqtts://test-mqtt.siot.konztec.com:8883
username: iot
password: geeM/H1MvkyaYFcC/hT47w==Payload Simples
Enviando o valor da variável do sensor:
Topic
/siot/{maquina_id}/{sensor_id}/{signal_id}
Onde os parâmetros {maquina_id}, {sensor_id}, {signal_id} são de acordo com o cadastrado no portal S.IoT.
Payload
{value} {value} e o valor do sensor .
Exemplo:
topic: /siot/iot_temperature/temperature/atual
payload: 17Payload JSON
Enviando um JSON contendo vários sensores no payload:
Topic
/siot/s/{maquina_id}
Onde o parâmetro {maquina_id} é de acordo com o cadastrado no portal S.IoT.
Payload
{
"idMachine": "{maquina_id}",
"date": "{date_dispositivo}",
"sensors": [
{
"sensorId": "{sensor_id}",
"status": "{status_sensor}",
"signals": [
{
"signal": "{signal_id}",
"value": "{value}"
}
]
}
]
}
Onde os parâmetros {maquina_id}, {sensor_id}, {signal_id} são de acordo com o cadastrado no portal S.IoT. {status_sensor} o estado atual do sensor sendo possível enviar uma das opções a frente: 'active','active','problem'. E a {data_dispositivo} data/hora do dispositivo e o {value} valor do sinal.
Exemplo:
topic: /siot/s/iot_2
payload: {
"idMachine": "iot_2",
"date": "2020-03-20T12:05:20.000Z",
"sensors": [
{
"sensorId": "battery",
"status": "active",
"signals": [
{
"signal": "percentual",
"value": 75
},
{
"signal": "tension",
"value": 25.5,
"unity": "V"
}
]
},
{
"sensorId": "temperature",
"status": "lostconnection",
"signals": [
{
"signal": "atual",
"value": 23
}
]
}
]
}Detalhamento do Payload
Segue abaixo tabela com o detalhamento dos campos em formato JSON:
Payload JSON minificado
Enviando um JSON contendo vários sensores em um único payload minificado, ideal para conexões com franquia de dados reduzida.
Topic
/siot/m/{maquina_id}
Onde o parâmetro {maquina_id} é de acordo com o cadastrado no portal S.IoT.
Payload
{
"date": "{date_dispositivo} (opcional)",
"sensors": [
{
"id": "{sensor_id}",
"signals": [
{
"id": "{signal_id}",
"value": "{value}"
}
]
}
]
}
Onde os parâmetros {sensor_id}, {signal_id} são de acordo com o cadastrado no portal S.IoT. E a {data_dispositivo} data/hora do dispositivo (caso não informada será considerada a data do servidor) e o {value} valor do sensor.
Exemplo:
topic: /siot/m/iot_2
payload: {
"date": "2020-03-20T12:05:20.000Z",
"sensors": [
{
"id": "battery",
"signals": [
{
"id": "percentual",
"value": 75
},
{
"id": "tension",
"value": 25.5
}
]
},
{
"id": "temperature",
"signals": [
{
"id": "atual",
"value": 23
}
]
}
]
}