位移,帧,通信协议文档(比如socket发送的不是字符串而且一种协议类似于{0*00,0*01,0*05等})包括头,参数,长度,效验方式等,不知道这种文档怎么发送报文?
有老司机的话贴文档,望瞧一瞧!!!会C 语言的话应该看的懂
比如,61 01 04 4567 xx 60这一帧数据,61是包头,60是包尾,xx是校验位,01是设备地址,等等,根据协议它里面有对应的解释。
就拿上面这一帧数据来说,基本都是16进制,而且都是最少一个字节存在的,比如61代表包头,就是一个字节,4567数据位就是两个字接,当然是分高低位的。具体看协议是怎摸说的,
发送的时候可以是“61 01 04 4567 xx 60”这样啊方便拼包,最后转换成16进制就行了。在接受数据的时候在把他们转换成字符串,编译数据解析处理。
协议是软件定义的,你不说你想要的是哪种协议也不知道你需要的是啥
串口不像网络有特定的通用协议例如TCP/UDP等等,
串口实际上就是明文,常见的协议也都是基于明文的如AT协议等等,
也就是说串口的数据得看你用的是啥软件....
TCP/IP或者UDP通讯协议的很简单呀,数据帧你就理解成一个byte类型的数组就好了。每一个数组元素就是一个字节,数组下标就是数据帧地址。至于内容,根据你拿到的文档规定的协议生成或者解析就OK了
至于具体的通讯过程你去找例程就好了,基本就是监听、建立连接、握手、接收(发送)数据,断开连接。或者如果长连接就是按照预定的周期(几秒钟或者几分钟)发送一个心跳包就OK了。IoT的应用中大量这种通讯很灵活,就是注意多线程的问题和资源释放的问题,连接使用过之后必须及时断开并释放资源。不然很容易挂掉你的设备或者服务器的。
http://blog.csdn.net/ryantang03/article/details/8274517
串口通信的话,具体的串口通信协议内容你不用关心那么基础的配置和内容吧,先配置好串口的通信波特率,然后发送数据时直接将自己的数据填入发送buffer,至于自己双方的通信协议的话通常帧头,帧尾校验和一加应该就差不多了,再高级别的再来个加密应该就够了吧
你需要什么样的指导可以把自己的疑问再说的详细一些
比如我需要解开机这个包,和发送开机的包,该怎么写呢?怎么封装一个统一的方法呢?请教各位老司机
http://www.enmaking.com/article/ar_2OsEUYZx http://www.enmaking.com/article/ar_2OsEUYZx