你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

WiFi模块获取网络时间—NTP

[复制链接]
Cortexxx 发布时间:2017-11-5 21:50
使用ESP8266 WiFi module从NTP server获取时间
本次实验仅仅使用了AT指令 所以降低了编程难度


   1.关于NTP的基本协议 可以参考Zero99的帖子


https://www.stmcu.org.cn/module/forum/thread-607936-1-1.html

总结一下:
NTP协议中计时时间 是从Jan/1/1900开始的。64bits长度的数据,高32bits是秒数,低32bits是秒的小数部分


    2.使用WiFi模块 和TTL-USB(USB转串口)正确的和WiFi模块相连;
要注意 GPIO0(片选pin)需要拉高 3.3V 使用5V会使EPS8266工作异常;
因为本次使用AT指令的固件,所以在此之前要给WiFi模块烧录AT指令的固件。
硬件链接好之后打开串口助手,发送 AT 两个字符 WiFi模块会返回 OK。
这就说明模块正常工作了。
之后配置WiFi模块的工作模式
AT+CWMODE=3   把WiFi模块设置成SoftAP+station共存模式
AT+RST     重启生效
AT+CWJAP=”SSID”,”PASSWORD”   //  链接router
链接成功
AT+CIPMUX=0 设置WiFi模块为单路链接
AT+CIPSTART="UDP","1.cn.pool.ntp.org",123  链接到NTP服务器
AT+CIPSEND=48 发送48byte的数据
返回OK
       >

   然后以HEX的模式发送如下数据,数据大小为48bytes

E3 00 06 EC 0000 00 00 00 00 00 00 31 4E 31 34 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
返回SEND OK
之后NTPserver返回报文 要用Hex模式 查看
大致为41 54 2B 43 4950 53 45 4E 44 3D 34 38 0D 0D 0A 0D 0A 4F 4B 0D 0A 3E 20E3 00 06 EC 00 00 00 00 00 00 00 00 31 4E 31 34 00 00 00 00 00 00 00 00 00 0000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0D 0A 53 454E 44 20 4F 4B 0D 0A 0D 0A 2B 49 50 442C 34 38 3A 24 02 06 E9 00 00 05 ED 00 00 35 AD 82 85 01 0A DD 9C 6DA0 70 B1 3E D9 00 00 00 00 00 00 00 00 DD 9C 8B 43 41 AF 52 2F DD 9C 8B 43 41B0 74 89 0D 0A 4F 4B 0D0A 03 03 03


黄色背景为从1900/1/1到现在的秒数

3. 给MCU 写程式
主要包括USART(用于和esp8266通讯) OLED(荧屏) DHT11程序(温湿度sensor) Timer(用于计算local time)
程式的大致思路是inital hardware->get time from NTP server->把网路时间换算 并且赋给当地时间->(timer IRQ)把local time累加->read DHT11->输出给荧屏时间和温湿度。
IMG_20171030_010330.jpg

IMG_20171105_191202.jpg


源代码一个是F410RB的另一个是F103C8的
NTP_ClockforSTM32F410.zip (1.28 MB, 下载次数: 164)
IMG_20171105_191204.jpg

评分

参与人数 1 ST金币 +20 收起 理由
zero99 + 20

查看全部评分

收藏 5 评论11 发布时间:2017-11-5 21:50

举报

11个回答
wolfojc 回答时间:2018-5-17 09:41:08
谢谢分享,刚好手上有个8266模块,已经可以读取时间了。
zcl201207 回答时间:2017-11-6 21:58:24
andeyqi 回答时间:2017-11-7 09:30:45
赞一下
zero99 回答时间:2017-11-7 10:41:32
原创支持下!
霹雳之火 回答时间:2017-11-7 10:44:18
不错不错
uqvditfk 回答时间:2018-3-9 12:45:58
多谢分享,
xw8655545 回答时间:2018-5-3 19:45:50
刚好在摸索8266模块 感谢楼主分享
幸福四叶草 回答时间:2018-8-21 16:14:52
多谢分享
sevensp 回答时间:2019-9-27 10:57:33
新人学习
12下一页

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版