資料介紹
描述
為什么燈帶
我一直對可尋址的 RGB LED 燈帶著迷。無窮無盡的色彩效果和動畫功能一直吸引著我的創(chuàng)造力,所以幾年前我決定為 Arduino 板開發(fā)一個名為 ALA(Arduino Light Animations)的庫。Alexa 現(xiàn)在讓我可以用我的聲音控制房間的燈光和效果,這太棒了!
項目概況
有這個項目所必需的組件。
- Amazon Alexa:自定義 Alexa 技能(Light Strip)定義語音交互模型并翻譯發(fā)出到 Lambda 函數(shù)的命令(意圖)。
- 亞馬遜物聯(lián)網(wǎng):物聯(lián)網(wǎng)服務存儲一個“事物影子”,它代表了 RGB 條帶的狀態(tài)。每次影子更新時,訂閱的 MQTT 客戶端 (Raspberry PI) 都會收到通知。
- Arduino :這個不錯的微控制器將運行ALA 庫來驅(qū)動 LED 燈條,通過 USB 串行端口接收來自 Raspberry PI 的命令。您可以使用 Arduino Uno、Nano 或 Mega 開發(fā)板。
- WS8212 RGB LED 燈條:這些是可尋址的 LED 燈條,因此每個 LED 燈都可以單獨控制。這允許美麗多彩的燈光動畫。
項目中沒有什么是非常具有挑戰(zhàn)性的,但是有很多相互關(guān)聯(lián)的部分。我建議您按照建議的結(jié)構(gòu)在堅實的基礎上構(gòu)建您的項目,然后再繼續(xù)下一步。為了使事情盡可能簡單,我將項目拆分為兩個子項目。
該項目的第一部分在我的Web-Controlled LED Animations with Raspberry Pi and Arduino Hackster.io 項目中有所描述,它將指導您完成連接 Raspberry PI、Arduino 板和 WS8212 LED 燈條所需的步驟。在此階段結(jié)束時,您將能夠使用網(wǎng)絡瀏覽器從智能手機或 PC 控制 LED 動畫。
此處描述的項目的第二部分將使用 Amazon Alexa 在之前的實施中添加語音控制。要正確設置整個鏈條,需要執(zhí)行幾個步驟,因此請耐心等待并仔細按照說明操作。
亞馬遜物聯(lián)網(wǎng)
你完成硬件部分了嗎?現(xiàn)在是上云的時候了!我們將使用 AWS IoT 平臺來管理來自互聯(lián)網(wǎng)的“事物”。
我們將使用“設備影子”,它是事物狀態(tài)的副本,以及所需的更改。Raspberry PI 將訂閱一個通知提要,將更改(“增量”)發(fā)布到此影子。查看此鏈接以了解有關(guān) AWS IoT 平臺和 API 的更多信息。
創(chuàng)建物聯(lián)網(wǎng)事物
登錄AWS 控制臺。如果您還沒有這樣做,則需要創(chuàng)建一個免費帳戶。
確保您已登錄右上角的美國東部(弗吉尼亞北部)或歐洲(愛爾蘭)區(qū)域。
搜索“IoT”并選擇AWS IoT服務。單擊“開始”按鈕(如果有)以關(guān)閉介紹教程。
我們首先需要為我們的“事物”創(chuàng)建一個安全策略。轉(zhuǎn)到Secure > Policies菜單,然后單擊Create a Policy按鈕并輸入以下信息:
- 名稱:LightStripPolicy
- 行動: *
- 資源: *
- 效果 - 允許:選中
- 點擊“創(chuàng)建”
現(xiàn)在我們可以創(chuàng)建 IoT Thing了。
- 選擇Manage > Things菜單并通過單擊Register a Thing按鈕(或右上角的Create按鈕)然后單擊Create a single thing創(chuàng)建一個新的 AWS IoT Thing 。
- 在名稱字段中鍵入“LS01”。保留其他字段的默認值并單擊下一步。
- 單擊一鍵式證書創(chuàng)建部分中的創(chuàng)建證書按鈕。
- 為您的設備和根 CA 下載 3 個證書。對于 Root CA,您可能需要右鍵單擊并保存它。
- 下載證書后,單擊“激活”按鈕。
- 單擊Attach a Policy按鈕,選擇您之前創(chuàng)建的LightStripPolicy ,然后單擊Register Thing 。
在繼續(xù)之前,您需要記下 AWS IoT 端點。單擊AWS IoT 網(wǎng)頁左下角的設置菜單,打開它并記下端點。
配置 Raspberry PI 以收聽“事物”
我們首先需要在 Raspberry PI 命令行上使用以下命令安裝AWS IoT Device SDK for Python :
sudo pip3 install AWSIoTPythonSDK
現(xiàn)在從 GitHub 下載LightStrip 存儲庫并解壓縮。
mkdir
cd /home/pi/LightStrip
wget https://github.com/bportaluri/LightStrip/archive/master.zip
unzip master.zip
將創(chuàng)建 IoT 事物時下載的四個證書復制到/home/pi/LightStrip/LightStrip-master/pi文件夾中。
編輯lightstripcfg.py腳本。您可以使用任何文本編輯器。以下是nano編輯器的命令。
cd /home/pi/LightStrip/LightStrip-master/pi
nano lightstripcfg.py
現(xiàn)在編輯設置以匹配您的配置。
- AWSIOT:輸入您之前記下的 AWS IoT 終端節(jié)點。
- ROOT_CA:根CA證書文件名
- CERTIFICATE:證書的文件名
- PRIVATE_KEY:私鑰文件名
- DEVICE_NAME:保持不變?yōu)椤癓S01”
關(guān)閉 nano 編輯器并按“Ctrl+X”然后按“Y”保存文件。
按如下方式啟動 lig??htstrip.py 腳本。
sudo python3 lightstrip.py
該腳本將列出連接的 USB 端口。Arduino 應該連接到 /dev/ttyACM0 所以運行腳本傳遞這樣的端口。
sudo python3 lightstrip.py /dev/ttyACM0
測試客戶端將連接到 Amazon Thing Shadow 服務并訂閱LS01影子設備的更改。成功連接后,客戶端腳本會將其狀態(tài)更新為 LS01 設備影子,并收到這樣的確認消息。
要驗證一切是否正常工作,請返回 AWS IoT 控制臺并選擇“管理”>“事物”菜單,然后打開LS01設備。選擇陰影菜單,您將看到設備陰影狀態(tài)。
單擊 Shadow Document 部分中的Edit鏈接,并將以下 JSON 文檔粘貼到 Shadow state 框中。
{
"desired": {
"animation": "101"
}
}
這是你應該看到的。
單擊“保存”鏈接時,“增量”消息將發(fā)送到 Raspberry PI 上的 MQTT 客戶端,這將打開 LED 燈帶。
以下 JSON 文檔會將顏色變?yōu)樗{色。
{
"desired": {
"color": "0066CC"
}
}
在這一點上,我們能夠從 ASW 物聯(lián)網(wǎng)服務控制我們的 LED 燈條,所以你應該為你感到驕傲。
AWS Lambda 函數(shù)
AWS Lambda 允許在云中運行代碼而無需配置或管理服務器。它是 Alexa Skills Kit 之間的完美橋梁,將在該項目的最后一步啟用語音控制。
登錄到AWS 控制臺。從服務列表中,選擇Lambda 。
確保您登錄的區(qū)域與您在上一步中使用的區(qū)域相同:右上角的美國東部(弗吉尼亞北部)或歐洲(愛爾蘭)區(qū)域。
單擊創(chuàng)建函數(shù)按鈕。點擊Author from scratch ,配置如下:
- 名稱 = LightStrip
- 運行時 = Python 3.6
- 現(xiàn)有角色:lambda_basic_execution
- 單擊創(chuàng)建函數(shù)按鈕
記下右上角的 Lambda ARN ID。
單擊LightStrip框以顯示功能代碼部分。
代碼輸入類型:內(nèi)聯(lián)編輯代碼
- 運行時:Python 3.6
- 處理程序:lambda_function.lambda_handler
應該已經(jīng)定義了lambda_function.py腳本。將LightStrip\lambda\lambda_function.py文件中的代碼粘貼到代碼編輯器中。
創(chuàng)建另一個名為ala_controller.py的文件,并將LightStrip\lambda\ala_controller.py文件中的代碼粘貼到代碼編輯器中。
這就是整個事情的樣子。
完成后,單擊右上角的橙色保存按鈕。
Alexa 技能
我們現(xiàn)在可以為 Alexa 創(chuàng)建 Light Strip 自定義技能。
轉(zhuǎn)到Amazon Developer Console并根據(jù)需要登錄。您可能需要先注冊您的帳戶。
轉(zhuǎn)到Alexa > Alexa Skills Kit(入門)。
單擊右上角的添加新技能按鈕,然后在技能信息選項卡中輸入以下數(shù)據(jù):
- 技能類型:自定義交互模型
- 語言:英語(美國)
- 名稱:燈帶
- 調(diào)用名稱:燈帶
- 點擊保存
這創(chuàng)造了技能。請注意技能 ID。
選擇“交互模型”菜單,然后單擊“啟動技能生成器”按鈕。
單擊代碼編輯器按鈕并將LightStrip/alexaskill/lightstrip_skill.json文件的內(nèi)容粘貼到文本框中。
單擊保存模型和構(gòu)建模型按鈕。構(gòu)建模型需要幾分鐘時間,請耐心等待。單擊技能信息按鈕返回技能配置頁面。
現(xiàn)在點擊配置菜單。
在服務端點類型中,選擇AWS Lambda ARN ,然后粘貼您在上面記下的 Lambda 函數(shù) ARN。
保留所有默認值并單擊下面的“保存”按鈕。
將 Alexa 技能連接到 Lambda 函數(shù)
返回您的 Lambda 函數(shù)。在右側(cè)有一個預定義觸發(fā)器列表。選擇Alexa Skills Kit ,它將添加到您的函數(shù)中。
配置如下:
- 應用程序 ID = 您在上面記下的技能 ID
- 點擊添加
- 點擊保存
你完成了
該項目現(xiàn)已完成。嘗試以下語音命令:
- 打開燈帶
- 打開
- 將亮度設置為 20%
- 將亮度設置為 50%
- 將顏色設置為紅色
- 將顏色設置為綠松石色
- 關(guān)掉
- 運行令人興奮的動畫
- 播放輕松的動畫
LightStrip 技能還允許更高級的語音交互
- 我:Alexa,打開 Light Strip
- Alexa:歡迎使用 LightStrip - LED 燈條會發(fā)出藍光
- 我:啟動動畫
- Alexa:你想要輕松還是刺激的動畫?
- 我:放松
- Alexa:好的 - LED 燈帶將顯示隨機動畫
- 我:下一個動畫
- Alexa:好的 - 將顯示另一個隨機動畫
為了更好地理解這里的交互模型是技能的完整 VUI 圖。
增強和改進
開機自動啟動 AlaWeb
該項目的一個小改進是在啟動時自動啟動lig??htstrip.py腳本,這樣您就不需要在每次啟動 Raspberry PI 或出現(xiàn)問題時手動啟動它,而您必須重新啟動。按照此說明進行操作。
添加和調(diào)整動畫
Light Strip cskill 已經(jīng)定義了 20 個動畫變化。但是,ALA 庫允許您輕松地設置您自己的動畫,選擇動畫預設、調(diào)色板和速度。您可以添加自己的動畫或調(diào)整ala_controller.py腳本中的現(xiàn)有動畫。在第 80 行左右,您將看到一個動畫設置列表,您可以根據(jù)自己的喜好修改或增強這些設置。
?
- 由Alexa Echo控制的Arduino機器人
- Arduino動畫矩陣骰子
- 使用Raspberry Pi和Arduino實現(xiàn)Web控制的LED動畫
- Arduino IoT Cloud ESP32 Alexa Control智能家居
- 使用Google Assistant和Alexa制作基于物聯(lián)網(wǎng)的Arduino智能家居
- Arduino物聯(lián)網(wǎng)云智能家居與Alexa使用NodeMCU
- Hello Alexa使用OLED顯示模塊和Arduino
- 帶有Neopixel環(huán)形動畫的Arduino時鐘
- 使用Alexa和Arduino IoT Cloud完全控制您的電視
- Arduino控制時鐘和動畫開源分享
- 貴州省智能燈桿標準設計圖集 2019
- 基于Arduino硬件光控燈制作資料 7次下載
- 使用Arduino通過程序控制LED燈
- 使用Arduino進行智能語音燈設計的接線說明和程序資料免費下載 0次下載
- Arduino教程之如何使用Arduino制作一個寶寶使用的小桔燈詳細資料概述 14次下載
- 26張電路原理動畫圖解 3478次閱讀
- 在QML動畫設計中通過指定關(guān)鍵幀創(chuàng)建時間線動畫 2173次閱讀
- 如何使用屬性動畫實現(xiàn)簡單屬性變化的動畫效果 1455次閱讀
- 如何使用Arduino構(gòu)建一個電子動畫眼睛 2644次閱讀
- Arduino WS2812B LED燈帶設計方案 1.2w次閱讀
- 如何從網(wǎng)頁控制arduino? 4186次閱讀
- Lottie組件提升ArkUI開發(fā)框架的動畫能力 2044次閱讀
- dfrobotRGB LED燈帶驅(qū)動拓展板簡介 2854次閱讀
- 微雪電子智能車Arduino AlphaBot2簡介 2275次閱讀
- 微雪電子智能車學習板配件包Arduino開發(fā)板簡介 1585次閱讀
- 微雪電子ROC-RK3308主板CC-Amazon Alexa簡介 1429次閱讀
- 最全的機械動畫原理合集免費下載 1.6w次閱讀
- 利用Arduino制作8×10 LED矩陣 8712次閱讀
- 遠程控制通訊--基于Arduino + ESP8266控制LED燈 4w次閱讀
- arduino是什么以及arduino能干什么 4.5w次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關(guān)電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數(shù)字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅(qū)動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多