小至 19376897162
凡事用心,一起进步
打开APP
公司名片
凡亿专栏 | ART-PI OLED小时钟 ESP8266获取网络时间(RTT-Studio平台)
ART-PI OLED小时钟 ESP8266获取网络时间(RTT-Studio平台)

继上次的OLED显示开发之后,觉得RTT的平台挺好玩的,图形化配置,容易上手,这次在上次OLED显示的基础之上,增加ESP8266获取网络时间,同步网络时间并利用模拟RTC模块,做一个精巧的小时钟,ART-PI核心板板载有WIFI模组的,AP6212A ,wifi,蓝牙一体的模块,后面会开发板载模块,童鞋们搬好小板凳就可以啦,嘿嘿!

1、ESP8266与ART-PI连接图

我这里用到的是ART-PI的UART2串口,即是24(UART2-TX)引脚和26引脚(UART2-RX),杜邦线略显凌乱,哈哈

ART-PI
ESP8266
VCC3.3
VCC
PA2(UART2-TX)
RXD
PA3(UART2-RX)
TXD
GND
GND

1befabb0ac74962aa8338cd32fd5e0.jpg

e6b69c6118d128134ff0906399fecf.jpg

2、硬件平台很简单,搭建OK之后,下面就开始我们的RTT-Studio的探索之旅啦,伙伴们只需搬好小板凳,配置这种糙活累活交给小飞哥就OK啦。

老规矩,没有枪没有炮,RTT给我们造,感谢RTT模块贡献者们,我们只需要在软件包里面找到at device模块,添加进我们的工程就OK了,然后double click就进入详细配置界面,选择乐鑫ESP8266模块,wifi ssid、wifi密码栏目填入伙伴们自己的wifi账户密码,串口可以根据自己的选择设置,小飞哥这里使用的是UART2,接收缓存尽可能设置大一点,不要太小,否则可能会报一些缓存溢出错误。

3fe082781c4ce2bd86378eb8ba06fd.jpg

2dfeb169ef989665ff433d52d5db25.jpg

设置完了之后,有手都会的CTRL S保存,稍等一会之后,就可以看到我们的工程里面已经添加了at device的软件包咯

bbae6654df1fce3957e1abd99409df.jpg

9af0cf9a5082e38d900c12997c11ab.jpg

3、接下来,需要对一些硬件资源进行配置,主要是我们用到的串口,在uart_config.h文件中我们添加红色方框所示代码,然后我们可以看到很多串口的定义,定义了#define BSP_USING_UART2,关于UART2的一些资源就可以调用了,IO口根据自己选用的IO定义就可以啦

c33a5474fdc5a79857323ac4d8580c.jpg

6081d3b835744ce4a78a883cf6da22.jpg

然后,CTRL B,不出意外的话,应该是无errors的,嘿嘿

3e3fff6d75071ce2e1921c19c3873d.jpg

6f1d6707bbeb5c7f121c623842af69.jpg

4、然后看打印信息,出现了一个错误,也很直白了,是关于DNS的错误,这涉及到ESP8366的固件版本,小飞哥的模块已经尘封了几年了,固件版本是老古董了,也懒得省级啦,大家如果固件比较新的话,就不会出现这个问题,如果有伙伴跟我的一样是老古董,可以自行升级固件,或者像我一样取巧(懒),屏蔽以下代码就可以啦。

e3ac2709e0a123642376a1c1d080dc.jpg

e9105506973287332318123bf9a14c.jpg

然后一顿操作猛如虎,就OK啦,连接成功啦,坐下,基操基操。

42847a54f1e63512e5e8e4323171a6.jpg

然后,输入ifconfig命令,看一下我们的网卡配置

5af681440e78dd5545d7f3ef75a28b.jpg

然后,来吧,推开网络的大门吧,ping百度,可以看到数据完全无问题咯

fe9435c0c047084edcc0fb7a17cdf0.jpg

5、然后,添加netutils工具软件包,netutils软件包中汇集了RT-Thread可用的全部网络小工具集合,包括NTP工具,方法同其他工具包一样咯,然后配置默认就可以啦。

f1e66c1c399c4ad711e8f22938523e.jpg

5d1c9ab998ba44083caa292163ca99.jpg

同时,开启软件模拟RTC功能,用于我们时间同步之后的本地计时,保存之后,工程已经添加进来了软件包。

0ff23f30da28334b9e308a169c8f58.jpg

95c0acccbbd98b847604a000f1aada.jpg

6、编译下载完成之后没可以看到,我们已经添加进来了NTP工具啦,输入ntp_sync命令,时间同步成功,输入date,可以看到当前时间啦。

2312212958ed616cbcdf81a051c6f9.jpg

7、接下来,我们添加固件初始化自动对时,这段代码加在main函数里面

708358b7907ea0bff7de653f0b666b.jpg

aa960f3e09ecafedd920cd1555e381.jpg

e5bda06ac022259b9d28e51431417b.jpg然后在上次的OLED_Display函数中,添加显示时间代码

973ba2c1bc04af7d47d24f8399d8a3.jpg

7e0b3c846a4928c8be74cdf9f16fbf.jpg

8、编译完成之后,下载固件,然后输入oled_display,就可以看到我们的精美的时钟啦,哈哈

698f90e6a07c9498a17024c47fed70.jpg

e5c534fcbc48cc513c7b996904c534.jpg

7d7453d4da280fcd40d6846490f477.jpg

 

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表凡亿课堂立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。
相关阅读
进入分区查看更多精彩内容>
精彩评论

暂无评论