Python用于sockets传感器gui系统
我对socket编程和软件架构不熟悉 我的系统必须是:在我的笔记本电脑中使用python的GUI。有许多嵌入式系统具有相同的传感器(GPS、温度、压力…)。每次选择嵌入式系统时,我的程序都需要与之建立连接,我需要在GUI中显示其GPS位置和传感器的实时反馈(现在GUI不是问题,我可以使用Kivy或Tkinter) 这就是它的工作原理:Python用于sockets传感器gui系统,python,sockets,architecture,gps,sensors,Python,Sockets,Architecture,Gps,Sensors,我对socket编程和软件架构不熟悉 我的系统必须是:在我的笔记本电脑中使用python的GUI。有许多嵌入式系统具有相同的传感器(GPS、温度、压力…)。每次选择嵌入式系统时,我的程序都需要与之建立连接,我需要在GUI中显示其GPS位置和传感器的实时反馈(现在GUI不是问题,我可以使用Kivy或Tkinter) 这就是它的工作原理: 在GUI中,有一个字段用于输入嵌入式系统的ID,还有一个按钮用于尝试与之连接 单击按钮时,程序将建立连接,并连续实时显示GPS、温度和压力,直到连接断开 我正
- 在GUI中,有一个字段用于输入嵌入式系统的ID,还有一个按钮用于尝试与之连接
- 单击按钮时,程序将建立连接,并连续实时显示GPS、温度和压力,直到连接断开
- 处理GUI的线程
- 每次单击按钮并找到嵌入式系统时,我创建的类的一个对象都会被实例化
- 该类具有以下属性:
- 列出GPS(用于存储GPS源)
- 列表温度(用于存储温度进给)
- 列表压力
- thread_套接字(在线程中创建套接字作为嵌入式系统的客户端。因此,每次实例化类的对象时,都会创建一个单独的套接字)
- 该类具有以下方法:
- Get_Gps():每次调用此方法时,Gps列表属性都会更新
- 获取温度()/压力()
- Stop():调用此方法时,嵌入式系统需要关闭
- 您觉得这种架构合适吗
- 在列表中接收实时提要是否正确?例如gps
- 每次我找到一个系统,我都实例化一个对象来保持干净,这是一个好方法吗
- 您是否看到任何问题或改进
提前谢谢你,我认为你的方法大体上是好的 但是,您应该记住以下几点: 在设计软件时,应首先确定所涉及的不同任务,并为每个任务定义单独的功能单元。这就是我们的概念 我还建议阅读一些关于模式的内容:在您的情况下,模型将是您的类,包含度量和业务逻辑的数据结构(例如,在连接停止之前,每秒轮询一次源数据)。视图和控制器可能都位于GUI()中 GUI不一定是一个显式线程,但许多框架使用基于事件的概念,允许您为给定的用户交互定义应用程序的行为 为什么您实际上需要测量列表?是否有要求在一定时间内保存测量的历史记录?这是一个不断增长的列表,还是一个滚动列表(例如,在GUI中显示最后n秒/分钟的测量)?使用每个新连接启动一个新的类实例似乎有点矛盾,因为当您停止连接并终止实例时,显然会丢失内容 希望这能给你一些关于如何从那里开始的想法