语音自助打印出入证
本案例采用的是树莓派、古德微平台、全向麦、热敏打印机、小音箱。实现的功能是语音唤醒、语音识别,自助拍照,生成打印出入证。先上两张热敏打印机的小图: 设备完整连接图:一、主程序:首先开启语音提示,开启takePhoto拍照子线程,开启printPass打印子线程,最后开启语音唤醒Wakeup函数。程序开始后,三个线程都在等待中。takePhoto和printPass两个线程因为不满足开关变量的要求,一直在等待。Wakeup函数则在等待语音信号输入。我们的程序设计思想是,先通过阻塞式的wakeup运行,满足语音条件,改变photo变量的值来启动takePhoto子线程。拍照结束后,再改变print变量来启动printPass子线程,最终实现自助打印出入证的效果。二、语音唤醒:Wakeup函数通过全向麦开始:“小度、小度”的语音唤醒。唤醒成功后,通过音箱播放清脆的提示音“叮”,进行拍照准备,完成后下达命令“请拍照”,程序开启麦克风录音,将录取的3秒音频文件转换为文字,从文字字符串中查找字符“拍”的位置。如果查找结果不等于0,说明查找成功,赋开关变量photo为1。这时takePhoto子线程的条件满足了,子线程开始运行。如果查找结果等于0,说明是查找失败,赋值开关变量photo为0,不进行拍照程序。三、takePhoto:拍照子线程拍照子线程是在接收到拍照开关变量photo的值后,拍一张照片,然后关闭摄像头。然后把照片保存到文件中,输出相应的语音提示。最后把photo变量设为0,防止重复拍照。同时把print变量设为1,准备开启打印子线程。四、printPass:打印子线程printPass子线程用是来控制热敏打印机打印出入证的。其中print是一个开关变量,控制子线程是否工作。当print值为1的时候,开启子线程,程序运行完成后,print开关变量重新赋值为0,防止重复打印。程序中设计了一些空行,主要实现文字内容的排版空间的调整。有的是大空行,有的是小空行。最行为了方便撕票,打印了两个空行。程序中的照片,是上一个子线程takePhoto中采集的照片。至此,我们的语音自助打印出入证的功能全部实现。由于拍照的主人是一只小熊,所以最终我们获取的是一张小熊的出入证。 视频地址:https://v.youku.com/v_show/id_XNDU1MDM4NTYyNA==.htmlhttps://v.youku.com/v_show/id_XNDU1MDM4NTYyNA==.html 请问打印机什么接口的?如何驱动? 强大,加上屏,就更方便拍照了。{:6_215:} 淄博杨广峰 发表于 2020-2-17 22:36
本案例采用的是树莓派、古德微平台、全向麦、热敏打印机、小音箱。实现的功能是语音唤醒、语音识别,自助拍 ...
很棒啊,感觉可以做一个把说的话打印出来的 这个打印机是USB接口的,不用驱动
rzyzzxw 发表于 2020-2-18 10:30
强大,加上屏,就更方便拍照了。
支持朱老师,有屏才能体现所见即所得! 白吃白给 发表于 2020-2-18 10:40
很棒啊,感觉可以做一个把说的话打印出来的
可以试试。效果不是很好。原因是语音识别准确率还需提高。
页:
[1]