[更新说明][讣告]小边牧皮卡丘最终还是没能战胜病魔,已经去了汪星,视频暂时不更啦,感兴趣的朋友可以下载代码复现,有问题可以留言交流
有幸参与了新一代行空板K10的测评,说起来新一代行空板比起上一代变化着实不小。
老版行空板
行空板K10
这里我不再细说每一处区别,单纯说说我觉得变化比较大的几点:
1.取消了触摸屏;
2.取消了开机的UI界面,K10更像是一个可以编程,功能强大的主控板,专注于程序处理与交互;
3.加入了人脸识别(新增摄像头)、语音识别与合成等人工智能相关的功能和模块(双麦克风+扬声器),让创意的实现更加便捷;
4.加入了一组RGB灯;
相对的,如IIC接口、USB口、I/O的数量都有所削减,大家见仁见智。
下面说说关于这个项目:
8月初,妻子说想养一条小狗,于是我们第二天便在附近的犬舍购入了一只小边牧,取名皮卡丘。然而不幸的是,这是一个黑心犬舍,皮卡丘没多久就查出来患有犬瘟热,整个暑假都在奔波找各种良医给皮卡丘治病。目前每天抽搐+神经痛嚎叫,我们把小狗放在客厅,白天要上班,为了了解皮卡丘的情况,我打算用K10做一个小狗健康监测助手,来帮我记录皮卡丘一天的异常状态。
步骤1 设计思路
我只需要小狗异常状态的信息,这里的异常状态设定为嚎叫,因此我的想法是:
1.小狗只要嚎叫,就录音20秒(程序中以5秒为例),下班回来只需要查看存储卡里面的音频文件,即可根据嚎叫的声音状态+当前状态对小狗有一个大致的了解。
2.如果小狗在家里因为痛苦嚎叫,则使用扬声器播放提前录制好的我和妻子安抚狗狗的录音来安抚小狗(期待更新之后支持列表功能,就可以多录制几段音频,随机播放了)
3.在书房工作学习时,可以通过SIOT实时监控客厅小狗的情况,并且实时与小狗互动(在可视化面板三个按钮:灯光、夸奖和批评)
思路如下图:
注:
1.原计划想加入云台,但是目前K10还不支持python模式,产品仍处在内测阶段,期待后续的更新;
2.拍照和录音放在一个loop会有bug,思考之后决定去掉拍照
步骤2 编写程序
1.初始化部分
说明:这里创建了4个topic,分别用来存储温度、湿度、麦克风数值和互动参数(顺便提一句,画面记得常规更新……)
2.自定义函数部分
(1)这里创建了两个自定义函数:安抚狗狗和监测叫声,触发条件均为麦克风数据。
(2)提前录制好安抚狗狗的音频放置在存储卡,然后直接调用
(3)在狗狗叫声比较激烈的时候录制一段音频,并且依次用阿拉伯数字(这里进行取整处理,默认是浮点数)命名
(4)播放安抚音频触发条件进行了二次确认,防止音频本身误触
(5)录音之前,播放一个音节进行提示
3.主循环部分
(1)使用多线程,实时传输数据给SIOT
(2)安抚狗狗之后(1秒)如果没有用(叫声更大了),则进入监测叫声后续部分(录音)
4.成品图
步骤3 制作可视化面板
简单弄了一下……
(1)使用SIOT需要先下载对应的siot功能组件,详情移步这里https://mindplus.dfrobot.com.cn/dashboard
(2)注意主题要绑定正确,不要张冠李戴
写在最后:
愿天下没有疾病,愿黑心狗贩子恶有恶报!
评论