In [ ]:
from resources.iot.device import IoT_mqtt_publisher, IoT_sensor
In [ ]:
publisher = IoT_mqtt_publisher("localhost", 1883)
IoT_sensor(<name/id>, <grandeza física >, <unidade de medida>, <menor valor>, <maior valor possível>, <intervalo entre leituras (segundos)>)
Exemplo de sensor de pressão:
sensor_pressao = IoT_sensor("32", "pressao", "bar", 20, 35, 5)
Componentes IoT_sensor
podem se conectar a componentes do tipo IoT_mqtt_publisher
para publicar, em um tópico, mensagens referentes às leituras feitas pelo sensor. Por exemplo, o sensor do exemplo acima produziu a seguinte mensagem no tópico sensor/32/pressao
:
{
"source": "sensor",
"name": "32",
"type": "reading",
"body": {
"timestamp": "2019-08-17 17:02:15",
"dimension": "pressao",
"value": 25.533895448246717,
"unity": "bar"
}
}
In [ ]:
sensor_1 = IoT_sensor("1", "temperature", "°C", 20, 26, 2)
sensor_2 = IoT_sensor("2", "umidade", "%", 50, 60, 3)
sensor_3 = IoT_sensor("3", "temperature", "°C", 28, 30, 4)
sensor_4 = IoT_sensor("4", "umidade", "%", 40, 55, 5)
In [ ]:
sensor_1.connect(publisher)
sensor_2.connect(publisher)
sensor_3.connect(publisher)
sensor_4.connect(publisher)
In [ ]: