本教程旨在教您如何使用SiriControl开源Python框架在RaspberryPi项目中添加Siri功能和控制功能。
2.概述
在本教程中,我将介绍如何设置和使用SiriControl Python框架。我将利用SiriControl模块和Raspberry Pi 3来点亮和熄灭一个LED。学完本教程之后,您将能够使用SiriControl将Siri语音命令添加到任何Raspberry Pi项目中。开始学习之前,请确保您拥有以下设备和材料,并确保已经安装RaspberryPi且软件能够正常运行。
3.设备
1.Raspberry Pi 3–Raspberry Pi链接
2.HDMI线–HDMI线链接
3.LED–LED的Adafruit链接
4.鼠标+键盘–键盘/鼠标的Amazon链接
5.显示器/TV– 任何带HDMI接口的TV或显示器
6.跳线–跳线的Amazon链接
7.Micro USB电缆–Micro USB 电缆的Amazon链接
8.面包板–面包板的Amazon链接
4.目录
1. 为SiriControl创建一个Gmail帐户
2. iOS设备设置
3. SiriControl
1. 设置SiriControl
2. 创建自己的模块
4. 电路接线
5. 上传并运行程序
程 序
1.0 为SiriControl创建一个Gmail帐户
SiriControl模块需要一个Gmail帐户才能工作。我创建了一个新的Gmail帐户,仅供SiriControl使用。我建议您也这样做。这是一个好主意,因为Python脚本可以包含该帐户的用户名和密码。
创建帐户后,我们需要允许不太安全的应用程序访问Gmail。这是因为Gmail服务器将Python脚本视为不太安全的应用程序。我们可以在Sign-in & Security(登录和安全)部分进行设置。

图1:应用程序访问(关闭)

图2:应用程序访问(开启)
设置Gmail帐户的最后一步是启用IMAP协议。设置路径如下:Gmail->Settings->Gear Part->Settings->Forwarding and POP/IMAP->IMAP Access。

图3:IMAP(禁用)

图4:IMAP(启用)
2.0 iOS设备设置
将iOS设备上的“Notes”连至已经设置好与SiriControl配合使用的Gmail帐户。选择Settings->Accounts & Passwords->Add Account(设置->帐户和密码->添加帐户),添加刚才设置好的Gmail帐户。添加该帐户后,选择它并启用Notes(图6:Gmail帐户下的Notes)。接下来,选择Settings->Notes,并启用“On My iPhone” Account(我iPhone上的帐户)。然后,将Default Account(默认帐户)改为Gmail帐户。现在,我的iOS设备设置完毕。

图5:帐户和密码

图6:Gmail帐户下的Notes

图7:默认帐户-Notes
3.0 Siri控制
3.1 设置SiriControl
要使用SiriControl,我们需要将模块的资源库克隆到RaspberryPi。要做到这一点,请打开终端窗口并输入以下命令:
1. sudo apt-get update
2. sudo apt-get install git-core
3. git clone https://github.com/theraspberryguy/SiriControl-System

图8:克隆资源库
克隆资源库之后,打开脚本siricontrol.py。在脚本中输入Gmail帐户的用户名和密码,然后保存脚本。
3.2 创建自己的模块
Siricontrol.py运行时,会从模块(modules)文件夹中加载模块脚本。执行不同的任务时,按照模板编写新的模块脚本很重要。因为我想控制一个LED,所以我写了一个脚本来打开LED(LED_on.py)和一个脚本来关闭LED(LED_off.py)。
要制作自己的模块,请在模板脚本中执行以下步骤:
1.在“moduleName”中命名该模块
2.为模块提供“commandWords”,以便让Siri执行命令。
3.在execute(command) 函数下写入想要执行的功能。
4.确保将脚本保存在模块文件夹中。
4.0 连接电路
为了让SiriControl执行命令,我搭建了一个简单的LED电路。我总是喜欢用Fritzing绘制接线图。Fritzing是一款开源原理图设计和PCB布线软件。Fritzing的下载地址(可选)如下:http://fritzing.org/home/

图9:Raspberry Pi LED原理图
LED和电阻应串联在引脚11(GPIO17)和引脚25(地)之间。电阻的作用是限制流过LED的电流,并应根据您的LED进行相应调整,以防止电流过大将LED烧坏。请记住,LED较长的引线是正极,应连接到引脚11。
5.0 上传并运行程序
完成上述步骤后,我使用以下命令运行SiriControl脚本:
python siricontrol.py
该脚本开始运行,并使用模块文件夹中的所有模块进行初始化。

图10:执行LED点亮

图11:执行LED熄灭
现在我命令Siri,“Note: Turn on LED(注意:打开LED)”,LED灯亮起,同时脚本会告诉我它执行了我的命令并且正在倾听另一个命令。我现在说,“Note: Turn off LED(注意:关闭LED)”,LED熄灭。只要符合以下条件,该脚本就会执行我(不管在任何地方)对Siri发出的命令:
1.Raspberry Pi正在运行该脚本。
2.Raspberry Pi已连至互联网,以便可以轮询Gmail帐户。
现在,您可以为任意Raspberry Pi项目添加任何SiriControl控制模块。虽然我在这个项目中使用了Pi,但是该教程在安装了Python的其他Linux开发板上同样可以工作。
6.0 附件:脚本
-
led
+关注
关注
243文章
24434浏览量
687411 -
互联网
+关注
关注
55文章
11321浏览量
108850
发布评论请先 登录
如何使用Raspberry pi和Python来控制Arduino
如何在基于Raspberry Pi的项目中使用霍尔传感器
基于Raspberry Pi 5的蜂窝物联网项目
如何添加GPS时间和位置至Raspberry Pi 项目
安装Raspberry Pi Clock Hat的教程分享
基于raspberry pi pico的EPS系统
分享一个不错的Raspberry Pi串行控制台迷你帽项目
在Raspberry Pi上安装Android的方法
基于Raspberry pi的电动相机三脚架
基于Raspberry Pi的DIY面部识别功能

分享在Raspberry Pi项目中添加Siri控制的方案设计
评论