请选择 进入手机版 | 继续访问电脑版
搜索
查看: 17181|回复: 15

[原创] WiFi模块获取网络时间—NTP

  [复制链接]

该用户从未签到

8

主题

172

帖子

97

蝴蝶豆

金牌会员

最后登录
2022-8-15
发表于 2017-11-5 21:50:00 | 显示全部楼层 |阅读模式
使用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, 下载次数: 183)
IMG_20171105_191204.jpg

评分

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

查看全部评分

回复

使用道具 举报

该用户从未签到

0

主题

1

帖子

0

蝴蝶豆

新手上路

最后登录
2020-4-16
发表于 2018-5-17 09:41:08 | 显示全部楼层
谢谢分享,刚好手上有个8266模块,已经可以读取时间了。
回复 支持 1 反对 0

使用道具 举报

该用户从未签到

0

主题

1277

帖子

30

蝴蝶豆

金牌会员

最后登录
2020-7-4
发表于 2017-11-6 21:58:24 | 显示全部楼层
回复

使用道具 举报

该用户从未签到

37

主题

2167

帖子

32

蝴蝶豆

论坛元老

最后登录
2023-2-9
发表于 2017-11-7 09:30:45 | 显示全部楼层
赞一下
回复

使用道具 举报

  • TA的每日心情
    开心
    2018-2-6 09:20
  • 签到天数: 1 天

    [LV.1]初来乍到

    1182

    主题

    4967

    帖子

    1

    蝴蝶豆

    论坛元老

    最后登录
    2020-3-17
    发表于 2017-11-7 10:41:32 | 显示全部楼层
    原创支持下!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6

    主题

    468

    帖子

    0

    蝴蝶豆

    金牌会员

    最后登录
    2019-12-28
    发表于 2017-11-7 10:44:18 | 显示全部楼层
    不错不错
    回复

    使用道具 举报

    该用户从未签到

    0

    主题

    1

    帖子

    0

    蝴蝶豆

    新手上路

    最后登录
    2018-3-9
    发表于 2018-3-9 12:45:58 | 显示全部楼层
    多谢分享,
    回复

    使用道具 举报

    该用户从未签到

    0

    主题

    1

    帖子

    0

    蝴蝶豆

    新手上路

    最后登录
    2018-5-3
    发表于 2018-5-3 19:45:50 | 显示全部楼层
    刚好在摸索8266模块 感谢楼主分享
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    2

    帖子

    0

    蝴蝶豆

    初级会员

    最后登录
    2020-11-30
    发表于 2018-8-21 16:14:52 | 显示全部楼层
    多谢分享
    回复

    使用道具 举报

    该用户从未签到

    0

    主题

    1

    帖子

    0

    蝴蝶豆

    新手上路

    最后登录
    2020-12-22
    发表于 2019-9-27 10:57:33 | 显示全部楼层
    新人学习
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|论坛-意法半导体STM32/STM8技术社区

    GMT+8, 2024-3-29 17:15 , Processed in 0.235673 second(s), 48 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表