예제 #1
0
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")
예제 #2
0
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/#
예제 #3
0
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))
예제 #4
0
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)
예제 #6
0
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)
예제 #7
0
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
예제 #8
0
        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__":