目录
6.封装python代码为一个函数,并且取返回结果中最大的score值作为最终比对结果
3.1首先,从香橙派上利用apt download下载依赖包的头文件和库文件,并拷贝到宿主机里:
3.2解压到/home/mi/Desktop/smarthome/3rd/下
一.接线图
1.orangePi接线
2.继电器接线
二.语音模块的配置
进入语音模块官网 http://www.smartpi.cn/#/ ,配置词条和识别后的串口输出指令。
1.pin脚的配置
2.命令词自定义信息
三.测试
1.通过gpio指令测试烟雾检测器是否正确连接
sudo gpio mode 6 input 设置引脚6为输入状态
sudo gpio readall 查看引脚6为高电压(此时无烟)
sudo gpio readall 查看引脚6为变为了低电压(此时有烟)
2.编写脚本测试其他模组接线是否正常
gpio mode 2 out #卧室灯
gpio mode 5 out #课厅灯
gpio mode 7 out #电磁锁
gpio mode 8 out #风扇
gpio mode 9 out #蜂鸣器
#全部拉高,继电器断开
for i in 2 5 7 8 9
do
gpio write $i 1
done
for i in 2 5 7 8 9
do
gpio write $i 0
sleep 3
gpio write $i 1
done
四.人脸识别方案
这里采用的是阿里云的人脸识别方案通义实验室视觉智能开放平台
1.首先开通人脸搜索识别服务
2. 点击产品控制台,向人脸数据库中添加人脸样本数据
3.去香橙派终端执行此命令,下载阿里云SDK包
4.下载完成后,配置环境变量
在 ~/.bashrc 和 /etc/profile 的末尾输入下面俩行(替换为你自己的阿里云AccessKey)
export ALIBABA_CLOUD_ACCESS_KEY_ID=<access_key_id>
export ALIBABA_CLOUD_ACCESS_KEY_SECRET=<access_key_secret>
5.切换至下列目录,点击人脸搜索示例代码
# -*- coding: utf-8 -*-
# 引入依赖包
# pip install alibabacloud_facebody20191230
import os
from alibabacloud_facebody20191230.models import SearchFaceRequest
from alibabacloud_tea_openapi.models import Config
from alibabacloud_facebody20191230.client import Client
from alibabacloud_tea_util.models import RuntimeOptions
config = Config(
# 创建AccessKey ID和AccessKey Secret,请参考https://help.aliyun.com/document_detail/175144.html。
# 如果您用的是RAM用户的AccessKey,还需要为RAM用户授予权限AliyunVIAPIFullAccess,请参考https://help.aliyun.com/document_detail/145025.html。
# 从环境变量读取配置的AccessKey ID和AccessKey Secret。运行代码示例前必须先配置环境变量。
access_key_id=os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_ID'),
access_key_secret=os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_SECRET'),
# 访问的域名
endpoint='facebody.cn-shanghai.aliyuncs.com',
# 访问的域名对应的region
region_id='cn-shanghai'
)
runtime_option = RuntimeOptions()
search_face_request = SearchFaceRequest(
db_name='Face1',
image_url='http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/facebody/SearchFace/SearchFace1.png',
limit=2
)
try:
# 初始化Client
client = Client(config)
response = client.search_face_with_options(search_face_request, runtime_option)
# 获取整体结果
print(response.body)
except Exception as error:
# 获取整体报错信息
print(error)
# 获取单个字段
print(error.code)
# tips: 可通过error.__dict__查看属性名称
6.封装python代码为一个函数,并且取返回结果中最大的score值作为最终比对结果
# -*- coding: utf-8 -*-
# 引入依赖包
# pip install alibabacloud_facebody20191230
# face.py
import os
import io
from urllib.request import urlopen
from alibabacloud_facebody20191230.client import Client
from alibabacloud_facebody20191230.models import SearchFaceAdvanceRequest
from alibabacloud_tea_openapi.models import Config
from alibabacloud_tea_util.models import RuntimeOptions
config = Config(
# 创建AccessKey ID和AccessKey Secret,请参考https://help.aliyun.com/document_detail/175144.html。
# 如果您用的是RAM用户的AccessKey,还需要为RAM用户授予权限AliyunVIAPIFullAccess,请参考https://help.aliyun.com/document_detail/145025.html。
# 从环境变量读取配置的AccessKey ID和AccessKey Secret。运行代码示例前必须先配置环境变量。
access_key_id=os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_ID'),
access_key_secret=os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_SECRET'),
# 访问的域名
endpoint='facebody.cn-shanghai.aliyuncs.com',
# 访问的域名对应的region
region_id='cn-shanghai'
)
def alibaba_face():
search_face_request = SearchFaceAdvanceRequest()
# 场景一:文件在本地
stream0 = open(r'/tmp/SearchFace.jpg', 'rb')
search_face_request.image_url_object = stream0
#场景二:使用任意可访问的url
#url = 'https://viapi-test-bj.oss-cn-beijing.aliy