如何用Obloq的http功能获取网络当前时间?

2021-06-022万
AI 快速预览详细 收起
本文介绍了如何使用Arduino或microbit板子通过Obloq模块的HTTP功能从苏宁时间接口获取北京时间。首先加载Obloq模块,然后将网址一分为二,分别填入服务器和参数积木中。运行程序后,obloq模块连接WiFi成功,串口输出服务器返回的时间。为了提取具体的时间值,可以使用字符串查找和分割功能。通过这种方法,用户可以轻松实现网络授时。


问题:
在使用电脑的时候可以轻松通过网络校准自己的时间,但是在使用Arduino或者microbit等板子的时候如何获取当前的时间呢?

一般有两种方式:
第一种是使用时钟模块,它自带一个纽扣电池,设定当前时间之后,他会自动走时。
第二种方式就是通过网络获取时间了。

如果需要精确的时间,那么可以使用NTP服务器进行校准。
我们日常使用时间到秒即可,所以可以使用http请求普通的时间接口获取。

查资料:
网上搜了一下,看到了这个链接,其中苏宁的这个时间接口比较简单,直接给出了北京时间:
http://quan.suning.com/getSysTime.do
如何用Obloq的http功能获取网络当前时间?图1
因此尝试使用arduino uno+obloq模块获取网络时间。

实测:

打开Mind+,加载uno(使用microbit则选择microbit),加载通信模块中的obloq模块
这种网页访问不同于我们常规使用obloq物联网走的mqtt服务,这次我们使用他的http服务功能:
如何用Obloq的http功能获取网络当前时间?图2如何用Obloq的http功能获取网络当前时间?图3

编写程序:
将网址一分为二,前面的域名即为服务器,后面的为参数,填到两个积木中:
http://quan.suning.com/getSysTime.do
如何用Obloq的http功能获取网络当前时间?图4
运行,打开串口,obloq从红灯变蓝灯再到绿灯说明wifi连接成功,然后串口输出了服务器返回的时间。
测试成功。

取具体时间值:
得到的值是一长串的,如何只取出我们需要的部分呢?答案是使用运算符中的字符串查找和分割功能。

{"sysTime2":"2021-06-02 11:28:48","sysTime1":"20210602112848"}

例如我们要取2021-06-02 11:28:48这一段,则查找前面的":",然后让后数33到22即为需要的字符串了。

程序如下:

如何用Obloq的http功能获取网络当前时间?图5

结果如下:
如何用Obloq的http功能获取网络当前时间?图6

完。

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(4)
爱编程的小付
爱编程的小付
谢谢
晨硕
晨硕
谢了
晨硕
晨硕
我终于知道怎么用了?
晨硕
晨硕
牛皮
- 没有更多了 -