qt通过物联网esp8266与手机之间的通讯

资料esp8266

https://www.cnblogs.com/yangfengwu/p/5205570.html


介绍


qt界面及开发


移动端界面



实际手机操作与qt界面



无线通讯协议参考HeartBeat协议实现led的控制



一级封装

数据发送帧格式

数据传输命令

(传输头1byte)

一帧数据总长度(1byte)

(10~210BYTE)

目标地址

2BYTE

自身地址

2BYTE

数据(数据长度范围0~200BYTE)

数据效验

4BYTE(crc32)

0xFD

0x??.....

 

 

0x??....

0x????

数据接收帧格式

数据传输命令

(传输头1byte)

一帧数据总长度(1byte)

(10~210BYTE)

自身地址

2BYTE

来源地址

2BYTE

数据(数据长度范围0~200BYTE)

数据效验

4BYTE(crc32)

0xFD

0x??.....

 

 

0x??....

0x????

二级封装(数据层)

 

数据命令格式

起始标识

(区分类别)

1BYTE

命令标识

1BYTE

数据

 

0x0A

{0x1,0x2...}

********

 

0x0B

 

 

 

0x0C

{0x01,0x02...}

 

 

 

 

 

 

一级封装保证数据的准确性,及收发目的地

 

二级封装区分数据的作用类别

1:更新程序(0x0a){写入flash,擦除flash,特定位置}

2:写进读取eprom(0x0b){写入eprom,读取eprom,特定位置}

3:接受与反馈命令(0x0c){控制命令,反馈状态命令}

 

一帧数据总长度

接受与反馈命令默认20个字节

 

更新flasheprom默认200字节

 

一段一段的更新(避免数据过大导致接受问题)

起始标识

(区分类别)

1BYTE

命令标识

1BYTE

 

起始地址

4byte

0x12345678

更新或擦除的字节数

4byte

数据

0x0A

0x01(更新flash)

 

 

 

0x0A

0x02(擦除flash)

 

 

0x0

0x0B

0x01(更新eprom)

 

 

 

0x0B

0x02(擦除eprom)

 

 

0x0

 

接受与反馈命令

起始标识

(区分类别)

1BYTE

命令标识

1BYTE

 

1byte

1byte

1byte

1byte

1byte

1byte

1byte

1byte

0x0C

0x1

 

 

 

 

 

 

 

 

0x0C

0x2

 

 

 

 

 

 

 

 

0x0C

0x3

 

 

 

 

 

 

 

 

0x0C

0x4

 

 

 

 

 

 

 

 

0xc

.

 

 

 

 

 

 

 

 

.

.

.

 

 

 

 

 

 

 

0xc

0x32(50)

 

 

 

 

 

 

 

 

0xc

0x33

 

 

 

 

 

 

 

 

.

.

.

 

 

 

 

 

 

 

0xc

0x64(100)

 

 

 

 

 

 

 

 

0xc

0x65

 

 

 

 

 

 

 

 

.

.

.

 

 

 

 

 

 

 

0xc

0x96(150)

 

 

 

 

 

 

 

 

0xc

0x97

 

 

 

 

 

 

 

 

.

.

.

 

 

 

 

 

 

 

0xc

0xc8(200)

 

0xc

0xc9

 

.

.

.

 

程序宏定义定义出是否需要crc校验,是否需要目标地址与自身地址匹配,是否反馈接收到的不符合规则的数据

 

1.校验

2.匹配

3.回送错误数据

 

 

led

Led1

Led2

Led3

Led4

Led5

0x0c

0x01

1

0

0

1

0

 

 

 

 

 

 

 

 

0x0c  0x01led灯处理   

0x0c  0x01

      0x02



git 地址如下

https://github.com/sswm/serial2net.git

com_tcp为qt界面控制esp8266

mobilePhone为qt编写的android应用

手机端通过连接esp8266提供的wifi来控制qt上的led灯,采用的通讯协议如上。





  • 0
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值