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 JackRS232Sub-D
TipRxDPin 2
RingTxDPin 3
SleeveGndPin 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文件。特别是:在任何情况下,作者或版权持有人都不承担任何索赔、损害赔偿或其他责任-->;该轮到您使用通信包装了!在

多亏了

我的工作基于以下两个回购:

如果没有协议描述和握手的初步工作,对我来说会困难得多。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java获取范围内的素数和总素数   JAVAlang.IllegalArgumentException:找不到无效的URL或资源。JavaFX图像   java我可以在vaadin中直接流式处理ZipFile吗?   apache poi java poi HSSFsheet如何添加包含图片的页眉和页脚?   java如何在swing中使用GridLayout使列大小不同?   java为什么JPasswordField中的getText()被弃用?   java整数对象是如何创建的?   java在JAAS的策略文件中授予URL权限   linux Openssl(shell脚本)相当于java解密代码   java是无服务器的,结合事件源是可能的吗?   java JPA双向Uknown列   javajavax。加密。IllegalBlockSizeException:解密加密的AES字符串时最后一个块未完成   java如何知道我的ProcessBuilder start()是否成功执行了这些命令   本地特定错误消息中的java插值   java控件SFX通知异常   java文本输入if语句JavaFX   swing java未连接到水平组   java泛型,迭代器>无法访问内部类函数   java如何跳过当前页并写入下一页?   java一次导入许多静态字符串