【发布时间】:2011-10-31 08:11:15
【问题描述】:
我目前正在使用 Twisted 为 Arduino 类型设备开发控制系统,并且有一点设计问题
这是目前的情况:(提前抱歉,可能有点长)
- 为了处理不同类型的设备(每个都有不同的固件和通信协议),我设计了一个“驱动程序”系统:
- 每个驱动程序由以下组成:
- “硬件处理程序类”:对 Twsited 的 serial 类的封装,并添加了一些辅助方法
- 自定义串行协议
- 每个驱动程序由以下组成:
2- 在为 Reprap 3d 打印机(也基于 arduino,也使用串行连接)实现驱动程序时,使用相当特定的协议(即 enqueue 点、set 温度等),我开始怀疑我是否将处理这些功能的方法(每个都有特定的命令)放在正确的位置..
这一切都引出了我的问题:
就扭曲协议而言,我不太确定良好实践,但查看了其中不少的文档/代码后,似乎它们的方法相对较少
- 总是这样吗?协议是否应该仅用于非常低级的功能以及输入/输出格式和通信?
- 我要管理的某些设备具有非常明确定义的协议(Makerbot 等),我是否应该将一般协议规范视为与我正在创建的实际 Twisted 协议类不同的东西?
非常欢迎任何建议、提示和指点! 提前致谢。
【问题讨论】:
标签: python protocols twisted complexity-theory