O soft-iot-dlt-fog-broker
é o bundle genérico que pode atuar tanto na camada Edge quanto na Fog. Ele responsável por realizar o cálculo de Top-K dos dispositivos a partir de uma requisição feita por um Client superior.
Para a comunicação, é utilizado o protocolo MQTT.
Propriedade | Descrição | Valor Padrão |
---|---|---|
ip_up | Endereço IP do Client situado na camada acima | localhost |
ip | Endereço IP de onde o Bundle está sendo executado | localhost |
port | Porta para conexão com o Broker | 1883 |
user | Usuário para conexão com o Broker | karaf |
pass | Senha para conexão com o Broker | karaf |
urlAPI | URL da API onde estão os dispositivos | http://localhost:8181/cxf/iot-service/devices |
hasNodes | Se o gateway onde o bundle está sendo executado irá possuir filhos | true |
timeoutInSeconds | Tempo máximo de espera da resposta dos filhos | 30 |
debugModeValue | Modo depuração | true |
Requisição:
GET sensors
Resposta
{
"sensors": [
"sensorType1",
"sensorType2",
"sensorType3"
]
}
Requisição:
GET topk {
"id": "requestId",
"k": value,
"functionHealth": [
{
"sensor": "sensorType1",
"weight": value
},
{
"sensor": "sensorType2",
"weight": value
},
{
"sensor": "sensorType3",
"weight": "value
},
]
}
Resposta
{
"id": "responseId",
"timestamp": "currentTime",
"devices": [
{
"deviceId": "deviceId1",
"score": value
},
{
"deviceId": "deviceId2",
"score": value
},
]
}
Requisições através do Mosquitto MQTT Broker
mosquitto_sub -t "SENSORS_FOG_RES/" -u <USER> -P <PASSWORD -h <HOST_NAME> -p <PORT>
mosquitto_pub -t "GET sensors" -m "" -u <USER> -P <PASSWORD -h <HOST_NAME> -p <PORT>
mosquitto_sub -t "TOP_K_HEALTH_FOG_RES/#" -u <USER> -P <PASSWORD> -h <HOST_NAME> -p <PORT>
mosquitto_pub -t "GET topk" -m '{"id": value,"k": value,"functionHealth": [{"sensor": "sensorType1","weight": value},{"sensor": "sensorType2","weight": value}]}' -u <USER> -P <PASSWORD> -h <HOST_NAME> -p <PORT>