Syntiant TinyML Board配备超低功耗 Syntiant ® NDP101神经决策处理器™,可以使语音和传感器应用程序分别在 140 和 100 微瓦以下运行。
与基于 MCU 的传统 MCU 相比,吞吐量提高 20 倍,系统效率提高 200 倍。
Syntiant TinyML 板的尺寸为 24 毫米 x 28 毫米,是一个小型的独立系统,通过微型 USB 连接通过 Edge Impulse 轻松下载经过训练的模型,而无需任何专用硬件。
Syntiant TinyML Board板卡介绍
前面 背面
板载资源:
- 神经决策处理器使用NDP101,连接了两个传感器
- BMI160 6轴运动传感器
- SPH0641LM4H麦克风
- 主机处理器:SAMD21 Cortex-M0+ 32位低功耗48MHz ARM MCU
- 内置256KB FLASH和32KB SRAM,
- 5个数字I/O,与Arduino MKR系列板兼容
- 其中包含1路UART接口和1路I2C接口(包括在数字I/O引脚中)
- 2MB板载串行闪存
- 一个用户定义的RGB LED
- uSD卡插槽
- 电路板可使用5V micro-USB或3.7V LiPo电池供电
活动任务:
1.用自带的麦克风,搭建机器学习模型。
2.根据中文语音指令呈现出开蓝色灯、开红色灯、开绿色灯。
搭建环境:
相关软件请下载附件。
第一步:模型训练
首先使用在线平台:https://www.edgeimpulse.com/
进行模型训练,操作步骤请看视频https://www.bilibili.com/video/BV1Rr4y1k7Z6?spm_id_from=333.999.0.0
--模型训练--
--模型训练识别度--
--下载相应固件--
第二步:搭建环境
搭建arduino-cli环境
添加arduino-cli环境变量
把arduino-cli文件夹放在我的电脑-文档目录下,复制地址,在电脑搜索框中搜索环境变量
检查环境
在arduino-cli文件夹下打开终端,并且输入arduino-cli 即可查看当前的输出信息,
有一下结果即可搭建成功。
烧录固件
打开Syntiant官方提供的 “go”"stop"实例程序
下载出错解决方法: 串口工具发送 :F
烧录成功后,即可在串口工具中查看语音识别log
同时还可以通过官方提供的库文件进行二次开发
官方二次编译官方地址:https://github.com/edgeimpulse/firmware-syntiant-tinyml
如果电脑下载最新的源码编译不了,可以下载原始的源码
二次编译挖坑
如果文件替换过后,二次编译提示这个报错,可以在源码路径下firmware-syntiant-tinyml\src\model-parameters\model_variables.h
文件中,修改以下相对路径的地址
改为: #include "../edge-impulse-sdk/classifier/ei_model_types.h"
这样就可以编译通过了。
具体视频查看
视频一:https://www.bilibili.com/video/BV1sA4y1d7VJ?spm_id_from=333.337.search-card.all.click
视频二:https://www.bilibili.com/video/BV1Ut4y1h7f1?spm_id_from=333.337.search-card.all.click
活动心得:
Funpack第二期来了,机器学习近几年非常火热,不仅人脸识别,语音交互等方面都有机器学习的身影。本期的Syntiant Tiny ML Board板卡到手后非常惊讶,很小巧,差不多有一元硬币大小差不多。板子资源也很丰富,在本期中第一次学习机器学习,并且通过自己的学习,了解了机器学习概念,通过自己实践,把任务一的要求一一做出来,我感觉非常有意义。感谢电子森林举办的Funpack的第二季活动,让我收获了许多的知识与朋友。
参考资料:
2.基于最新理念TinyML - 实现的处女应用产品–离线语音开关
3.Responding to your voice - Syntiant - RC Commands