Browse Source

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

hk 3 tháng trước cách đây
mục cha
commit
ccf81a74d4
1 tập tin đã thay đổi với 97 bổ sung0 xóa
  1. 97 0
      system/v1.4/httpServer.py

+ 97 - 0
system/v1.4/httpServer.py

@@ -0,0 +1,97 @@
+
+# web服务
+from microdot import Microdot
+import machine
+from config import getConfig,saveConfig
+import utils
+import _thread
+app = Microdot()
+@app.before_request
+
+# 请求时暂停主循环检查任务
+def before_request():
+    getConfig().runTask = False
+
+@app.after_request
+def after_request():
+    getConfig().runTask = True
+
+@app.route('/ping')
+async def ping(req):
+    return 'esp'
+
+@app.post('/addWifi')
+async def addWifi(req):
+    wifiName = req.form.get('wifiName')
+    wifiPwd = req.form.get('wifiPwd')
+    getConfig().wifi[wifiName] = wifiPwd
+    saveConfig()
+    return '1'
+
+@app.post('/rmWifi')
+async def rmWifi(req):
+    wifiName = req.form.get('wifiName')
+    try:
+        del getConfig().wifi[wifiName]
+    except:
+        print('')
+    saveConfig()
+    return '1'
+
+@app.post('/connectWifi')
+async def connectWifi(req):
+    ssid = req.form.get('wifiName')
+    pwd = req.form.get('wifiPwd')
+    if utils.connectWifi(ssid, pwd):
+        getConfig().wifi[ssid] = pwd
+        saveConfig()
+        getConfig().runTask = True
+        return '1'
+    return '2'
+
+@app.post('/updateAp')
+async def updateAp(req):
+    apName = req.form.get('apName')
+    apPwd = req.form.get('apPwd')
+    getConfig().ap.ssid = apName
+    getConfig().ap.pwd = apPwd
+    saveConfig()
+    return '1'
+
+@app.get('/scanWifi')
+async def scanWifi(request):
+    return utils.scanWifi()
+
+@app.get('/getInfo')
+async def index(request):
+    return getConfig().toJson()
+
+@app.get('/disconnectWifi')
+async def disconnectWifi(request):
+    utils.disconnectWifi()
+
+@app.route('/restart')
+def index(req):
+    machine.reset()
+
+@app.post('/bind')
+async def index(req):
+    uid = req.form.get('uid')
+    getConfig().mqtt.clientId = uid
+    saveConfig()
+    getConfig().mqttStatus = False
+    return '1'
+
+def openHttpServer():
+    if not getConfig().httpServer:
+        getConfig().httpServer = True
+        app.run(host='0.0.0.0', port=80, debug=True)
+def startHttpServer():
+    if not getConfig().httpServer:
+        _thread.start_new_thread(openHttpServer, ())
+
+def closeHttpServer():
+    if getConfig().httpServer:
+        getConfig().httpServer = False
+        app.shutdown()
+        print('http server 关闭')