我正在尝试构建一个可以通过网络或手动控制进行控制的温度控制模块。我的程序的各个部分都可以工作,但我无法弄清楚如何使它们一起工作。我的温度控制模块是python,客户端是C#。我应该为我的项目使用线程多处理还是asycio?
至于物理组件去了我有一个键盘,设置温度和打开和关闭加热器和一个液晶屏幕,显示温度数据,当然还有一个温度传感器。我需要: 不断发送温度数据到客户端。 将日志文件列表发送给客户端。 等待来自客户端的提示,以设置所需的温度或向客户端发送日志文件。
到目前为止,所有硬件都正常工作,网络功能的每个单独部分都可以工作,但不能在一起工作。我还没有尝试过使用物理和网络组件。
我一直在尝试为此使用线程,但想知道如果我应该使用别的东西?
编辑: 这里是背后究竟我想要做的基本逻辑:
硬件:
键盘需要花费数输入,直到“*”它会设置一个临时变量。
将温度变量与传感器数据进行比较,并相应地打开或关闭加热器。
“#”接通加热器的并设置临时变量为0。
传感器数据被写入到日志文件而临时变量不为0
网络:
在客户端连接客户端发送日志文件列表
温度传感器数据不断发送到客户端。
提示处理程序侦听提示。
如果客户端请求日志文件,温度数据被暂停,并且文件发送之后温度数据被恢复。
客户端可以发送命令到提示处理程序来设置的临时变量来触发加热器
客户端可以发送命令到提示处理程序,以停止所述加热器,并设置临时变量为0
命令从键盘或客户端应始终工作。
感谢您的意见。 – drako234
@ drako234也许你可以写一些伪代码或者绘制你的子系统图,然后我可以试试我可以分配给不同任务的线程。这是一个“魔鬼在细节”问题,所以我认为一个很好的方法来处理它是你的个人组件框架的框图,所有需要一起工作 – Aaron
是否足够的编辑? – drako234