基于STM32+MQTT连接阿里云获取网络时间

基于STM32+MQTT连接阿里云获取网络时间

  • 1.流程说明
  • 2.流程分析
    • 2.1.连接路由器
    • 2.2.连接服务器
    • 2.3.订阅NTP 时钟同步响应
    • 2.4.发布NTP 时钟同步请求
    • 2.5.服务器返回数据
    • 2.6.网络时间戳转成北京时间(注意时区:8)
  • 3.实物图如下

说明:本次从阿里云获取网络时间,是接着上一章的基础上进行的(基于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.实物图如下

在这里插入图片描述
在这里插入图片描述


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部