16. 進階物聯網案例 13:語音聲控風扇¶
難度:
16.2. 背景¶
甚麼是語音聲控風扇?
語音聲控風扇是一個連接上了互聯網的風扇,可以藉由語音助手使用語音指令喚醒。用戶可以定義不同的語音指令來控制風扇的速度或模式。在本案例中,用戶可以用語音指令打開和關閉風扇。
運作原理
在程序中,micro:bit 會連接到 WIFI 並獲取設備 ID。通過設置接收到的指令(turn_on_fan 和 turn_off_fan),可以打開和關閉風扇摩打。
在 IFTTT 平台的 Smarthon IoT:bit 擴展中,可以預先設置指令,當用戶對語音助手說出特定短語時,它將通過互聯網將指令發送到風扇並觸發打開或關閉的操作。

了解更多:什麼是語音助手?
語音助手,也稱為智能虛擬助理 (IVA) 或智能個人助理 (IPA),是一種軟件程序,可以根據用戶的命令或問題執行任務或提供服務。有時會用「聊天機器人」來稱呼那些網上聊天的虛擬助手。Amazon Alexa、Google Assistant和 Apple Siri 是常見的例子。
語音助手可以進行語音交互、播放音樂、創建待辦事項列表、設置鬧鐘、串流播客、播放有聲讀物,並提供天氣、交通、體育和其他實時信息,例如新聞。它們還可以控制多種智能設備,充當家庭自動化系統。
如今,為了讓家居更智能,Amazon Echo Dot、Google Home 和 Apple HomePod 作為家用中央控制設備,內置了語音助手,用戶可以通過語音指令輕鬆控制不同的電子設備。

16.4. 組裝步驟¶
步驟一
這個案例以「大房子模型」作為基礎。

步驟二
對準 A 和 B3 模型上的孔,將 E1 模型組裝到 A 模型上。

步驟三
用 M4*10 毫米螺絲及螺母把風扇馬達安裝到 F 模型上,連接線可以穿過旁邊的孔。

步驟四
把 F 模型裝到 B3、B4 模型上以搭建一個風扇架。

步驟五
我們來製作一張沙發。將兩個 K3 模型裝到 K1 模型的兩側。

步驟六
將 K2 模型與 K1-K3 模型組裝到一起。

步驟七
沙發完成!

步驟八
把沙發放在風扇旁邊。

步驟九
把 H 模型裝在 B3 模型上,作為裝飾擺設。

步驟十
組裝完成!

可選:
步驟一
將 Amazon Alexa/Google Nest Mini/Apple Homepod mini 放在客廳。在本案例中,我們放了 Amazon Alexa。

步驟二
組裝完成!

16.6. 編程(MakeCode)¶
步驟一. 初始化OLED、IoT:bit;連接WiFi
在
當啟動時加入OLED 初始化寬128高64加入
初始化IoT:bit TX P16 RX P8加入
連接到 WiFi 名稱 密碼並輸入 WiFi 名稱和密碼
步驟二. WiFi連線後顯示圖示勾號和裝置ID
放入一個
當WiFi連接成功後在裡面加入
顯示圖示勾號,以在連線後顯示勾號將
當WiFi連接成功後上的變數Device_ID拉到新行顯示字符串上
步驟三. 接收指令
放入一個
當從互聯網接收到指令,在 OLED 顯示屏上顯示指令加入
清除顯示以在每次刷新前清除顯示用
新行顯示字符串 字串組合 Command: WAN_Command顯示WAN_Command並附上文字說明
步驟四. 指令執行相應動作
加入一個巢狀的
如果語句將第一個條件設為
WAN_Command = turn_off_fan在第一個
如果段中,用開啟風扇馬達至速度 0 接口 P1來關閉風扇將第二個條件設為
WAN_Command = turn_on_fan在第二個
如果段中,用開啟風扇馬達至速度 1023 接口 P1來打開風扇
完整答案
MakeCode: https://makecode.microbit.org/_XE7bMKA8xRfF
你可以從以下網頁中下載HEX檔案:
16.7. 物聯網(Alexa, 雲端控制, IFTTT)¶
第一部分. 設置 Amazon Alexa¶
取得 Amazon Alexa App。

建立 Amazon 帳戶(如果未有 Amazon 帳戶)並登入。

可選:
設定 Alexa 裝置並連接到 Amazon 帳戶。
第二部分. 設置 IFTTT¶
取得 IFTTT App。

打開並登入 IFTTT。
按下「create」來創建一個 applet。
在「If」中,搜尋「alexa」並選擇「Amazon Alexa」,然後選擇「Say a specific phrase」。

它會自動檢測 Amazon Alexa App中的已經登入了的帳戶。然後,在紅框位置輸入短語。在這個例子中,我們輸入「turn on the fan」。

在「Then」中,搜尋「smarthon iot」並選擇「Smarthon IoT (micro:bit)」。

選擇「Control Command」,然後填寫「Device ID」,「Command」的名稱根據 micro:bit 的程式填寫,然後按下「Continue」就完成了!

結果¶
打開 Amazon Alexa App,使用連接了 IFTTT 的 Alexa 帳戶。
按一下右下角的按鈕與 Alexa 對話,然後說「Trigger turn on the fan」。

第一次會詢問您是否開啟對話服務。按下「Turn on」並再次說出短語。短語應觸發 IFTTT 並使指令傳送至 Iot:bit。

當說「Alexa trigger turn on the fan」時,風扇就會打開; 當說「Alexa trigger turn off the fan」時,風扇就會關閉。

可選:
您可以將真實設備 Amazon echo dot 連接到這個 App,以便使用真實的語音控制器進行語音控制。

16.8. 物聯網(Google Assistant)¶
第一部分. 設置 Google Home 和 Google Assistant App¶
取得 Google Home 和 Google Assistant App。

登入您的 Google 帳戶。
打開 Google Home App,切換到您的 Google 帳戶。
按下「settings」,選擇「Works with Google」。

搜尋並選擇「IFTTT」,授權 Google 存取 IFTTT 服務。

連結後,IFTTT 會出現在列表中。

第二部分. 設置 IFTTT¶
取得 IFTTT App。

打開並登入 IFTTT。
按下「create」來創建一個 applet。
在「If」中,搜尋「google assistant」並選擇「Google assistant V2」。

在「Activate scene」中輸入觸發指令的短語。在案本例中,我們輸入「fan on」。

在「Then」中,搜尋「smarthon iot」並選擇「Smarthon IoT (micro:bit)」。

選擇「Control Command」,然後填寫「Device ID」以及指令「turn_on_fan」。

最後按下「Continue」和「Finish」以保存。

結果¶
打開 Google Home 或 Google Assistant App。確保登入的 Google 帳戶已連接到先前在 Google Home App上設定的 IFTTT。
說「Hey google, activate (您設定的短語)」或按下按鈕然後說「Activate (您設定的短語)」。

短語應觸發 IFTTT 並使指令傳送至 Iot:bit。

風扇就會打開。

可選:
您可以將真實設備 Google Nest Mini 或 Google Home 連接到這個 App,以便使用真實的語音控制器進行語音控制。

16.9. 物聯網(Apple Siri)¶
第一部分. 設置 IFTTT¶
取得 IFTTT App。

打開並登入 IFTTT。
按下「create」來創建一個 applet。
在「If 」中,搜尋「iOS Shortcuts」,然後選擇「Shortcut automation started」。

在「Then」中,搜尋「smarthon iot」並選擇「Smarthon IoT (micro:bit)」。

選擇「Control Command」,然後填寫「Device ID」,「Command」的名稱根據 micro:bit 的程式填寫,然後按下「Continue」就完成了!

第二部分. 在 iPhone 上設定 IOS Shortcuts¶
開啟 Shortcuts App,然後按下右上角的加號按鈕 (+)。

按下 Add Action > App > IFTTT。

選擇 Trigger Applet,按一下 Select an Applet 旁邊的藍色箭頭 ( > ),然後按下 Choose。

選擇您想要利用此捷徑執行的 Applet(請注意,只有使用了「iOS Shortcuts - Shortcut automation started trigger」的 Applet 才會出現在此清單中)。

點擊屏幕頂部的「Trigger Applet」來命名您的捷徑,這將成為用來觸發該 Applet 的自訂短語。

保存捷徑。

結果¶
按一下該捷徑,或者按住 iPhone 上的按鈕,然後說「Turn on the fan」或「Hi Siri turn on the fan」。

Applet 會觸發。

可選:
您可以將真實設備 Apple Homepod 連接到 Apple Home App,以便使用真實的語音控制器進行語音控制。


