from mqtt_manager import MQTT_Manager from sensor_manager import Sensor_BME280 from board_manager import D1, D2 from ssd1306 import SSD1306_I2C i2c = I2C(scl=Pin(D1), sda=Pin(D2)) sensor = Sensor_BME280(i2c=i2c, address=118) # i2c.scan() oled = SSD1306_I2C(128, 64, i2c, 0x3c) oled.text("Loading ...", 0, 0) oled.show() wlan_client = WLAN_Manager() mqtt_client = MQTT_Manager() def reconnect(attempts=0): wlan_client.start(attempts=attempts) success = wlan_client.check() and mqtt_client.check() if success: mqtt_client.broker.subscribe(TOPIC_SUB) return success def mqtt_callback(topic, msg): print('MSG! Topic: {}; Data {}'.format(topic, msg)) TOPIC_SUB = mqtt_client.get_topic("control")
from time import sleep, sleep_ms from machine import Pin from board_manager import * from wlan_manager import WLAN_Manager from mqtt_manager import MQTT_Manager from json import dumps, loads wlan_client = WLAN_Manager() mqtt_client = MQTT_Manager() def reconnect(): print("WiFi Connection") wlan_client.start() for i in range(30): if wlan_client.check(): break print(".", end="") sleep(1) sleep(5) success = wlan_client.check() and mqtt_client.check() if success: mqtt_client.broker.subscribe(TOPIC_SUB) return success def mqtt_callback(topic, msg): global status print('Mensagem! Topic: {};\nData: {}'.format(topic.decode(), msg.decode())) # Get the number 0 to 8 after /control/#
import machine, time, json from wlan_manager import WLAN_Manager # Wireless Connection wlan_client = WLAN_Manager() wlan_client.start() from mqtt_manager import MQTT_Manager # MQTT Connection mqtt_client = MQTT_Manager() mqtt_client.check() # Open connection to broker TOPIC_SUB = mqtt_client.get_topic('control') TOPIC_PUB = mqtt_client.get_topic('status') def mqtt_callback(topic, msg): print('MSG! Topic:{}; Data{}'.format(topic, msg)) mqtt_client.broker.set_callback(mqtt_callback) mqtt_client.broker.subscribe(TOPIC_SUB) # Change this to your sensor from board_manager import D1 from sensor_manager import Sensor_DS18B20 sensor = Sensor_DS18B20(D1) # Pin 5 = D1 DELAY = 5 * 1000 # DELAY in milliseconds while True: sensor.read() msg = sensor.values_dict print(msg) mqtt_client.send(TOPIC_PUB, json.dumps(msg))
from time import sleep from json import dumps, loads # Modulos de Ligação á Internet from wlan_manager import WLAN_Manager from mqtt_manager import MQTT_Manager # Modulos de Ligação ao Hardware from board_manager import * from sensor_manager import Sensor_BME280 from sensor_manager import Sensor_BH1750 # Ligação à Internet wlan_client = WLAN_Manager() # Cliente para ligar ao Wireless #wlan_client.setup("ATLANTICO", "oceno12") mqtt_client = MQTT_Manager() # Cliente para ligar ao Servidor de Mensagens # Ligação ao Hardware i2c = I2C(scl=Pin(D1), sda=Pin(D2)) # Protocolo de Comunicação I2C sensor1 = Sensor_BME280(i2c, 118) # Ligação ao sensor 1 sensor2 = Sensor_BH1750(i2c, 35) # Ligação ao sensor 2 # Função para tratar das quedas de ligação à Internet def reconnect(): print("WiFi Connection") wlan_client.start() for i in range(30): if wlan_client.check(): break print(".", end="") sleep(1) sleep(5)
from time import sleep from wlan_manager import WLAN_Manager from mqtt_manager import MQTT_Manager wlan_client = WLAN_Manager() mqtt_client = MQTT_Manager() def reconnect(): wlan_client.start() success = wlan_client.check() and mqtt_client.check() if success: mqtt_client.broker.subscribe(TOPIC_SUB) return success def mqtt_callback(topic, msg): print('MSG! Topic:{}; Data{}'.format(topic, msg)) PREFIX = "Personal" # Put something personal that ends with / TOPIC_SUB = "/".join([PREFIX, mqtt_client.get_topic("control"), "#"]) TOPIC_PUB = "/".join([PREFIX, mqtt_client.get_topic("status")]) chatty_client = bool(mqtt_client.CONFIG.get("chatty", True)) mqtt_client.broker.set_callback(mqtt_callback) print("client_id:", mqtt_client.CONFIG["client_id"]) connected = reconnect() if connected: mqtt_client.send("debug", TOPIC_SUB)
led = StatusLED(D6) led.on() # Replace this lines with your sensor i2c = machine.I2C(scl=machine.Pin(D1), sda=machine.Pin(D2)) # Pin 5 = D1 | Pin 4 = D2 from sensor_manager import Sensor_BME280 sensor = Sensor_BME280(i2c=i2c, address=0x77) #End of sensor settings from wlan_manager import WLAN_Manager wlan_client = WLAN_Manager() from mqtt_manager import MQTT_Manager mqtt_client = MQTT_Manager() TOPIC_SUB = mqtt_client.get_topic('control') # You talking to the sensor TOPIC_PUB = mqtt_client.get_topic('status') # The sensor talking to you chatty_client = bool(mqtt_client.CONFIG.get('chatty', True)) mqtt_client.broker.set_callback(mqtt_callback) print('client_id:', mqtt_client.CONFIG['client_id']) connected = reconnect() if DEBUG and connected: mqtt_client.send('debug', TOPIC_SUB) mqtt_client.send('debug', TOPIC_PUB) mqtt_client.send('debug', app_name) gc.collect() time.sleep(1)
import machine, time, json from wlan_manager import WLAN_Manager # Wireless Connection from mqtt_manager import MQTT_Manager # MQTT Connection wlan_client = WLAN_Manager() mqtt_client = MQTT_Manager() def reconnect(): wlan_client.start() success = wlan_client.check() and mqtt_client.check() if success: mqtt_client.broker.subscribe(TOPIC_SUB) return success def mqtt_callback(topic, msg): print('MSG! Topic:{}; Data{}'.format(topic, msg)) PREFIX = "Personal" # Put something personal that ends with / TOPIC_SUB = "/".join( [PREFIX, mqtt_client.get_topic("control"), "#"] ) TOPIC_PUB = "/".join( [PREFIX, mqtt_client.get_topic("status") ] ) print("TOPIC_SUB", TOPIC_SUB) print("TOPIC_PUB", TOPIC_PUB) mqtt_client.broker.set_callback(mqtt_callback) mqtt_client.broker.subscribe(TOPIC_SUB) # Change this to your sensor from board_manager import D1 from sensor_manager import Sensor_DS18B20
print("Erro ao tentar ter objeto.") return False try: value = int(msg.decode()) except: print("Erro ao tentar ter valor.") return False if object not in [i for i in range(len(objects))] or value not in [0, 1]: print("Error in Object={} or value={}".format(object, value)) return False status[object] = value return True wlan_client = WLAN_Manager() mqtt_client = MQTT_Manager() sensor = Sensor_HCSR04(D5, D6) relay = Pin(D1, Pin.OUT, value=0) led = Pin(D7, Pin.OUT, value=0) PREFIX = "Personal" TOPIC_SUB = "/".join([PREFIX, mqtt_client.get_topic("control"), "#"]) TOPIC_PUB = "/".join([PREFIX, mqtt_client.get_topic("status")]) chatty_client = bool(mqtt_client.CONFIG.get("chatty", True)) mqtt_client.broker.set_callback(mqtt_callback) print("client_id:", mqtt_client.CONFIG["client_id"]) connected = reconnect() if connected:
print('MQTT', data) def reconnect(): wlan_client.start() print("MQTT check...") success = wlan_client.check() and mqtt_client.check() if success: mqtt_client.broker.subscribe(TOPIC_SUB) return success gc.collect() from wlan_manager import WLAN_Manager wlan_client = WLAN_Manager() from mqtt_manager import MQTT_Manager mqtt_client = MQTT_Manager() TOPIC_SUB = mqtt_client.get_topic('control') TOPIC_PUB = mqtt_client.get_topic('status') chatty_client = bool(mqtt_client.CONFIG.get('chatty', True)) mqtt_client.broker.set_callback(mqtt_callback) print( 'client_id:', mqtt_client.CONFIG['client_id'] ) connected = reconnect() if DEBUG and connected: mqtt_client.send('debug', TOPIC_SUB) mqtt_client.send('debug', TOPIC_PUB) mqtt_client.send('debug', app_name) gc.collect() time.sleep(1) if __name__ == "__main__":