我正在使用java RXTX串口实现
情景是监视设备(传感器的组合)正在以文本模式发送其数据,但是当其相机有新图像时,它应该以二进制模式发送该图像(这是一个简单的jpeg文件)。
如何在运行时处理此问题?
答案 0 :(得分:1)
大多数设备都实现了众所周知的协议来发送数据,因此无论谁正在监听并知道该协议,都可以解释这些数据。它们通常以帧(大多数时间具有固定长度)发送它,它具有一些额外的信息,例如状态,数据长度,数据类型等。例如:
| 0010 | 0001 | 1101 | 0000 ... 0010 1101 | 0111 |
status type length data CRC
如果是这种情况,您必须联系制造商以获取协议文档。
如果不是,并且此监控设备始终在发送数据,那么您可以执行此操作:
0xFF, 0xD8
,那么您将出现JPEG图片,因为这些字节是图像起始(SOI)标记。然后下一个数据应该是图像的一部分,直到你得到这对字节:0xFF, 0xD9
这是图像的结束(EOI)标记。以下示例来自官方RXTX站点,它们都以字节读取数据: