摘要:在机智云 iot开发平台开发一款智能设备有很多在线工具快速实现,若需要获取时间,依靠MCU本身自带的时钟比较麻烦,是否可以直接使用函数调用外界时间呢?机智云有什么API可以用来获取网络时间呢?
答案是有这么一个函数gizwitsGetNTP( )可以获取网络时间,我们机友用这个函数实现了水墨画定时控制系统、节点的时间同步、采集地震的波形时进行每个节点的数据同步。
[ 什么是NTP网络协议]
网络时间同步现在有2种同步协议NTP和PTP,NTP与PTP不同在于时间戳的产生位置。NTP是通过软件来记录协议相关网络包的发出和到达时刻,受操作系统影响很大(系统约忙,延时越大)。同步精度优于10ms。
什么是NTP网络协议
NTP时间服务器是一个简单的常用的服务器,工作中我们只要做到会用就行,能搭建起来就可以了,不用太去深入研究ntp时间服务器的原理。
为什么需要NTP服务,主要原因有两个
实际业务需求中由于两台server的时间不一致。导致漏数据。损失巨大,被user批的不行不行的。还好IT有一台 server 专门用来校时,使用机智云iot开发平台开发物联网设备时,通常使用使用gizwtisGetNTP函数来实现。
什么是准确的
为什么不能直接使用格林威治时间
什么是新的标准时间
获取的方式
[ gizwitsGetNTP函数 ] 特点:此方法通俗易懂,代码添加原理、修改位置均知道 准备材料:机智云自助开发平台账号、开发版、机智云APP
作用:节点的时间同步、采集地震的波形时进行每个节点的数据同步,调用gizwisGetNTP函数即可实现。
第一步:需要配网成功才能获取精确时间 (配网成功返回一个值,添加一个标志位和变量,记住当前是否联网的状态)。
第二步:调用gizwitsGetNTP函数时不能一直调用,所以我们这里设置两个定时器,(定时器初始化和一秒钟的时间值)。
第三步:在中断函数中编写相关代码(联网成功时请求获取时间、以及打印时间的函数)。
第四步:将程序编译,无问题,则将程序下载到开发版中。
第四步:打开机智云APP,进行配网,配网成功后,可以在XCOM中查看打印出的时间。
热门推荐:
从0开始做WiFi智能插座: 基于esp8266+机智云的低成本SOC远程孵化箱:(一)功能实现和材料准备
扫一扫,开启您的IoT开发之旅
|