前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >31-STM32+ESP8266+AIR202基本控制篇-功能优化-APP使用APUConfig配网绑定ESP8266,并通过MQTT和ESP8266实现远程通信控制(SSL单向认证连接通信)

31-STM32+ESP8266+AIR202基本控制篇-功能优化-APP使用APUConfig配网绑定ESP8266,并通过MQTT和ESP8266实现远程通信控制(SSL单向认证连接通信)

作者头像
杨奉武
发布2020-07-01 11:13:05
6160
发布2020-07-01 11:13:05
举报
文章被收录于专栏:知识分享知识分享

说明 为了是通信安全,修改Android 和 单片机程序,以SSL的方式连接MQTT 程序说明(Android) 1.程序在以前的基础上做了些修改,详细修改如下: 2.端口号改为 8883  (域名,用户名,密码根据自己的修改) <ignore_js_op>

3.增加代码如下 <ignore_js_op>

① 证书验证回调(直接返回true) ② 开启SSL 4.连接方式修改为:SSL <ignore_js_op>

修改说明(单片机) 1.提示 <ignore_js_op>

连接指令: "AT+CIPSTART=\"SSL\",\"%s\",%s\r\n",IP,Por

使用上面的 AT+CIPSTART指令连接TCP以后发送和接收数据是如下方式

  1.发送数据,假设发送66个数据

  1.1 首先发送 AT+CIPSEND=66\r\n    66:为要发送的数据个数

  1.2 等待模块返回 >

  1.3 发送要发送的数据给模块

  1.4 模块返回 Recv 66 bytes  

  1.5 模块发送完成返回 SEND OK

  2.接收数据

  2.1 接收数据格式: +IPD,XXXX:真实数据    XXXX 为接收的数据个数

  3.意外断开

  3.1 和TCP服务器断开:CLOSED\r\n

  3.1 和路由器断开:WIFI DISCONNECT\r\n

2.端口号改为 8883  (域名/IP,用户名,密码根据自己的修改) <ignore_js_op>

3.修改连接指令 <ignore_js_op>

4.连接MQTT,先打包发送 AT+CIPSEND=XXX,等待收到> ,执行下一条 <ignore_js_op>

<ignore_js_op>

5.发送MQTT连接协议 <ignore_js_op>

<ignore_js_op>

6.有数据需要发送先发送AT+CIPSEND=XXXX

设置下接收超时3S,接收超时变量清零以后再发送实际的数据

发送实际的数据以后设置个发送超时,发送数据超时变量清零以后又重新开始

<ignore_js_op>

7.串口中断函数里面收到 > 清零接收超时

收到SEND OK 清零发送超时

<ignore_js_op>

提示:

所有的超时时间变量如果大于0 ,在定时器里面每1Ms隔减一,

如果在发送完AT+CIPSEND=XXXX ,超出了设定时间没有返回 >

会执行发送真实数据.

如果在发送完真实数据以后,超出了设定时间没有返回 SEND OK

会执行AT+CIPSEND=XXXX发送下一条数据

8.接收数据格式: +IPD,XXXX:真实数据

程序判断是否接收到 +IPD,XXXX:真实数据

如果是这种数据,剔除+IPD,XXXX:

然后清零串口接收,让串口只接收真实数据

<ignore_js_op>

测试(功能和以前一样但是内部为SSL通信)

1.打开APP,点击右上角菜单,选择添加设备 "APUConfig"

2.手机连接自家的路由器,输入自家路由器密码

3.长按开发板上面的 pb5引脚大约3S 直至图示上面的指示灯快闪

4.点击 APP 绑定设备按钮 开始绑定设备

5.绑定成功以后,自动跳转到主页面,并添加了一个设备 设备显示的信息为ESP8266的MAC地址信息

6.点击设备进入设备控制页面

7.控制继电器吸合

8.控制继电器断开

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-06-29 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
SSL 证书
腾讯云 SSL 证书(SSL Certificates)为您提供 SSL 证书的申请、管理、部署等服务,为您提供一站式 HTTPS 解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档