本文主要介绍的是利用树莓派4B和百度AI组成的智能打卡系统,使用的是百度AI的人脸识别模块,通过其提供的SDK(c++ v3版)来调用的百度AI。
- 所需硬件:树莓派4b及其配套的HDMI屏幕。
- 所需软件:Qt、mysql、opencv、百度AI SDK(c++ v3版)、ubuntuPC。
第一步是qt的移植,此移植过程参照网上博客完成,主要参照博客有:https://blog.csdn.net/lixiaoxin1989/article/details/90140471
note:我为了和ubuntu上的qt版本保持一致,我移植的版本为qt5.9,在配置Qt时,得去掉openssl的支持,否则编译中可能会出错:-no-ssl -no-openssl。此编译时间较长。
第二步是opencv的移植,移植opencv的主要目的是检测视频中是否含有人脸,避免一直向百度Ai传送图片,消耗资源。
opencv的版本为opencv-3.4.2和opencv_contrib-3.4.2,opencv的移植比较顺利,参照ubuntu opencv的移植过程。
第三步是mysql的安装,为了不在局域网依然能访问,我将mysq安装在华为的linux网络服务器上,安装过程简单,百度ubuntu安装mysql。
note:为了能使外网能够登陆mysql,我重新建立了一个mysql用户,为了测试方便,赋予了这个用户所有的权限,具体的创建用户和赋予权限过程请自行百度,创建用户后切记得刷新权限 flush privileges;
第四步编译mysql的连接器。
本系统是在qt的框架下进行代码的编写工作的,qt只自带sqlite的驱动文件,并不支持mysql,所以得需要自己编译连接器,此编译过程并不复杂,但网上教程一般不能完成编译工作,编译过程如下(此过程使用的是我自己的路径,请自行修改自身路径):
- 进入到qt源码的mysql驱动路径 /gao/qt/qt-everywhere-opensource-src-5.9.1/qtbase/src/plugins/sqldrivers/mysql
- apt-get install libmariadb-dev-compat libmariadb-dev (安装mysql客户端,命令可能会有出入,如 apt-get install libmysqlclient-dev)
- qmake "INCLUDEPATH+=/usr/include" "LIBS+=-L/usr/lib/arm-linux-gnueabihf -lmysqlclient_r" mysql.pro 若出现错误Project ERROR: Library 'mysql' is not defined.,则打开mysql.pro注释掉 #QMAKE_USE += mysql
- make && make install
第五步,源码编写。
源码放在CSDN资源中,提供下载。稍后会上传到码云中让大家下载。着急需要源码联系QQ:444676038
码云下载地址https://gitee.com/gao_xiong/raspberrypi_baiduAI.git
csdn资源下载地址https://download.csdn.net/download/qq_24428581/11651268