我是靠谱客的博主 失眠纸飞机,最近开发中收集的这篇文章主要介绍记录简单使用QT、socket做一个供使用at指令的esp8266连接显示界面,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、环境

python3.X、PYQT5、

二、界面

1.简陋版本
在这里插入图片描述
使用说明:
本简陋版只能上传数据显示,且需要自己ipconfig一下查看本机ip地址
链接:
链接:https://pan.baidu.com/s/1ma72glNQORgRjlvr2hrhkg
提取码:cyrn

2.升级版本

在这里插入图片描述
说明:
1.请不要频繁连接,
2.请不要随意删除txt文件

三、简陋代码附录

import socket
from threading import Thread
import sys
from PyQt5.QtCore import Qt,  QBasicTimer
from PyQt5.QtWidgets import QWidget, QApplication, QGridLayout, QLabel

SocketHost='0.0.0.0'
SocketPort=1234

class Connect():
    getdatae=''
    g_conn_pool = {}  # 连接池
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)  # 定义socket类型,网络通信,TCP
    s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
    s.bind((SocketHost, SocketPort))  # 套接字绑定的IP与端口
    s.listen(10)  # 开始TCP监听,监听1个请求
    print("socket start!")
    def accept_client(self):
        while True:
            client, info = Connect.s.accept()  # 阻塞,等待客户端连接
            # 给每个客户端创建一个独立的线程进行管理
            thread = Thread(target=Connect.recive, args=(self, client, info))
            # 设置成守护线程
            thread.setDaemon(True)
            thread.start()
    def recive(self, client, info):
        # conn,addr=client.accept()   #接受TCP连接,并返回新的套接字与IP地址
        print('Connectedby by ', info)  # 输出客户端的IP地址
        quitip = info
        while 1:
            try:
                data = client.recv(2048)  # 把接收的数据实例化
                print(data)
                data = data.decode('utf-8')
                #data = eval(data)
                txt_file = open("./data.txt", "w", encoding="utf-8")  # 以写的格式打开先打开文件
                txt_file.write(data)
                txt_file.close()
                print(eval(data))
            except Exception as e:
                print(e)
                print("quit")
                print(quitip)
                client.close()
                break


class Example(QWidget):

    def __init__(self):
        super().__init__()
        self.timer =QBasicTimer()
        self.timer.start(1000, self)
        self.initUI()


    def initUI(self):

        grid = QGridLayout()
        grid.setSpacing(10)
        b='鼠标移动至此'
        self.text = b
        self.label = QLabel(self.text, self)
        self.label.setGeometry(50, 50, 300, 200)
        self.label.setWordWrap(True)
        self.setStyleSheet("QLabel{color:rgb(225,22,173,255);font-size:50px;font-weight:normal;font-family:Arial;}")

        grid.addWidget(self.label, 0, 0, Qt.AlignTop)
        self.setMouseTracking(True)
        self.setLayout(grid)
        self.setGeometry(300, 300, 350, 200)
        self.setWindowTitle('Event object')
        self.show()

    def timerEvent(self, event):
        #print("timer running!")
        txt_file = open("./data.txt", "r", encoding="utf-8")  # 先打开文件
        contents = txt_file.readlines()
        txt_file.close()
        text2 = str(contents)
        self.label.setText(text2)

def connet():

    c=Connect()
    thread = Thread(target=c.accept_client)
    thread.setDaemon(True)
    thread.start()
    return c

if __name__ == '__main__':
    c=connet()
    alid = QApplication(sys.argv)
    ex = Example()
    sys.exit(alid.exec_())

最后

以上就是失眠纸飞机为你收集整理的记录简单使用QT、socket做一个供使用at指令的esp8266连接显示界面的全部内容,希望文章能够帮你解决记录简单使用QT、socket做一个供使用at指令的esp8266连接显示界面所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(60)

评论列表共有 0 条评论

立即
投稿
返回
顶部