题目:实现一个简易的传感器数据采集系统,完成以下功能:
- 数据采集客户端。能够随机产生等模拟数据(如:温度、湿度),并发送到服务器端。
- 数据采集服务器,接收多个客户端的数据并进行展示。
- 通讯协议设计,包括:心跳协议、数据上报、客户端上线、下线等。
要求:
- 必须有图形界面
- 通信协议必须完整实现
- GUI界面可以采用(PyQt、Electron、Java Swing等)
一. 采集端代码:
import sys from PyQt5.QtWidgets import QApplication, QMainWindow, QListWidget, QVBoxLayout, QLineEdit, QPushButton, QWidget from PyQt5.QtCore import QTimer, QThread, pyqtSignal import socket import random import time # 定义一个客户端线程类,用于发送数据到服务器 class ClientThread(QThread): update_signal = pyqtSignal(str) # 定义一个信号,用于更新UI def __init__(self, username, host, port): super().__init__() self.username = username # 用户名 self.host = host # 服务器地址 self.port = port # 服务器端口 self.running = True # 线程运行状态 def run(self): # 创建socket连接 with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: s.connect((self.host, self.port)) # 连接服务器 while self.running: temperature = random.uniform(20, 30) # 生成随机温度 humidity = random.uniform(40,

最低0.47元/天 解锁文章
8155

被折叠的 条评论
为什么被折叠?



