def set_nickname(): rgb.clear() uinterface.skippabletext('Set nickname:') new_name = uinterface.text_input() if new_name is not None and new_name != '': machine.nvs_setstr('badge', 'nickname', new_name) system.start('nickname')
rgb.framerate(20) rgb.setfont(rgb.FONT_7x5) uinterface.skippabletext(message) def ap_requires_password(ap_type): return "OPEN" != ap_type ap_list = scan_access_point_list() ssids = [ap[0] for ap in ap_list] prompt_message("Select network") choice = uinterface.menu(ssids) if not (choice is None): chosen_ssid, chosen_ap_type = ap_list[choice] pw_required = ap_requires_password(chosen_ap_type) if pw_required: prompt_message("Enter password") chosen_pass = uinterface.text_input() if pw_required else '' if not pw_required or chosen_pass: # For OTA nvs = esp32.NVS("system") nvs.set_blob("wifi.ssid", chosen_ssid) nvs.set_blob("wifi.password", chosen_pass) nvs.commit() # For apps valuestore.save("system", "wifi.ssid", chosen_ssid) valuestore.save("system", "wifi.password", chosen_pass) system.reboot()
def mqtt_cb(topic, msg): print("New MQTT msg") rgb.clear() uinterface.skippabletext(msg) uinterface.connect_wifi() import valuestore settings = valuestore.load('mqttclient', 'settings') if settings is None: settings = {"client_id": "badge"} if "mqtt_server" not in settings: uinterface.skippabletext("Specify MQTT host") settings["mqtt_server"] = uinterface.text_input( "abcdefghijklmnopqrstuvwxzy.0123456789") valuestore.save('mqttclient', 'settings', settings) client_id = settings['client_id'] try: mqttc = MQTTClient(client_id, settings["mqtt_server"]) mqttc.set_callback(mqtt_cb) mqttc.connect() except: # Maybe wrong hostname del settings["mqtt_server"] valuestore.save('mqttclient', 'settings', settings) # Might be something different, rethrow to restart... raise #status = client_id + "/status"
def set_slider_time(): uinterface.skippabletext('Set seconds to show each app') seconds = uinterface.text_input(uinterface.NUMERIC_CHARSET) if seconds is not None and seconds != '': store.save('slider', 'time', int(seconds))