基于树莓派的智能魔镜,支持人脸识别、情感监测、热词唤醒、语音交互,以及与手机APP交互、温湿度/新闻热点/日期显示等

目录

功能清单

界面演示

系统框图

设计方案

整体结构

网站设计

 app设计

 魔镜界面设计

 温湿度传感器

 光电传感器

相关教程

第三方库的安装

安装库

换源

安装mqtt

安装Qt5

git clone提速

安装Adafruit_DHT

opencv安装

安装字体

安装portaudio

安装snowboy

安装Gst(playsound用到)

安装nginx

其他库

框图与界面绘制

服务器部署

web环境

第1步:安装Apache

第2步:安装MySQL(Ubuntu)

第2步:安装MySQL(Raspbian)

第3步:安装PHP

第4步:重新启动apache以使所有更改生效

第5步:安装phpmyadmin

网站部署

放置页面

测试是否能上传图片成功

MQTT环境

Mosquitto安装

启动服务端

异常情况

人脸识别

流程图

情感检测API



Bilibili视频教程:使用树莓派4 DIY智能魔镜_哔哩哔哩_bilibili

Github源码:基于树莓派的智能魔镜


功能清单

  •  硬件组装
  •  系统唤醒与亮屏
  •  获取传感器信息并显示
  •  获取天气、新闻等信息并显示
  •  UI界面绘制魔镜界面绘制
  •  安卓APP
  •  获取备忘录信息并显示
  •  推送使用情况到APP(能推,但不知道推啥)
  •  内容整合
  •  人脸识别
  •  情感监测
  •  语音对话

界面演示

系统框图

设计方案

整体结构

网站设计

 app设计

 魔镜界面设计

 温湿度传感器

 光电传感器

 

相关教程

第三方库的安装

安装库

import paho.mqtt.client as pahomqtt
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import QApplication
from PyQt5 import QtGui, QtCore, QtWidgets
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from bs4 import BeautifulSoup
import Adafruit_DHT
from aip import AipSpeech
from aip import AipFace
from playsound import playsound
import pyaudio
import requests
import cv2
import snowboydecoder

from mirrorUI import Ui_MainWindow
from face import FaceFunction
from speech import SpeechFunction

import sys, os
import time
import string
import random
import hashlib
import base64
import signal
import RPi.GPIO as GPIO
import json
import wave
import urllib
import urllib3
import re
import threading

换源

sudo nano /etc/apt/sources.list
deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib

sudo vim /etc/apt/sources.list.d/raspi.list
deb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui

sudo apt-get update
sudo apt-get upgrade

sudo mkdir ~/.pip
sudo vim ~/.pip/pip.conf
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host=mirrors.aliyun.com

安装mqtt

pip3 -V
pip3 install paho-mqtt

安装Qt5

sudo apt-get install python3-pyqt5 -y

git clone提速

git config --global http.postBuffer 524288000

安装Adafruit_DHT

sudo git clone https://github.com/adafruit/Adafruit_Python_DHT.git
cd Adafruit_Python_DHT
sudo python3 setup.py install

opencv安装

sudo apt-get install libhdf5-dev libhdf5-serial-dev -y
sudo apt-get install libqtgui4 libqtwebkit4 libqt4-test python3-pyqt5 -y
sudo apt-get install libatlas-base-dev -y
sudo apt-get install libjasper-dev -y

pip3 install opencv_python

安装字体

复制到/usr/share/fonts/

安装portaudio

下载portaudio库http://portaudio.com/download.html
sudo apt install libasound-dev # 一定要有这一句
sudo ./configure
sudo make
sudo make install
vim ~/.bashrc
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
sudo ldconfig

安装snowboy

sudo apt-get install pulseaudio -y
sudo apt-get install sox -y
sox -d -d  # 测试
sudo apt-get install python3-pyaudio -y
sudo apt-get install swig -y
sudo apt-get install libatlas-base-dev -y
git clone https://github.com/Kitt-AI/snowboy.git
cd snowboy/swig/Python3 && make

// snowboydecoder将第 5 行代码 from * import snowboydetect 改为 import snowboydetect 即可直接运行
// 具体用法可参考链接:https://www.jianshu.com/p/a1c06020f5fd

安装Gst(playsound用到)

sudo apt-get install gir1.2-gst-plugins-base-1.0 -y

安装nginx

1、安装nginx  web服务器
sudo apt-get install nginx -y
2、启动nginx
sudo /etc/init.d/nginx start
nginx的www根目录默认在 /usr/share/nginx/html中
3、修改nginx的配置文件
sudo vim /etc/nginx/sites-available/default

listen   8080;## listen for ipv4; this line is default and implied
//监听的端口号,如果与其它软件冲突,可以在这里更改
root /usr/share/nginx/www;
//nginx 默认路径html所在路径
index index.html index.htm index.php;
//nginx默认寻找的网页类型,可以增加一个index.php

其他库

pip3 install bs4 requests playsound baidu-aip pyaudio lxml

框图与界面绘制

1、安装Qt

​ Index of /archive/qt/5.9/5.9.3

下载exe:qt-opensource-windows-x86-5.9.3.exe

2、使用下载工具IDM,100M宽带下载速度能达到12M/s

3、下载过程中,先去注册一个Qt账号

Qt Account Login

4、.ui转.py

pyuic5 -o mirrorUI.py mirrorUI.ui

5、mirrorUI.py添加启动语句

import sys
if __name__ == '__main__':
    app = QtWidgets.QApplication(sys.argv)   # 定义Qt应用
    MainWindow = QtWidgets.QMainWindow()     # 窗口实例
    ui = Ui_MainWindow()                     # 界面UI实例
    ui.setupUi(MainWindow)                   # 绘制界面
    MainWindow.show()                        # 显示窗口
    sys.exit(app.exec_())                    # 应用关闭

6、界面label对应表

label_temperature 温度
label_humidity 湿度 
label_weather 天气 
label_weathertips 天气助手 
label_weathericon 天气图标 
label_time 时间 
label_date 日期 
label_week 星期 
label_historyhead 历史上的今天 
label_historymsg 历史上的今天 的内容 
label_communicate 文字交互区 
label_todohead 今日事项 
label_todomsg 今日事项 的内容 
label_headlineshead 今天头条 
label_headlinesmsg 今日头条 的内容 
label_gif 洛天依gif图

7、信号与槽函数

# 继承QObject
class MQTT(QObject):  
# 创建信号量,传字符串
mqttSignal = pyqtSignal(object) 
# 连接信号与槽函数
mqtt.mqttSignal.connect(ui.updateCommunicate)
# 发送信号量
self.mqttSignal.emit("qwe")

8、mirrorUI.ui路径:

mirrorUI.ui

服务器部署

pictureViewer.zip下载链接:pictureViewer图片上传并显示网页-Web开发文档类资源-CSDN下载

web环境

搭建Linux+Apache+MySQL+PHP环境。

第1步:安装Apache

Apache是一个免费开源软件,可运行世界上50%的Web服务器。

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install apache2
sudo /etc/init.d/apache2 restart

要检查是否安装了Apache,请将浏览器指向您服务器的IP地址(例如http://127.0.0.1)。

可以运行以下命令来显示你的服务器的IP地址:

ifconfig | grep inet | awk '{ print $2 }'

第2步:安装MySQL(Ubuntu)

MySQL是一个强大的数据库管理系统,用于组织和检索数据。

sudo apt-get install mysql-server mysql-client

查看端口:

sudo netstat -tap | grep mysql

用命令激活它:

sudo mysql_install_db

通过运行MySQL设置脚本完成:

sudo /usr/bin/mysql_secure_installation
Would you like to setup VALIDATE PASSWORD plugin? => y
Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 1 => 0
New password: => xxxxxxxx
Re-enter new password:  => xxxxxxxx
Remove anonymous users?: => y
Disallow root login remotely?: => y
Remove test database and access to it?: => y
Reload privilege tables now?: => y

第2步:安装MySQL(Raspbian)

sudo apt-get install mariadb-server mariadb-client

用命令激活它:

sudo mysql_install_db

启动服务

/usr/bin/mysqld_safe --datadir='/var/lib/mysql'
sudo service mysql start

通过运行MySQL设置脚本完成:

sudo /usr/bin/mysql_secure_installation
Enter current password for root (enter for none):
Set root password? [Y/n] y
Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n] y
Remove test database and access to it? [Y/n] y
Reload privilege tables now? [Y/n] y

第3步:安装PHP

PHP是一种开源的Web脚本语言,广泛用于构建动态网页。

sudo apt install php7.2-mysql php7.2-curl php7.2-json php7.2-cgi php7.2 libapache2-mod-php7.2

测试PHP:

查看版本:
php --version

输出phpinfo:
sudo vim /var/www/html/phpinfo.php
写入如下内容:
<?php echo phpinfo();?>
浏览器输入:
http://127.0.0.1/phpinfo.php

第4步:重新启动apache以使所有更改生效

sudo service apache2 restart

第5步:安装phpmyadmin

sudo apt install php-mbstring php7.2-mbstring php-gettext -y
sudo systemctl restart apache2.service
sudo apt install phpmyadmin -y

安装过程中的选项:

  • 选择 Apache2 并点击确定
  • 选择 Yes来配置 phpMyAdmin 管理的数据库
  • 输入刚设置的数据库密码
  • 若报错,可以选择ignore

安装完成后需要将phpmyadmin的文件夹复制到www/html文件夹下进行管理

sudo cp -Rf /usr/share/phpmyadmin /var/www/html/

打开浏览器并输入http://127.0.0.1/phpmyadmin

输入用户名、密码后登陆

网站部署

放置页面

pictureViewer文件夹整个放到/var/www/html/路径下:

复制:sudo cp -r pictureViewer /var/www/html
或
移动:sudo mv pictureViewer /var/www/html

修改权限:

sudo chmod 777 /var/www/html/pictureViewer/*

将文件夹名pictureViewer修改为MagicMirror

sudo mv /var/www/html/pictureViewer /var/www/html/MagicMirror

浏览器输入http://127.0.0.1/MagicMirror即可

测试是否能上传图片成功

打开并修改文件夹下的testUpload.py:

vim /var/www/html/MagicMirror/testUpload.py
url = 'http://127.0.0.1/MagicMirror/upload_file.php'

运行Python:

cd /var/www/html/MagicMirror/
python3 testUpload.py

若提示缺少库,则先安装:

pip3 install requests

上传成功后,刷新浏览器界面,会多一张图片。

MQTT环境

Eclipse Mosquitto是一个开源消息代理,实现了MQTT协议版本3.1和3.1.1。

Mosquitto安装

添加存储库(Raspbian可跳过):

sudo apt-add-repository ppa:mosquitto-dev/mosquitto-ppa

更新软件包:

sudo apt-get update

安装:

sudo apt-get install mosquitto -y

安装命令行客户端:

sudo apt-get install mosquitto-clients -y

默认情况下,Ubuntu将在安装后启动Mosquitto服务。

在新终端中,使用mosquitto_sub订阅测试主题:

mosquitto_sub -h localhost -t test

新开一个其他终端并发布消息:

mosquitto_pub -h localhost -t test -m "hello world"

启动服务端

#-c:指定特定配置文件启动
#-d:后台运行 
mosquitto -c /etc/mosquitto/mosquitto.conf -d

异常情况

如果遇到Unable to acquire the dpkg frontend lock这个问题

首先检查是否在运行apt,apt-get相关的进程:

ps aux | grep -i apt

如果存在与apt相关的正在运行的进程,kill掉进程:

sudo kill -9 <process id>

继续上一次的配置:

sudo dpkg --configure -a

或者直接简单粗暴的:

sudo killall apt apt-get 

之后可以新的apt操作

人脸识别

流程图

情感检测API

百度AI平台:百度智能云控制台-管理中心


原创内容,转载请注明来源!

  • 12
    点赞
  • 102
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论
基于树莓派的自制魔镜,集成MagicMirror2,Google Assistant,Home assistant,Homebridge及中文聊天机器人嵌入式优质项目,资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松copy复刻,拿到资料包后可轻松复现出一样的项目。 本人单片机开发经验充足,深耕嵌入式领域,有任何使用问题欢迎随时与我联系,我会及时为你解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明,项目具体内容可查看下方的资源详情。 【附带帮助】: 若还需要嵌入式物联网单片机相关领域开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步。 【本人专注嵌入式领域】: 有任何使用问题欢迎随时与我联系,我会及时解答,第一时间为你提供帮助,CSDN博客端可私信,为你解惑,欢迎交流。 【建议小白】: 在所有嵌入式开发中硬件部分若不会画PCB/电路,可选择根据引脚定义将其代替为面包板+杜邦线+外设模块的方式,只需轻松简单连线,下载源码烧录进去便可轻松复刻出一样的项目 【适合场景】: 相关项目设计中,皆可应用在项目开发、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面中 可借鉴此优质项目实现复刻,也可以基于此项目进行扩展来开发出更多功能
### 回答1: 要下载树莓派人脸识别SDK,首先需要在官方网站或其他可信的技术网站上搜索相关的SDK。可以使用搜索引擎,输入关键词“树莓派人脸识别SDK下载”来查找相关软件。挑选一个合适的SDK下载链接,确保其与树莓派设备兼容。 点击下载链接后,进入下载页面,选择适用于树莓派的版本,通常会有树莓派的图标或者在系统要求中提到树莓派。确认无误后,点击下载按钮。 下载完成后,将SDK文件保存到树莓派的合适位置,可以选择将其保存到SD卡或者任意目录。 根据SDK的具体要求和文档,进行安装和配置。这一步可以参考SDK提供的官方文档或者操作指南来进行。 安装和配置完成后,就可以开始使用树莓派人脸识别SDK了。根据SDK的使用方式,编写代码,实现人脸识别的功能。可以通过调用SDK的API来实现人脸检测、识别和比对等功能。 在使用SDK的过程中,可以根据需求进行自定义设置,如设置阈值、调整人脸识别的精度和速度,以及配置相机和摄像头等参数。 最后,根据自己的实际应用场景,将人脸识别功能好好利用起来,可以用于监控系统、门禁系统、智能家居等方面。 总之,要下载树莓派人脸识别SDK,先搜索并选择合适的SDK,下载并安装到树莓派上,然后根据具体文档进行配置和编程,最终实现人脸识别的功能。 ### 回答2: 要下载树莓派人脸识别SDK,首先需要确定你所需要的SDK具体是哪一家公司或开发者提供的。树莓派作为一款开源硬件,拥有广泛的支持和社区,因此有许多不同的人脸识别SDK可供选择。 一种下载的方式是通过访问官方网站下载。首先,你需要搜索相关的人脸识别SDK提供商的官方网站。在网站的下载页面,通常会提供对于树莓派支持和下载链接。你可以浏览他们的网站,找到适用于树莓派的SDK版本并下载。在下载之前,确保你选择的版本和树莓派的硬件和操作系统相匹配。 另一种方式是通过基于树莓派的操作系统(如Raspbian)的软件库进行下载。树莓派的操作系统通常会提供一些常用的SDK,并且可以通过包管理器(如apt-get)来安装。你可以在命令行中运行适当的命令来搜索和安装树莓派人脸识别SDK。确保你的操作系统已经更新到最新版本,以保证软件库中有最新的SDK可供下载。 无论你选择哪种方式,下载时要确保选择信誉良好的提供商,以获得更好的技术支持和保障。在下载前,建议查看一些用户对该SDK的评价和反馈,了解其性能和可靠性。另外,阅读相关的文档和教程可以帮助你更好地了解和使用该SDK,以便你能够更好地将其整合到你的树莓派项目中。 ### 回答3: 要下载树莓派人脸识别SDK非常简单。首先,你需要打开树莓派的操作系统,确保你已经连接到互联网。然后,使用浏览器访问相关的网站或官方社区。在搜索框中输入“树莓派人脸识别SDK下载”,然后点击搜索按钮。 在搜索结果中,你会看到各种不同的下载选项。注意选择适合你需求的版本和文件类型。一般来说,官方社区或软件开发者网站是最安全和可靠的下载来源。 点击选定的下载链接后,等待文件下载完成。下载时间取决于你的互联网连接速度和文件大小。 一旦下载完成,你需要找到文件保存的位置并解压缩。这通常涉及到右键点击文件并选择“解压缩”选项。如果你不熟悉解压缩文件的操作,可以搜索相关的指导教程。 解压缩后,你会得到一个包含SDK的文件夹。你可以将该文件夹移动到你喜欢的位置,以便方便访问。 现在,你已经成功下载和准备好使用树莓派人脸识别SDK了。你可以从文件夹中找到示例代码和文档,以帮助你开始开发或使用该SDK。 希望这个简单的指南对你有所帮助!祝你下载并使用SDK时顺利!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小锋学长生活大爆炸

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值