Пример #1
0
def initialise(settings=configuration.mqtt.settings):
    global client, keepalive, topic_path

    client_id = get_unique_id()
    keepalive = settings["keepalive"]
    topic_path = settings["topic_path"]
    if topic_path == "$me": topic_path = get_topic_path(namespace)

    client = MQTTClient(client_id,
                        settings["host"],
                        settings["port"],
                        keepalive=keepalive)

    client.set_callback(on_message)
    client.set_last_will(topic_path + "/state", "nil")
    client.connect()  # TODO: Catch exception

    event.add_timer_handler(mqtt_ping_handler, keepalive * 1000)

    if settings["mqtt_insecure_exec"]:
        add_message_handler(on_exec_message, "$me/exec")

    for topic in settings["topic_subscribe"]:
        if topic.startswith("$all/"): topic = "+/+/+" + topic[4:]
        if topic.startswith("$me/"): topic = topic_path + topic[3:]
        client.subscribe(topic)

    print("  ###### MQTT: Connected to %s: %s" %
          (settings["host"], topic_path))
Пример #2
0
def initialise():
    for pin_number in pin_numbers:
        pin = Pin(pin_number, Pin.IN, Pin.PULL_UP)
        pin.irq(lambda p: handle_pin_change(p),
                trigger=Pin.IRQ_RISING | Pin.IRQ_FALLING)
        pins.append(pin)

    event.add_timer_handler(handle_pins_active, 50)  # 20 Hz
    event.add_timer_handler(handle_blink_led, 500)
Пример #3
0
def initialise():
    global schedule, menu

    schedule = configuration.schedule.settings
    oled.oleds_clear(oled.BG)
    event.add_timer_handler(titlebar, 5000)
    prefix = configuration.schedule.settings['topicprefix']

    for topic in configuration.schedule.settings['topics']:
        mqtt.add_message_handler(on_schedule_message, prefix + topic)
Пример #4
0
def run(period=50):
    oled.oleds_clear(0)

    new_eyes()
    display_eyes()

    event.add_timer_handler(timer_handler, period)
    try:
        event.loop()
    finally:
        event.remove_timer_handler(timer_handler)
Пример #5
0
def run(period=50):
    oled.title = "Snake 0.0"
    oled.oleds_clear(0)
    snake_new()
    display_snake()

    event.add_timer_handler(timer_handler, period)
    try:
        event.loop()
    finally:
        event.remove_timer_handler(timer_handler)
Пример #6
0
def initialise():
  event.add_timer_handler(net_led_handler, 100)
  Thread(target=net_thread).start()

  parameter = configuration.main.parameter
  if parameter("services_enabled"):
    import aiko.services as services
    services.initialise()
  else:
    import aiko.mqtt
    aiko.mqtt.initialise()
Пример #7
0
def initialise():
# set_handler(pattern_0)
  set_handler(pattern_1)
  event.add_timer_handler(handler, 100)
Пример #8
0
def initialise():
  event.add_timer_handler(handle_pins_input, 50)  # 20 Hz
  mqtt.add_message_handler(on_nodebots_message, "$me/in")
Пример #9
0
def initialise():
    event.add_timer_handler(net_led_handler, 100)
    net_thread = Thread(target=net_manager)
    net_thread.start()
Пример #10
0
def run(handler=snoot_boop_handler, period=100):
    event.add_timer_handler(handler, period)
    try:
        event.loop()
    finally:
        event.remove_timer_handler(handler)
Пример #11
0
parameter = configuration.main.parameter

try:
  file = open("repl")
  file.close()
  raise Exception("Exit to repl")
except OSError:
  pass

import gc
def gc_event():
  gc.collect()
  print("  ###### GC:", gc.mem_free(), gc.mem_alloc())

if parameter("gc_enabled"):                                   # GC: 86368  9632
  event.add_timer_handler(gc_event, 60000)

import aiko.led as led                                        # GC: 79696 16304
led.initialise()

if parameter("oled_enabled"):                                 # GC: 73088 22912
  import aiko.oled as oled
  oled.initialise()

import aiko.net as net                                        # GC: 54304 41696
net.initialise()

if parameter("application"):
  application_name = parameter("application")
  application = __import__(application_name)
  application.initialise()
Пример #12
0
def initialise(poll_rate=200):  # 5 Hz
    event.add_timer_handler(button_handler, poll_rate)
Пример #13
0
def initialise():
    event.add_timer_handler(handler, 100)
Пример #14
0
def run(handler=hall_sensor_handler, period=100):
    event.add_timer_handler(handler, period)
    try:
        event.loop()
    finally:
        event.remove_timer_handler(handler)
Пример #15
0
def initialise():
    event.add_timer_handler(swagbadge_handler, 5000)
Пример #16
0
def initialise():
    event.add_timer_handler(handle_leds, step_speed)
    mqtt.add_message_handler(on_audrey_message, "$me/in")