树莓派魔镜总结(包括语音和图像识别)

我实在是太懒了,现在才来写这篇博文。
这里我将总结做这个项目所用的思路,以及中间出现的各种问题还有问题的解决办法。

1、最终实现方案(树莓派、php+html、arecord、百度语音、face++图像识别)

1.1、硬件部分

    因为加了一个开关来控制语音的录入,所以用到了树莓派的中断,因此硬件的话除了树莓派还多了一个开关和几条杜邦线跟几个小电阻。最后开关与树莓派的电路图如下所示:
![这里写图片描述](https://img-blog.csdn.net/20170410222711875?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY3Njc2hhaGE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
    当然还有一个显示器和一个带开关的4口usb拖线板。对了,还有一个带麦的USB无驱动摄像头,淘宝上能搜到只要几十块一个,一定要问好是不是无驱动的,麦克风也要是无驱的。第一次买的时候摄像头是无驱了但是麦克风却要声卡。最后的部件和成果图如下。
    其实显示器是带触屏功能的,但是一直没有搞定驱动,所以最后用了开关里进行交互。

1.2、软件部分

    软件部分主要包括交互界面和后台控制。
    其中交互界面主要是通过chromium浏览器的kiosk模式来实现全屏,然后搭建一个本地的web服务器来显示界面。主要用到的技术是apach+php+html+css+js。因为对前端技术还是比较生疏,所以只能用这用方式来实现,而且html+css+js这一部分也写得很糟糕。
    后台控制的话主要是通过C程序来进行全程的调度,然后用php来处理网络接口和业务逻辑。其中用到了opencv的库来进行实时摄像和wiringPi库来进行中断。对了,还用了arecord来进行录音。然后图像识别的话是用了face++的网络接口,语音识别与合成则是用了百度的接口。其实一开始是想用讯飞的接口,但是他们给的接口示例大部分是通过js实现的,不像百度的接口都是RESTful API 的风格,由于本人的前端技术尚浅所以最后选择了百度的接口。

你可能感兴趣的:(start)