浏览继续论坛时候,突然发现腾讯IOT开发板,特别好奇。腾讯什么时候开始也要布局物联网了,去年试用了阿里云的板子,还有关注了阿里IOT的比赛,阿里在布局云和物联网速度的速度。今年腾讯也开始了,两家巨头又要碰在一起了。不过还是特别开心,能够率先试用腾讯Tensentos,熟悉一下腾讯IOT。
一:场景
应用背景无论何时,婴儿都是每个家庭的心肝宝贝,每个家长都绞尽脑汁去看护。婴儿监护器在国外非常的盛行,而国内大多数的家长对其还不太了解。婴儿监护器最主要的作用就是对婴儿进行全天的监护。现在结合AI+传感器+IOT实现一套简易的婴儿看护系统,实现婴儿哭声,温湿度,运动监测。
语音方案中一般会采用语音芯片,使用STM32的数字麦克风I2S接口,接入CODEC芯片来做语音的采集和输出
,不过在本方案中,节约成本和考虑功能只需要识别哭声即可,就采用单独的MIC口和音频放大电路。模块中使用小型话筒完成声电信号转换,两个9014三极管构成两级共基极放大电路。在每一级中加电压负反馈,稳定放大倍数。语音信号的频带为300~3400Hz,根据抽样定理,抽样频率设为8000Hz就足以完成对语音信号的采集。在本系统中TIM1被设置为ADC触发信号源。TIM时钟源为系统时钟72MHz。经100分频,变为720KHz。计数模式为向上递增,自动重载值为90,即计数值从0递增到90再返回0。比较匹配值设为0~90间任意一个数值 ,则每秒可发出8000次比较匹配事件。ADC每秒完成8000次A/D转换,即抽样频率为8KHz。
考虑距离,试用两路放大电路。综合考虑电路距离远近问题。
对采集到的音频信号进行预处理、端点检测、特征提取、模板训练、特征匹配的一些列处理。
语音识别传统和经典方法都使用了ADC->FFT->MFCC特征。
STM32Cube.AI
ST在STM32CubeMX工具中引入STM32Cube.AI工具包,大家可以在STM32CubeMX(V5.0.1或更高版本)工具中在线更新:
通过STM32Cube.AI,开发人员现在可以将预先训练的神经网络转换为C代码,该代码可以调用在STM32 MCU上运行的优化库中的函数。
ST的新型神经网络开发工具包STM32Cube.AI,正在将AI引入微控制器供电的智能设备,位于节点边缘,以及物联网,智能建筑,工业和医疗应用中的深度嵌入式设备。
所以试用DNN+CTC模型部署理论上能够实现。
由于时间有限,所以本例子只采用了MFCC+DTW模型匹配 判断哭声的概率。之后优化成高效算法。
DTW算法是较早的一种模式匹配和模型训练技术,它应用动态规划的方法成功解决了语音信号特征参数序列比较时时长不等的难题,在孤立词语音识别中获得了良好的性能。DTW算法是建立在动态规划(DP:Dynamic Programming)的理论基础上的。动态规划是一个很有效的方法来求取一个问题的最佳解。其中心思想简单的说可以描述为:在一条最佳的路径上,其中任意一条子路径也都必须是相关子问题的最佳路径,否则原路径就不是最佳路径。
由于需要判断婴儿运动和温湿度,所以使用无线传输方案。使用传统单向433方案传输温湿度和震动数据。
433数据中包含温湿度数据和校验位置。实现温湿度和震动数据传输。
温湿度方案:
使用SHT30传感器。i2c接口读取温湿度。
运动监测
采用Gsensor方案
一个质量块两端通过弹簧进行固定。在没有加速度的情况下,弹簧不会发生形变,质量块静止。当产生加速度时,弹簧发生形变,质量块的位置会发生变化。 弹簧的形变量随着加速度的增大而增大。在弹簧的劲度系统 k 和质量块的质量 m已知的情况下,只要测量出弹簧的形变量,就可以求出系统的加速度。我们只采用判断震动
腾讯IOT云端。
云端感受是快速接入,简单快捷,适用。
四:杂谈
本来是想好好把这个功能实现和开源,训练玩一遍STM32新出的AI推理框架,刚好赶上公司产品提测节点,所以没有源码和视频,真的抱歉,之后补上,写的也是比较杂乱。。。。。。。。。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。