本帖最后由 brother0952 于 2020-7-4 18:23 编辑
【RT-Thread作品秀】同事监视器作者:鲜于超 概述(说明应用产生的背景、所采用的软硬件方案、实现功能)背景:为什么要监视同事呢? 1、我有一个同事技术水平特别高,我希望知道他平时做什么,然后找出产生差距的原因,向他学习,鞭笞自己变得更强。 2、了解公司的效益高不高,是处于旺季还是淡季。 鉴于以上原因,加上要尽可能尊重同事的隐私,同事监视器应运而生!
软硬件方案:软件采用rtt操作系统,硬件采用beken的麻雀一号开发板。
实现功能:开发板建立一个tcp服务器,不断采集摄像头数据,发送到客户端,客户端缓存数据,与前一条数据比较是否有变化,记录图片的相似度。开发板同时不断采集麦克风数据,判断是否人声,将结果发送到客户端,客户端记录人声变化情况。 将开发板瞄准同事的座位,就可以知道他一天有多少时间在座位,讲了多少话啦。通过分析数据发现那位同事,一天在电脑前10小时(大概率在编码),而且人狠话少。
RT-Thread使用情况概述(简要总结下应用中RT-Thread使用情况:内核部分、组件部分、软件包部分、内核、其他)内核:dfs,device,mempool,signal 组件:finsh,pthread,lwip 软件包:cjson,littlefs,rt_ota,tjpgdec,webnet 其它:env,ota组包工具 Rt-thread 的开发体验非常好,可以方便的添加移除软件包,软件包资源非常丰富,切切实实的做到了不必重复造轮子。编译也很方便,大部分时候一条scons搞定。Ota的配套非常完善。
硬件框架(概述应用所采用的硬件方案框图,并对核心部分做介绍)使用博通集成的麻雀一号开发板。 软件框架说明(介绍应用所采用的软件方案框图、流程图等)
软件模块说明(介绍应用软件关键部分的逻辑、采用的实现方式等)1、判断麦克风输入的声音是人声还是噪音,采用vad算法,也就是语音端点检测技术,是VoiceActivity Detection的缩写。 2、摄像头线程参考mjpeg的例子,不断向客户端发送图片。 3、上位机用python编写,实现客户端功能,用opencv判断前后两张图片的相似度,并将结果打印出来。 Ps:开发板配网后会打印ip,需要修改py文件的服务器地址,如下图 客户端文件在bk7221u_release\applications\python 目录,需要安装opencv,开发板和客户端需要同局域网。
演示效果(演示效果请采用3张高清图片,并录制一段不少于1min视频解说应用所实现的效果,视频上传至B站或者腾讯视频,给出链接即可)
软件运行效果如上图,如果人坐在摄像头面前,相似度会小于90,如果说话,咳嗽什么的,voice 会变成1,平时一些小噪音vocie是0。
视频地址: https://www.bilibili.com/video/BV1vK4y1476b/ 代码地址(代码可上传至gitee或者github,给出链接地址或压缩包方式)链接: https://pan.baidu.com/s/1vFKTMAeKjGwF04SYStxoFg 提取码: jjes 复制这段内容后打开百度网盘手机App,操作更方便哦
|