import ujson import machine import device runTask = True class Version: system = 1.0 model = 1.0 class AP: ssid = None pwd = None class Mqtt: host = None port = None clientId = None subTopic = None # 订阅主题 sendTopic = None # 发送主题 class ConnectWifi: ssid = None ip = None class Config: runTask = True id = ''.join('{:02x}'.format(x) for x in machine.unique_id()) model = None version = Version() wifi = {} ap = AP() mqtt = Mqtt() connectWifi = ConnectWifi() mqttStatus = False openAp = False httpServer = False def __init__(self): file = open('config.json', 'r') text = file.read() file.close() config = ujson.loads(text) Config.runTask = True Config.model = device.model Config.version.system = config['version']['system'] Config.version.model = device.version Config.wifi = config['wifi'] Config.ap.ssid = config['ap']['ssid'] Config.ap.pwd = config['ap']['pwd'] Config.mqtt.host = config['mqtt']['host'] Config.mqtt.port = config['mqtt']['port'] Config.mqtt.clientId = config['mqtt']['clientId'] Config.mqtt.subTopic = config['mqtt']['subTopic'] Config.mqtt.sendTopic = config['mqtt']['sendTopic'] print('初始化配置') def toJson(self): return { "id": self.id, "model": self.model, "version": { "system": self.version.system, "model": self.version.model }, "wifi": self.wifi, "ap": { "ssid": self.ap.ssid, "pwd": self.ap.pwd }, "mqtt": { "host": self.mqtt.host, "port": self.mqtt.port, "clientId": self.mqtt.clientId, "subTopic": self.mqtt.subTopic, "sendTopic": self.mqtt.sendTopic }, "connectWifi":{ "ssid": self.connectWifi.ssid, "ip": self.connectWifi.ip }, "mqttStatus": self.mqttStatus, "openAp": self.openAp, "httpServer": self.httpServer, "device": device.status() } conf = Config() def getConfig(): return conf def saveConfig(): """ 保存配置 """ c = getConfig().toJson() del c['connectWifi'] del c['mqttStatus'] del c['openAp'] del c['httpServer'] file = open('config.json', 'w') file.write(ujson.dumps(c)) file.close() print('保存配置') # __initConfig()