• 大小: 27.07MB
    文件类型: .zip
    金币: 2
    下载: 1 次
    发布日期: 2023-08-06
  • 语言: 其他
  • 标签: ESP8266  

资源简介

ESP8266模块开发固件,微信配网,及MQTT服务器连接,订阅的主题为芯片ID,消息可以控制ESP8266的IO口电平

资源截图

代码片段和文件信息


import json
import paho.mqtt.client as mqtt
import threading
from http.server import HTTPServerbaseHTTPRequestHandler

data =‘error‘
httphost = (‘‘ 8008)
mqtthost = ‘‘
mqttport =1883


class MqttClient:
    #global mqtt_flagmqtt_dat
    client = mqtt.Client(‘tester‘)
    def __init__(self host port):
        self._host = host
        self._port = port
        self.client.on_connect = self._on_connect  # 设置连接上服务器回调函数
        self.client.on_message = self._on_message  # 设置接收到服务器消息回调函数

    def connect(self username=‘tester‘ password=‘tester‘):
        self.client.username_pw_set(username password)
        self.client.connect(self._host self._port 60)  # 连接服务器端口为1883维持心跳为60秒

    def publish(self topic data):
        self.client.publish(topic data)

    def loop(self timeout=None):
        thread = threading.Thread(target=self._loop args=(timeout))
        thread.start()

    def _loop(self timeout=None):
        if not timeout:
            self.client.loop_forever()
        else:
            self.client.loop(timeout)

    def _on_connect(self client userdata flags rc):
        if not rc:
            print(“\n连接MQTT服务器成功\n“)
            client.subscribe(“python“)
            
        else:
            print(“\n连接MQTT服务器失败\n“)
        

    def _on_message(self client userdata msg):  # 从服务器接受到消息后回调此函数
        global mqtt_flagmqtt_datmqtt_sub
        mqtt_flag=1
        mqtt_sub = msg.topic
        mqtt_dat = msg.payload
        print(msg.topic+“ “ + “:“ + str(msg.payload))

    def publish_loop(self):
        pass
#///////////

class Resquest(baseHTTPRequestHandler):
    def do_GET(self):
        self.send_response(200)
        self.send_header(‘Content-type‘ ‘application/json‘)
        if self.command==‘GET‘:
            if self.path[1:]==‘open‘:
                print(‘主题:‘+self.headers[‘topic‘])
                print(‘消息:‘+self.headers[‘message‘])
                client.publish(self.headers[‘topic‘]self.headers[‘message‘])
                data=‘get it‘
            else:
                data=‘path error‘
        self.end_headers()
        self.wfile.write(json.dumps(data).encode())

if __name__ == ‘__main__‘:
    mqtthost=input(‘输入MQTT服务器IP地址:‘)
    if mqtthost==‘0‘:
        mqtthost=‘127.0.0.1‘
        mqttport=1883
    else:
        mqttport=input(‘输入MQTT服务器端口:‘)
    port = input(‘输入HTTP服务器端口:‘)
    httphost = (‘‘ int(port))
    client = MqttClient(mqtthost 1883)
    client.connect(‘tester‘‘tester‘)
    client.loop()
    
    server = HTTPServer(httphost Resquest)
    print(“HTTPport:%s%s“ % httphost)
    server.serve_forever()
    
    

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-12-02 00:38  ESP8266开发\
     目录           0  2018-11-30 14:02  ESP8266开发\1.下载工具\
     文件        6148  2017-09-22 19:41  ESP8266开发\1.下载工具\.DS_Store
     文件       16378  2018-11-30 13:56  ESP8266开发\1.下载工具\1.jpg
     文件       79701  2018-11-30 13:59  ESP8266开发\1.下载工具\2.jpg
     文件         259  2017-11-30 15:57  ESP8266开发\1.下载工具\DownloadTool_release_note.txt
     文件    25639609  2017-12-06 20:54  ESP8266开发\1.下载工具\ESPFlashDownloadTool_v3.6.2.2.exe
     目录           0  2018-11-30 00:32  ESP8266开发\1.下载工具\RESOURCE\
     文件      355894  2014-08-08 13:18  ESP8266开发\1.下载工具\RESOURCE\CON_ERROR.bmp
     文件       14390  2014-08-08 13:18  ESP8266开发\1.下载工具\RESOURCE\CON_ERROR_S.bmp
     文件      473654  2016-06-06 17:36  ESP8266开发\1.下载工具\RESOURCE\DEVKEY_ERROR.bmp
     文件       18998  2016-06-06 17:36  ESP8266开发\1.下载工具\RESOURCE\DEVKEY_ERROR_S.bmp
     文件      355894  2014-08-08 13:22  ESP8266开发\1.下载工具\RESOURCE\DOWNLOAD.bmp
     文件       14390  2014-08-08 13:23  ESP8266开发\1.下载工具\RESOURCE\DOWNLOAD_S.bmp
     文件      355894  2016-04-22 01:32  ESP8266开发\1.下载工具\RESOURCE\EFUSE_ERROR.bmp
     文件       14390  2016-04-22 01:34  ESP8266开发\1.下载工具\RESOURCE\EFUSE_ERROR_S.bmp
     文件      355894  2014-08-08 12:37  ESP8266开发\1.下载工具\RESOURCE\ERROR.bmp
     文件       14390  2014-08-08 12:39  ESP8266开发\1.下载工具\RESOURCE\ERROR_S.bmp
     文件      355894  2014-08-08 12:35  ESP8266开发\1.下载工具\RESOURCE\FAIL.bmp
     文件       14390  2014-08-08 12:40  ESP8266开发\1.下载工具\RESOURCE\FAIL_S.bmp
     文件      355894  2014-08-08 13:27  ESP8266开发\1.下载工具\RESOURCE\FINISH.bmp
     文件      355894  2016-04-22 11:42  ESP8266开发\1.下载工具\RESOURCE\FINISH_RESTART.bmp
     文件       14390  2016-04-22 11:43  ESP8266开发\1.下载工具\RESOURCE\FINISH_RESTART_S.bmp
     文件       14390  2014-08-08 13:27  ESP8266开发\1.下载工具\RESOURCE\FINISH_S.bmp
     文件      355894  2014-08-08 12:28  ESP8266开发\1.下载工具\RESOURCE\IDLE.bmp
     文件       14390  2014-08-08 12:40  ESP8266开发\1.下载工具\RESOURCE\IDLE_S.bmp
     文件      355894  2014-08-08 12:38  ESP8266开发\1.下载工具\RESOURCE\STOP.bmp
     文件       14390  2014-08-08 12:39  ESP8266开发\1.下载工具\RESOURCE\STOP_S.bmp
     文件      355894  2014-08-08 13:11  ESP8266开发\1.下载工具\RESOURCE\SYNC.bmp
     文件       14390  2014-08-08 13:11  ESP8266开发\1.下载工具\RESOURCE\SYNC_S.bmp
     文件       25600  2018-07-10 19:37  ESP8266开发\1.下载工具\RESOURCE\Thumbs.db
............此处省略193个文件信息

评论

共有 条评论