通过串行通信java发送数据包

我正在编写一个通过串行端口与外部设备通信的Java应用程序。

我想我可以连接到设备并发送/接收数据好了(我现在无法访问设备……我正在使用模拟器)

我只是需要一些关于如何格式化我发送的数据的建议。

规范说它应该以字节格式发送。所以,如果我有类似下面的数据包发送

AA | 0D | 07 | 09 | 0A | 0B | 03 | 01 | 02 | 03 | 04 | CSM | CSM

这是我应该做的事情

outputStream.write((byte)0xAA); outputStream.write((byte)0x0D); outputStream.write((byte)0x07); 

…或者我离开了?

我很抱歉,如果这是非常基本的..我以前从未处理过任何此类型的东西,我将不会在设备上接触几天。

您应该查看“串行线路IP”(SLIP)并发送不同的数据包类型而不是IP看看SLIPMUX,后者只是SLIP的向后兼容扩展。

看到:

  • 单据: https : //tools.ietf.org/html/rfc1055
  • SlipMux: https ://tools.ietf.org/html/draft-bormann-t2trg-slipmux-00

两者都很容易实现。 即使它不是Java我喜欢链接我最近写的一个实现: https : //github.com/Lobaro/slip

希望能帮助到你。