In [ ]:
from resources.iot.device import IoT_mqtt_publisher, IoT_sensor

Instanciando Componente de Publicação de Mensagens no MQTT


In [ ]:
publisher = IoT_mqtt_publisher("localhost", 1883)

Componente para simulação de um sensor

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"
    }
 }

Instanciando Sensores


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)

Conectando os Componentes


In [ ]:
sensor_1.connect(publisher)
sensor_2.connect(publisher)
sensor_3.connect(publisher)
sensor_4.connect(publisher)

Escutando o barramento

Abra um terminal e digite:

mosquitto_sub -t "sensor/#" -v

In [ ]: