我正在努力理解DLP 3d打印机中的神秘协议。树莓派正在通过串行总线与电机/ LED控制器通信。该设备似乎是专有的,但我猜它使用某种开放标准(例如GCode)。这可能有助于了解该设备可能是在中国制造和编程的。不知道是否有这个因素,但是我可能缺少一些编程文化的东西。我试图弄清楚如何通过串行端口控制此马达/ LED控制板,以便使用拦截功能捕获数据。
这似乎是从pi发送到神秘设备的空闲状态。
55 55 55 55 55 00 08 00 00 00 00 00 00 00 00 00 00 00 00 00 08 aa aa aa aa
这往往是神秘设备认可的方式
55 55 55 55 00 03 00 00 00 00 00 00 00 00 00 00 00 00 01 01 04 aa aa aa aa 55 55 55 55 00 03 00 00 00 00 00 00 00 00 00 00 00 00 01 04 aa aa aa aa
这似乎总是在经过神秘设备的确认后才表明处于空闲状态。 55 55 55 55 00 03 00 00 00 00 00 00 00 00 00 00 00 00 55 58 aa aa aa aa
这是开始打印的命令。因此,这开始移动电动机。
55 55 55 55 00 03 e8 03 00 00 40 0d 03 00 01 00 00 00 00 3f aa aa aa aa
55555555和aaaaaaaa均为01010101,以二进制形式提供。它们似乎是清除com异步串行传输的方法。看起来确实像我看到的沟通水平非常低下。好像我将逻辑分析仪连接到电路上一样。
每个清除/同步步骤之间有16个十六进制字节。我不确定是否只是看到非常低级的通信,或者这16个字节是否包含任何给定命令中的所有数据,数据以及校验字节或其他内容。
最后,我看到很多重复。这使我认为这不是Gcode,而是pi在每个周期发送命令,并且从属/神秘设备尽快更新。
例如,下面的输出在开始打印后重复1145次以上。这就是当电动机完全落入桶中并且LED长时间保持点亮状态时。 >表示已接收的传输<表示pi的传出传输。
> 55 55 55 55 00 03 00 00 00 00 | UUUU
> 00 00 00 00 00 00 00 00 01 04 |
> aa aa aa aa 55 55 55 55 00 03 | UUUU
> 00 00 00 00 00 00 00 00 00 00 |
> 00 00 01 04 aa aa aa aa |
< 55 55 55 55 00 03 20 03 00 00 | UUUU
< 78 5d 02 00 00 00 00 00 00 fd | x]
< aa aa aa aa |
我希望得到一些指导。这些十六进制似乎都不能很好地转换为ascii或utf。我不认为它传递了整数或字符。也许是按位倒退?我不确定。我在制作正面或反面时遇到很多麻烦。
UUUU和aaaa处于什么级别?似乎您会在逻辑分析仪上看到某些东西,而不是通过驱动程序。
无论如何,任何方向将不胜感激。