Преглед на файлове

添加 'system/v1.4/config.py'

hk преди 3 месеца
родител
ревизия
7fb96a06aa
променени са 1 файла, в които са добавени 107 реда и са изтрити 0 реда
  1. 107 0
      system/v1.4/config.py

+ 107 - 0
system/v1.4/config.py

@@ -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()