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