我的问题的简短版本:
如何设计一个可以侦听和响应通过HTTP或串行端口接收的输入的Python脚本,还可以通过这些通道自行启动通信?我的问题是我不明白如何设计单个脚本(i)使用Web框架在某些端口上侦听HTTP输入,以及(ii)还做其他与传入HTTP请求无关的工作。
长版: 我想使用Python来设计一个执行以下操作的系统:
我的问题是我看到的所有Web框架的使用示例似乎都假设所有促成事件都是通过HTTP请求发生的。我可以创建一个Bottle对象,并使用装饰器将代码绑定到该对象,只要它看到与某个指定URL路径匹配的HTTP请求,就会执行该对象。但我不知道如何做同样的事情,同时做其他独立于HTTP事件的工作,例如,听取串口。
经过多次努力之后,我现在正在考虑的潜在解决方案是:
答案 0 :(得分:0)
您似乎正在尝试编写异步应用程序来通过HTTP管理节点网络。您希望在多个频道发生时响应传入通信,您希望按计划,多个频道启动通信,并且您希望这两种形式的通信进行交互。所有这些通信都是外部世界很慢的,所以如果你不需要,你也不应该阻止它。
如果将代码组织成几个Python模块,按照它们关注的区域 - 串行接口代码,HTTP接口代码,通用处理代码路径等进行组合,那么维护系统可能是最容易的。将这些组件组合在一起一个中央控制模块,可以导入您的库,并知道如何干净地启动和停止。然后,您可以独立于Web界面测试串行接口,并可能在其他项目中重用其中一些Python模块。