We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
原本想研究一下蓝牙的,但是开发起来有点困难,于是开始着手于USB协议的研究。最新版的喵喵机P2配合原版软件安装驱动后已经能够被Windows识别成打印机了,可以在Office等软件中使用。在对原版软件抓包的过程中发现USB BULK的数据包和项目中喵喵机所用的蓝牙协议有类似的地方。详情如下: 喵喵机P2在USB中ID为:4348:5584,写打印的Endpoint地址是0x02。数据Payload如下:
0000 02 00 e0 40 02 ff ff ff ff ff ff ff ff ff ff ff 0010 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0020 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0030 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0040 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0050 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0060 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0070 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0080 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0090 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 00a0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 00b0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 00c0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 00d0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 00e0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 00f0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0100 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0110 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0120 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0130 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0140 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0150 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0160 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0170 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0180 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0190 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 01a0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 01b0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 01c0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 01d0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 01e0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 01f0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0200 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0210 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0220 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0230 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0240 ff ff ff ff ff 7a 52 58 6a 03
其中首字节是0x02。随后一个字节的控制命令:打印是0x00,查询设备信息是0x1a,设备响应是0x0a。之后一个字节是包的序列号。 之后两个字节是payload长度,如上例是0x0240,十进制576。接着是4字节CRC32校验码,但是目前上不明确是怎么算得。抓包发现payload序列在变化,而CRC却没有变,由此可以确定起点应该在第三个字节之后,但是通过各种尝试并没有算出与原文相符的值。 最后一个字节就是0x03。
上面的内容与项目中所说的喵喵机蓝牙协议极为相似,几乎是完全相同。
这里想请教一下CRC32的验证是怎么出来的,我感觉应该就是单纯的payload,就是一堆ff,但是算出来不对,加上面前两个字节的长度也不对。
PS:以前没抓过USB包,这算是现学现买,说的可能有错,还请多指教。
The text was updated successfully, but these errors were encountered:
+1 我也算了下,没算出来这个。 可能key改了?你可以逆一下驱动试试。我的这个代码是17年夏天写的了
Sorry, something went wrong.
我试了下之前的代码,把蓝牙连接部分改成串口,可以打印出一条黑线。但是打印图片和文字都不 ok
搞定了通讯的部分。但图片打印出来都是花的。不确定是不是因为 P2 的分辨率和之前的喵喵机不一样
我幸运的找到了一篇文章,详细介绍P1和P2用USB打印的原理,末尾也有他的Github链接。
No branches or pull requests
原本想研究一下蓝牙的,但是开发起来有点困难,于是开始着手于USB协议的研究。最新版的喵喵机P2配合原版软件安装驱动后已经能够被Windows识别成打印机了,可以在Office等软件中使用。在对原版软件抓包的过程中发现USB BULK的数据包和项目中喵喵机所用的蓝牙协议有类似的地方。详情如下:
喵喵机P2在USB中ID为:4348:5584,写打印的Endpoint地址是0x02。数据Payload如下:
其中首字节是0x02。随后一个字节的控制命令:打印是0x00,查询设备信息是0x1a,设备响应是0x0a。之后一个字节是包的序列号。
之后两个字节是payload长度,如上例是0x0240,十进制576。接着是4字节CRC32校验码,但是目前上不明确是怎么算得。抓包发现payload序列在变化,而CRC却没有变,由此可以确定起点应该在第三个字节之后,但是通过各种尝试并没有算出与原文相符的值。
最后一个字节就是0x03。
上面的内容与项目中所说的喵喵机蓝牙协议极为相似,几乎是完全相同。
这里想请教一下CRC32的验证是怎么出来的,我感觉应该就是单纯的payload,就是一堆ff,但是算出来不对,加上面前两个字节的长度也不对。
PS:以前没抓过USB包,这算是现学现买,说的可能有错,还请多指教。
The text was updated successfully, but these errors were encountered: