本教程旨在教您如何使用SiriControl開源Python框架在RaspberryPi項目中添加Siri功能和控制功能。
2.概述
在本教程中,我將介紹如何設(shè)置和使用SiriControl Python框架。我將利用SiriControl模塊和Raspberry Pi 3來點亮和熄滅一個LED。學完本教程之后,您將能夠使用SiriControl將Siri語音命令添加到任何Raspberry Pi項目中。開始學習之前,請確保您擁有以下設(shè)備和材料,并確保已經(jīng)安裝RaspberryPi且軟件能夠正常運行。
3.設(shè)備
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創(chuàng)建一個Gmail帳戶
2. iOS設(shè)備設(shè)置
3. SiriControl
1. 設(shè)置SiriControl
2. 創(chuàng)建自己的模塊
4. 電路接線
5. 上傳并運行程序
程 序
1.0 為SiriControl創(chuàng)建一個Gmail帳戶
SiriControl模塊需要一個Gmail帳戶才能工作。我創(chuàng)建了一個新的Gmail帳戶,僅供SiriControl使用。我建議您也這樣做。這是一個好主意,因為Python腳本可以包含該帳戶的用戶名和密碼。
創(chuàng)建帳戶后,我們需要允許不太安全的應(yīng)用程序訪問Gmail。這是因為Gmail服務(wù)器將Python腳本視為不太安全的應(yīng)用程序。我們可以在Sign-in & Security(登錄和安全)部分進行設(shè)置。
圖1:應(yīng)用程序訪問(關(guān)閉)
圖2:應(yīng)用程序訪問(開啟)
設(shè)置Gmail帳戶的最后一步是啟用IMAP協(xié)議。設(shè)置路徑如下:Gmail->Settings->Gear Part->Settings->Forwarding and POP/IMAP->IMAP Access。
圖3:IMAP(禁用)
圖4:IMAP(啟用)
2.0 iOS設(shè)備設(shè)置
將iOS設(shè)備上的“Notes”連至已經(jīng)設(shè)置好與SiriControl配合使用的Gmail帳戶。選擇Settings->Accounts & Passwords->Add Account(設(shè)置->帳戶和密碼->添加帳戶),添加剛才設(shè)置好的Gmail帳戶。添加該帳戶后,選擇它并啟用Notes(圖6:Gmail帳戶下的Notes)。接下來,選擇Settings->Notes,并啟用“On My iPhone” Account(我iPhone上的帳戶)。然后,將Default Account(默認帳戶)改為Gmail帳戶?,F(xiàn)在,我的iOS設(shè)備設(shè)置完畢。
圖5:帳戶和密碼
圖6:Gmail帳戶下的Notes
圖7:默認帳戶-Notes
3.0 Siri控制
3.1 設(shè)置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 創(chuàng)建自己的模塊
Siricontrol.py運行時,會從模塊(modules)文件夾中加載模塊腳本。執(zhí)行不同的任務(wù)時,按照模板編寫新的模塊腳本很重要。因為我想控制一個LED,所以我寫了一個腳本來打開LED(LED_on.py)和一個腳本來關(guān)閉LED(LED_off.py)。
要制作自己的模塊,請在模板腳本中執(zhí)行以下步驟:
1.在“moduleName”中命名該模塊
2.為模塊提供“commandWords”,以便讓Siri執(zhí)行命令。
3.在execute(command) 函數(shù)下寫入想要執(zhí)行的功能。
4.確保將腳本保存在模塊文件夾中。
4.0 連接電路
為了讓SiriControl執(zhí)行命令,我搭建了一個簡單的LED電路。我總是喜歡用Fritzing繪制接線圖。Fritzing是一款開源原理圖設(shè)計和PCB布線軟件。Fritzing的下載地址(可選)如下:http://fritzing.org/home/
圖9:Raspberry Pi LED原理圖
LED和電阻應(yīng)串聯(lián)在引腳11(GPIO17)和引腳25(地)之間。電阻的作用是限制流過LED的電流,并應(yīng)根據(jù)您的LED進行相應(yīng)調(diào)整,以防止電流過大將LED燒壞。請記住,LED較長的引線是正極,應(yīng)連接到引腳11。
5.0 上傳并運行程序
完成上述步驟后,我使用以下命令運行SiriControl腳本:
python siricontrol.py
該腳本開始運行,并使用模塊文件夾中的所有模塊進行初始化。
圖10:執(zhí)行LED點亮
圖11:執(zhí)行LED熄滅
現(xiàn)在我命令Siri,“Note: Turn on LED(注意:打開LED)”,LED燈亮起,同時腳本會告訴我它執(zhí)行了我的命令并且正在傾聽另一個命令。我現(xiàn)在說,“Note: Turn off LED(注意:關(guān)閉LED)”,LED熄滅。只要符合以下條件,該腳本就會執(zhí)行我(不管在任何地方)對Siri發(fā)出的命令:
1.Raspberry Pi正在運行該腳本。
2.Raspberry Pi已連至互聯(lián)網(wǎng),以便可以輪詢Gmail帳戶。
現(xiàn)在,您可以為任意Raspberry Pi項目添加任何SiriControl控制模塊。雖然我在這個項目中使用了Pi,但是該教程在安裝了Python的其他Linux開發(fā)板上同樣可以工作。
6.0 附件:腳本
-
led
+關(guān)注
關(guān)注
242文章
23842瀏覽量
673989 -
互聯(lián)網(wǎng)
+關(guān)注
關(guān)注
55文章
11249瀏覽量
106392
發(fā)布評論請先 登錄
如何使用Raspberry pi和Python來控制Arduino

如何在基于Raspberry Pi的項目中使用霍爾傳感器

基于Raspberry Pi 5的蜂窩物聯(lián)網(wǎng)項目

如何添加GPS時間和位置至Raspberry Pi 項目
安裝Raspberry Pi Clock Hat的教程分享
基于raspberry pi pico的EPS系統(tǒng)
分享一個不錯的Raspberry Pi串行控制臺迷你帽項目
在Raspberry Pi上安裝Android的方法

在Raspberry Pi上通過網(wǎng)絡(luò)控制LED

基于Raspberry pi的電動相機三腳架
在Raspberry Pi上模擬Commodore Amiga

基于Raspberry Pi的DIY面部識別功能

為Raspberry Pi添加15美元的顯示器

評論