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))
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)
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)
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)
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)
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()
def initialise(): # set_handler(pattern_0) set_handler(pattern_1) event.add_timer_handler(handler, 100)
def initialise(): event.add_timer_handler(handle_pins_input, 50) # 20 Hz mqtt.add_message_handler(on_nodebots_message, "$me/in")
def initialise(): event.add_timer_handler(net_led_handler, 100) net_thread = Thread(target=net_manager) net_thread.start()
def run(handler=snoot_boop_handler, period=100): event.add_timer_handler(handler, period) try: event.loop() finally: event.remove_timer_handler(handler)
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()
def initialise(poll_rate=200): # 5 Hz event.add_timer_handler(button_handler, poll_rate)
def initialise(): event.add_timer_handler(handler, 100)
def run(handler=hall_sensor_handler, period=100): event.add_timer_handler(handler, period) try: event.loop() finally: event.remove_timer_handler(handler)
def initialise(): event.add_timer_handler(swagbadge_handler, 5000)
def initialise(): event.add_timer_handler(handle_leds, step_speed) mqtt.add_message_handler(on_audrey_message, "$me/in")