我正在使用Java RXTX串行端口实现。
方案是,监视设备(传感器组合)正在以文本模式发送其数据,但是当其摄像机中有新图像时,应该以二进制模式发送该图像(这是一个简单的jpeg文件)。
如何在运行时处理此问题?
大多数设备都采用众所周知的协议来发送数据,因此,正在侦听并且知道此协议的任何人都可以解释该数据。最终,他们以帧的形式发送消息(大多数情况下以固定的长度发送),其中包含一些其他信息,例如状态,数据长度,数据类型等。例如:
| 0010 | 0001 | 1101 | 0000 ... 0010 1101 | 0111 |
status type length data CRC
如果是这种情况,则必须与制造商联系以获取协议文档。
如果不是,并且此监视设备一直在发送数据,则可以执行以下操作:
0xFF, 0xD8
则说明您存在JPEG图片,因为这些字节是图像开始(SOI)标记。然后,下一个数据应成为图像的一部分,直到您获得这对字节:0xFF, 0xD9
这是图像结束(EOI)标记。以下示例摘自RXTX官方网站,并且它们都以字节为单位读取数据:
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句