设计一个基于AiPi

2025-05-01

2. 工作描述

设计一个基于AiPi (https://ic.work/) 工控技术 第1张

2.1硬件

硬件采用AiPi-Eye-S1开发板和3.5英寸240*320像素电容触摸屏。在日常使用中,设备通过开发板上的type-c接口通过USB线供电。使用USB转TTL工具下载程序。

设计一个基于AiPi (https://ic.work/) 工控技术 第2张

2.2软件

①开发环境我使用VSCode在Windows环境下开发项目。

设计一个基于AiPi (https://ic.work/) 工控技术 第3张

②UI设计本项目使用LVGL图形库和相应的辅助开发工具SquareLine Studio进行界面设计和C代码生成。

设计一个基于AiPi (https://ic.work/) 工控技术 第4张

③天气信息获取本项目利用易客云天气提供的免费天气API,获取当前区域的七天基本天气和实时基本天气。由于在请求数据时使用用户ID和键参数,因此需要进行帐户注册。

设计一个基于AiPi (https://ic.work/) 工控技术 第5张

本项目方案参考官方气象站实例(master·Ai-Thinker-Open/AiPi-Open-Kits·GitHub中的AiPi-Open-Kits/AiPi-Eyes_weather),其总体实现思路如下:

系统初始化

基于FreeRTOS创建多个任务

(1) wifi_mainWiFi运行任务;

(2) lvgl_taskRun LVGL实现触摸屏显示和触摸功能。当网络连接条件触发时,将WiFi名和密码数据发送到队列;

(3)通过串口显示bl61x_show_heap_size_taskPrint内存使用情况(波特率设置为2000000);

(4) queue_task对队列数据进行分析处理,并执行相应的程序。任务之间的通信基于队列。

目前,该任务处理的队列数据包括以下4种类型:

a. WiFi名密码数据->数据存储,WiFi连接,WiFi连接成功时将WiFi连接成功数据发送到队列;

b. WiFi连接成功数据->创建https_get_weather_taska任务获取时间和天气信息;

c.未来七天天气数据->更新屏幕显示内容;

d.基本实时天气数据->更新屏幕显示内容。

(5) https_get_weather_task通过https获取未来7天的天气和基本实时天气。采集成功后,相应的数据将被发送到队列中。该任务使用一个定时器http_timers设置数据采集的频率。

3. 使用说明

3.1固件烧录

环境配置完成后,需要进行以下操作。

①程序编译

打开项目根目录下的终端,输入“make”

设计一个基于AiPi (https://ic.work/) 工控技术 第6张

如果没有错误,最后将显示如下内容

设计一个基于AiPi (https://ic.work/) 工控技术 第7张

②固件燃烧

在终端中输入make flash COMX=COMxxxx,其中xx为实际连接的下载程序的COM端口号。在下图中,COM端口为20。

设计一个基于AiPi (https://ic.work/) 工控技术 第8张

按提示按复位键烧录

设计一个基于AiPi (https://ic.work/) 工控技术 第9张

3.2网络配置和天气账号

(1)在网络配置菜单中输入需要连接的WiFi名称和密码。

设计一个基于AiPi (https://ic.work/) 工控技术 第10张

(2)在天气账号菜单中注册“易似云天气”后,输入个人的appid和appsecret。

(3)单击“连接”按钮。如果配置正确,您将被重定向到以下接口。

设计一个基于AiPi (https://ic.work/) 工控技术 第11张

3.3接口切换

在主界面中,单击下图所示的对应区域,可切换到对应界面。

在子界面中,点击底部按钮,切换到主界面。

设计一个基于AiPi (https://ic.work/) 工控技术 第12张


本文编译自hackster.io

文章推荐

相关推荐