本帖最后由 北葵依旧菜 于 2024-9-25 11:18 编辑
本帖最后由 北葵依旧菜 于 2024-9-25 11:05 编辑
本帖最后由 北葵依旧菜 于 2024-9-20 15:23 编辑
本帖最后由 北葵依旧菜 于 2024-9-20 14:35 编辑
1、产品开箱
首先感谢安信可官方给的这次机会。
收到的开发板为AiPi-Eyes-R2。包括以下物品
- AIPI-Eyes-R2 开发板
- 腔体喇叭-2pin 间距 1.25mm 黄色超薄插头 ×2
- 1.25mm4pin 转 1.25mm 端子反向连接线-200mm(连接摄像头)×1
- 转接线-1.25mm 转 2.54mm6p×1
- 摄像头模组-酷视-CV-031C50-1.25mm4pin 接口-130W 像素 ×1
- 显示器-4.0 寸-RGB 接口 40 寸-像素 480x480×1
- 咪头-2pin-1.25mm 间距-交叉绞线 100mm×2
开箱照片如下:
2、环境搭建
第一次开发小安派,因此选用最简单的windows下搭建开发环境。
环境搭建参考文章:零基础搭建小安派Windows 开发环境 - 小安派&M61环境搭建、编译烧录教程 - 物联网开发者社区-安信可论坛 - Powered by Discuz! (ai-thinker.com)
注意事项
上面的搭建教程最后编译的源码为天气站源码,针对小安派R2采用编译出厂代码。
解决小安派下载代码变砖问题:
导致的变砖原因:
主要多发生在使用windows下开发环境。
在通过make进行编译代码的时候会出现如下警告
如果忽略直接下载则会导致变砖。
解决问题
查看输出信息可以看出是 拷贝edata.bin文件到另一个目录失败。
直接执行命令,发现cp不是可执行的命令。因为cp是属于linux文件管理的一个命令 。因此确认是使用的终端有问题,目前采用的是windows默认的终端。
在vscode里面将git bash设置为默认终端。在此终端下执行make
顺利执行,并且拷贝了对应的文件。 下图加密所需文件对应
3、性能测试
性能测试运行官方demo。程序CPU占用在40-60%。刷新率8FPS
4、DIY项目
基于小安派的屏幕非常适合做中控屏,恰好官方给的demo就是中控屏的方案,界面非常好看。因此在此基础上进行开发,避免需要自己设计UI界面(自己设计实在是太丑了)。
4.1天气和时间显示功能:
由于官方的天气站项目已经实现了此功能,因此借用官方的方案:
- **自动连接:** AiPi-Eyes 天气站会自动连接历史连接过的WiFi
- **自动更新时间:** 根据SNTP 服务器更新时间
- **自动更新天气情况:** 通过HTTPS 获取天气情况
自动连接实现的原理是会把wifi名称和密码写入flash.代码存在于custom.h
在小安派的编译规则里面没有包含custom.h这个头文件,需要自己添加。
注意:1.由于小安派没有自带温湿度传感器,因此将解析出来的天气信息当作温湿度。
2.WIFI的移植需要注意在proj.conf中进行使能
4.2控件控制功能
作为中控屏基本的要能实现控制家里的设备。官方提供的demo里面有两个灯的开关,因此基于这两个开关把功能完善。
4.2.1调试信息输出
在调试项目的时候,打印出调试信息是必须的。串口调试助手采用XCOM.上电后发现打印乱码,确定是波特率不匹配。查看board.c文件发现串口波特率为2000000.XCOM不支持这个波特率,因此改为460800.
可以正常输出调试信息
控件触发
通过触摸屏幕的开关组件,发现屏幕有变化,但串口无信息输出。推测应该是只进行屏幕更新,没有其他的处理操作。
两个灯的开关的代码位于events_init.c。
增加两行printf函数
触摸后能正常打印信息。可以在这直接控制GPIO。或者通过蓝牙WiFi等将信息发送给被控制的设备。
至此中控屏的基本功能已经完成。
5、不足与建议
5.1 屏幕接口和typec接口冲突
屏幕的接口和 USB 供电接口放在了一侧,在使用的时候不方便,将小安派放到屏幕后面又担心短路。小安派后面有许多测试点。
5.2建议
在typec供电的基础上增加一个usb转ttl芯片,实现一根线完成供电与程序烧录。