一、项目介绍远程AI手势识别,主要采用了TinyMaix神经网络进行的手势识别功能,TinyMaix是面向单片机超轻量级的神经网络推理库,即TinyML推理库,可以让你在任意单片机上运行轻量级深度学习模型。项目的主控采用的是RA4M2-100PIN开发板,周边的传感器有HS3003温湿度传感器,ISL29035光照传感器以及DA16200 WIFI模块,显示部分主要采用迪文屏和上位机。软件采用FreeRTOS操作系统,软件外设配置和代码编写均采用官方的IDE e2Studio。同时还具有USB升级功能,该部分需要搭配自己设计的USB升级上位机,以及自定义的通信协议。 二、硬件连接和介绍下图1是硬件实物连接图: 系统的硬件连接方式为:IIC连接HS3003温湿度传感器,IIC连接ISL29035光照传感器,串口连接DA16200 WIFI模块,串口连接迪文屏。 整体硬件连接框架如下图2所示: 三、软件数据通信流程FreeRTOS一共拥有三个进程,分别是获取温湿度和光照值进程,WIFI配置及通信进程,手势识别检测进程。 获取温湿度和光照值进程流程图如下图3所示: 手势识别检测进程流程图如下图4所示: 四、上位机设计上位机采用C#进行设计,采用UDP与单片机进行通信,连接之后显示温湿度和光照值,同时接收手势识别检测结果。 效果图如下图5所示: 五、USB升级设计USB升级主要采用USB PCDC连接通信,配置完USB PCDC后PC端就可以识别处一个串口,此时就可以与单片机通过USB进行通信。单片机上电后,首先进入BootLoader程序,当检测到USB连接则进入等待升级,此时上位机会检测到一个串口,这时通过定制的通信协议将升级包【xxx.srec】发送给单片机,单片机接收数据后会存到指定的Flash地址上,当接收完整后就完成了USB升级功能。 USB升级流程图如下图6所示: USB上位机图如下图7所示: 六、总结一开始测试U盘自动升级,发现一直识别不了,结合之前的串口波特率对应不上115200需要配置230400才能不乱码,从而发现RA-Eco-RA4M2-100PIN和EK-RA4M2的晶振不一样,而U盘自动升级例程采用的是EK-RA4M2开发板,那么USB肯定是没办法正常通信的,所以EK-RA4M2的USB例程不能正常通信也是正常的,之后修改了晶振频率一切都正常了。后面USB升级就是理解【xxx.srec】文件内容了,以前都是结果Hex文件,第一次接触【xxx.srec】文件,查找资料之后发现还是很容易理解的,直接移植U盘自动升级例程到USB就可以了,底层功能可以不用修改。这里要注意的一点是MDK生成【xxx.srec】文件是没办法在我提供的USB升级Demo中用的,因为MDK生成的地址有一些问题,所以是没法用的。 这次比赛调试也花了挺久时间的,一开始用的MDK开发,后面发现有不兼容的地方最后转到e2Studio开发。手势识别Demo移植没碰到太多问题,不管是MDK环境还是e2Studio环境,移植过程都挺顺利的。FSP配置工具也是挺好用的(虽然是第一次使用),一开始不太习惯多用几次就习惯了,这次也是第一次用瑞萨的单片机开发项目,整体下来还不错,没有遇到太难受的地方。瑞萨的周边模块其实匹配度还是挺好的,可以直接插到开发板上使用。就是网上的资料还是太少,希望官方能够多分享一些瑞萨方面的资料。 七、源码八、演示效果![]() 远程AI手势识别 |
只有小组成员才能发言,加入小组>>
1409个成员聚集在这个小组
加入小组【瑞萨RA2L1入门学习】+ MacOS安装e2studio
881 浏览 0 评论
735 浏览 0 评论
1452 浏览 0 评论
1152 浏览 0 评论
1629 浏览 0 评论
2055浏览 4评论
【RA-Eco-RA0E1-32PIN-V1.0开发板试用】RA0E1-32PIN-V1.0开发板测试一下点灯
2742浏览 3评论
3295浏览 2评论
【RA-Eco-RA2E1-48PIN-V1.0开发板试用】使用Jlink RTT完成printf打印功能
909浏览 2评论
【RA-Eco-RA0E1-32PIN-V1.0开发板试用】配置开发环境和编写一个点灯程序
1686浏览 2评论