|
|
@@ -0,0 +1,107 @@
|
|
|
+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()
|