Example #1
0
def connect_and_subscribe():
    bList = str(station.ifconfig()[0]).split('.')
    bList[-1] = '254'
    brokerIP = '.'.join(bList)
    print("MQTT broker address: " + brokerIP)
    client = umqttsimple.MQTTClient(config.cfg.get('client_id'), brokerIP)
    client.set_callback(mqtt_callback)
    try:
        client.connect()
    except:
        timeData['mqtt_conn'] = None
        return client
    sub_topics = [config.topics[t] for t in config.topics if 'sub' in t]
    for t in sub_topics:
        client.subscribe(t)
    print('connected to {}, subscribed to {}'.format(brokerIP, sub_topics))
    cmd_out = '{"lts":"'+str(time.ticks_ms())+'"}'
    for i in range (config.LINELEN):
        config.scale[i] = (0,0,0)
    config.scale.write()
    try:
        # send info to server ('SUP' topic)
        client.publish(config.topics['pub_id'] + '/SUP', cmd_out)
        timeData['mqtt_conn'] = True
    except:
        timeData['mqtt_conn'] = None
        restart_and_reconnect()
    return client
Example #2
0
def connect_and_subscribe():
    bList = str(station.ifconfig()[0]).split('.')
    bList[-1] = '254'
    brokerIP = '.'.join(bList)
    server = brokerIP
    port = config.cfg.get('port')
    user = config.cfg.get('user')
    password = config.cfg.get('password')
    client = umqttsimple.MQTTClient(config.cfg.get('client_id'), server, port,
                                    user, password)
    client.set_callback(mqtt_callback)
    try:
        client.connect()
    except:
        manage_seq['RGB']['mqtt_conn'] = False
        return client
    sub_topics = [config.topics[t] for t in config.topics if 'sub' in t]
    for t in sub_topics:
        client.subscribe(t)
    print('connected to {}, subscribed to {}'.format(server, sub_topics))
    try:
        cmd_out = '{"timestamp":1}'
        client.publish(config.topics['pub'], cmd_out)
        manage_seq['RGB']['mqtt_conn'] = True
    except:
        manage_seq['RGB']['mqtt_conn'] = False
        restart_and_reconnect()
    reset_out()
    return client
Example #3
0
def connect_and_subscribe():
    bList = str(station.ifconfig()[0]).split('.')
    bList[-1] = '254'
    brokerIP = '.'.join(bList)
    print(brokerIP)
    server = config.cfg.get('broker_ip')
    client = umqttsimple.MQTTClient(config.cfg.get('client_id'), server)
    client.set_callback(mqtt_callback)
    client.set_last_will(config.topics['pub'], config.commands['offline'])
    try:
        client.connect()
    except:
        manage_seq['RGB']['mqtt_conn'] = False
        return client
    sub_topics = [config.topics[t] for t in config.topics if 'sub' in t]
    for t in sub_topics:
        client.subscribe(t)
    print('connected to {}, subscribed to {}'.format(server, sub_topics))
    config.pins['green'].value(0)
    try:
        client.publish(config.topics['pub'], config.commands['online'])
        manage_seq['RGB']['mqtt_conn'] = True
    except:
        manage_seq['RGB']['mqtt_conn'] = False
        restart_and_reconnect()
    return client
Example #4
0
            webserver.ap_webserver_loop(server_socket)
        webserver.ap_webserver_stop(server_socket)

# ------------------------- SETUP -------------------------------------------------------------------
import umqttsimple
import logfile
from scheduler_light import Scheduler, Job

utime.sleep(1)  # Digesting time, imports.

log = logfile.LogFile("Mainloop", config.log_filename, config.log_sizelimit,
                      config.log_level, config.log_print)

# Establish MQTT client:
mqtt_client = umqttsimple.MQTTClient(config.client_id, config.mqtt_broker,
                                     config.mqtt_port, config.mqtt_user,
                                     config.mqtt_password)


# MQTT callbacks:
def callback_mqtt_subscription(topic, msg):
    """ Callback upon MQTT publication of subscribed topics. """
    log.debug("MQTT message recieved:")
    log.debug('%s,%s' % (topic.decode('utt-8'), msg.decode('utf-8')))


def mqtt_subscriptions():
    """ Subscribe to MQTT topics. """
    log.info("Subscribing to topic 'test'")
    if mqtt_client.subscribe("test") == "Error":
        log.error("Could not subscribe - broker down?")
Example #5
0
import time, math, ujson, network