基于STM32+MQTT连接阿里云获取网络时间
说明:本次从阿里云获取网络时间,是接着上一章的基础上进行的(基于STM32+FreeRtos+DHT12+ESP8266+MQTT连接阿里云(链接: link.))。
1.流程说明
2.流程分析
2.1.连接路由器
首先连接路由器(wifi),得到网络状态之后,进行服务器的连接。
2.2.连接服务器
网络连接成功之后,连接阿里云平台服务器,并得到连接回执。
2.3.订阅NTP 时钟同步响应
连接服务器之后,我们开始订阅NTP 时钟同步响应,用于后面的发布NTP 时钟同步请求,获取时间戳。
2.4.发布NTP 时钟同步请求
订阅NTP 时钟同步响应之后,我们开始发布NTP 时钟同步请求,等待服务器返回时间戳。
2.5.服务器返回数据
收到服务器返回的数据:
{"deviceSendTime":"1592361428000","serverSendTime":"1645599995121","serverRecvTime":"1645599995121"}
然后对数据进行解析,得到服务的返回的时间戳。
2.6.网络时间戳转成北京时间(注意时区:8)
3.实物图如下