网络时间协议NTP(Network Time Protocol)——是TCP/IP 协议族里面的一个应用层协议,用来使客户端和服务器之间进行时钟同步,提供高精准度的时间校正。
以低功耗4G模组经典型号Air780E为例:
-
Air780E支持SNTP协议(Simple Network Time Protocol),并有一套AT命令实现网络时间同步功能。
-
移动/电信卡通常会下发基站时间,同步时间并不是必要的;而联通卡通常不会下发,就需要SNTP了。
本文将教你使用AT指令,通过模组连接NTP服务器进行时间同步。
1、主动设置NTP服务器同步时间
以下操作通过AT指令,主动设置NTP服务器为"ntp.aliyun.com"进行演示;实际使用中,用户可以根据实际需求对此地址进行设置。
1.1 AT指令操作序列如下:
1.2 指令执行截图如下:
2、使用默认NTP服务器同步时间
Airir780E模组出厂默认NTP服务器是ntp.aliyun.com,如果使用默认NTP服务器:
可以跳过设置NTP服务器地址指令,直接使用AT+CNTP进行网络时间同步。
若默认服务器同步时间失败,可尝试配置其他可用的NTP服务器地址。
2.1 AT指令操作序列如下:
2.2 指令执行截图如下:
3、常见问题及解决办法
3.1 开发板发送AT指令无响应?
-
确保模组已经开机;
-
串口助手是否选择了正确AT指令端口;
-
检查串口助手参数是否设置正确,如波特率、停止位、奇偶校验、新行发送等;
-
确保模组固件为标准AT固件。
3.2 执行AT+CNTP指令后,模组返回“+CNTP: 62”或者“+CNTP: 64”是怎么回事?
-
检查网络是否注册成功,可以用指令AT+CREG查询;
-
检查模模组信号是否良好,可以用指令AT+CSQ查询;
-
确认指令序列是否正确;
-
确认NTP服务器是否可用,可以用指令AT+CNTP?查询当前配置的NTP服务器地址;
-
如果使用了定向卡,可能导致同步时钟失败。