MK312通信包装。
mk312的Python项目详细描述
MK312通信包装器
简介
这是MK-312BT Estim Box的通信包装。它使用pyserial
进行RS232通信。小学我写它是为了我自己的目的。它应该是远程控制工具的基础,也是restapi的抽象层。
如果你想做一个测试,那就太好了:)如果有什么问题,我很乐意听到你的意见。在
固件
我用来自:https://github.com/buttshock/mk312-bt/tree/master/firmware/Custom%20Boot%20Message%20f005-MK312-BT的固件测试示例。
请注意,我的保险丝有些问题。因此,我使用了:L: 0xFF / H: 0xD9
,这对我来说非常有效。在
连接
与MK-312设备的通信通过RS232接口工作。我不喜欢电话插孔,因为你可以在插入接口电缆的同时缩短连接器。所以我建议在设备关机的情况下进行连接。也许有人会在未来的硬件版本中给主板一个sub-d连接器。或者更好的是一个真正的以太网连接与一个套接字通信:)
Phone Jack | RS232 | Sub-D |
---|---|---|
Tip | RxD | Pin 2 |
Ring | TxD | Pin 3 |
Sleeve | Gnd | Pin 5 |
电话插孔的焊接有点棘手。也许这就是有线电视价格高的原因。。。在
设置
RS232接口使用8字节/无奇偶校验/1停止位,波特率为19200。 实际上,通信包装器使用的是19200。如果你设置了必要的UART寄存器,你可以自己切换波特率。除了19200年,我没有用其他波特率进行测试。在
示例
请检查示例目录。我写了一些基本的测试。在
握手
我在握手时遇到了一些问题,但实际上没有解决。因此,请按以下方式进行沟通:
et312=mk312.MK312CommunicationWrapper()et312.handshake()# Do the stuff you like to do with your box# ...# ...# Reset key and close the interfaceet312.resetkey()et312.closeserialport()
如果在重置密钥之前脚本中断,则重新连接时会出现问题。也许有人在解决这个问题,或者可以帮我解决这个问题。在
当没有任何帮助的时候,你可以关掉这个盒子,然后再打开它。由于电容量大,AVR的RAM缓冲时间很长,所以需要一些时间等待,直到可以重新连接。我的MK-312没有电池,所以只能切断电源。一个更好的方法是,如果把盒子关了,就把电容器卸下来……这还需要重新设计硬件。在
测井
出于调试的原因,我设计了一个包装器,他说了很多话。如果您不喜欢使用自己的记录器,请将日志级别更改为info。包装器的记录器正在调试级别上进行对话。在
许可证
请阅读LICENSE
文件。特别是:在任何情况下,作者或版权持有人都不承担任何索赔、损害赔偿或其他责任-->;该轮到您使用通信包装了!在
多亏了
我的工作基于以下两个回购:
如果没有协议描述和握手的初步工作,对我来说会困难得多。在
- 项目
标签: