最近有些地区的天气前一秒还是晴空万里,转眼一言不合就带来一场大风大雨。
上周安信可推出了小安派的2款开源硬件——AiPi-Eyes-S1、AiPi-Eyes-S2,安信可应用开发团队用小安派开源硬件制作了一款桌面天气站,为出行做好参考~
01功能分析
02Gui Guider模拟运行结果
这里使用的UI上位机是NXP的GUI Guider软件。
也可到文末链接下载资料包,含GUI Guider 软件及本次项目的GUI Guider 工程。
03UI 代码移植
1、文件移植
因为此前已经把屏幕和触摸的驱动写好了,并且在Lvgl 下测试成功,所以本文不会介绍Lvgl 的移植。GUI Guider 在成功运行之后,才会生成最新的UI代码。需要移植的程序代码如下:
以上文件夹复制到工程的UI位置:Ai-Pi_Eeys/demos/240X320_ui。 因为M6X_SDK中的Lvgl没有dclock 时钟组件,所以也要把dclock 移植到SDK当中。dclock的目录如下:M6x_Eyeslvglsrcextrawidgets
把整个dclock文件夹复制到:Ai-Pi_Eeysaithinker_Ai-M6X_SDKcomponentsgraphicslvglextrawidgets目录下。
2、代码修改
1)工程添加UI代码
只需要在CMakeLists.txt 中添加以下内容:
然后在main.c中引用gui_guider.h和custom.h,并定义lv_ui全局变量,且使用setup_ui() 函数进行初始化:
2)HTTPS GET请求及时间获取
然后随手把HTTPS请求天气的逻辑实现一下,大概就是写一个HTTPS的客户端,然后发送请求,时间可以在响应头中获取,Date参数中获取,北京时间只要把小时+8就OK,比如:
天气情况获取,这里使用的是天气API的免费的未来七天天气接口
请求数据如下:
天气站最高可以显示未来七天的天气情况,我们这里只显示未来三天的数据。 3)WiFi 连接功能 天气站使用的屏幕是电容触摸屏,所以可以通过触摸输入WiFi 名称及密码连接WiFi。输入完成后,点击确定按钮即可触发WiFi连接,天气站在连接成功WiFi之后,会保存当前的路由信息,下次重启时可以自动连接这次的WiFi。按钮的点击事件及读取输入的WiFi名称及密码代码:
审核编辑:汤梓红
全部0条评论
快来发表一下你的评论吧 !