可以通過 HDMI 激活。該電視項(xiàng)目向您展示如何從 Amazon Alexa 控制您的電視。
這個(gè)項(xiàng)目具有控制電視的命令功能。這意味著你可以通過遠(yuǎn)程遙控而直接使用 Raspberry Pi 控制電視。為了完成這個(gè),我創(chuàng)建了一個(gè) Alexa 智能來控制我的電視。
圖形

第 1 步 - 設(shè)置樹莓派
安裝 ces-utils:
$ sudo apt-get 安裝 cec-utils?
打開電視:
$ echo 'on 0' |?cec-client -s
打開與 CEC 適配器的連接...
調(diào)試:[125] 廣播 (F):osd 名稱設(shè)置為“廣播”
調(diào)試:[126] 打開 - vc_cec 初始化
調(diào)試:[126] 邏輯地址更改為免費(fèi)使用(e)
注意:[126]連接打開
調(diào)試:[127]處理器線程啟動(dòng)
調(diào)試:[127]<<廣播(F)->電視(0):輪詢
調(diào)試:[127]啟動(dòng)器'廣播'不是CEC 適配器支持。改用“免費(fèi)使用”
TRAFFIC: [127] << e0
DEBUG: [187] >> POLL sent
DEBUG: [187] TV (0):
調(diào)試:[187] << 請(qǐng)求“TV”(0)的供應(yīng)商 ID
流量:[187] << e0:8c
流量:[382] >> 0f:87:08:00:46
調(diào)試:[382] 電視( 0):供應(yīng)商=索尼(080046)
調(diào)試:[383]>>電視(0)->廣播(F):設(shè)備供應(yīng)商ID(87)?
......
關(guān)閉電視:
$ echo '待機(jī)0' |?cec-client -s
打開與 CEC 適配器的連接...
調(diào)試:[145] 廣播 (F):osd 名稱設(shè)置為“廣播”
調(diào)試:[146] 打開 - vc_cec 初始化
調(diào)試:[146] 邏輯地址更改為免費(fèi)使用 (e)
注意:[146] 連接已打開
調(diào)試:[147] 處理器線程已啟動(dòng)
調(diào)試:[147] << 廣播 (F) -> 電視 (0): POLL
....
你現(xiàn)在可以打開/關(guān)閉電視了。
第 2 步 - AWS IoT
這個(gè)示例使用 AWS IoT 設(shè)備。只需要設(shè)置一套證書和文檔。按照 AWS 中的步驟添加 Thing 和。
https://docs.aws.amazon.com/iot/latest/developerguide/iot-gs.html
不要忘記下載證書。創(chuàng)建東西后,添加設(shè)備狀態(tài)。
{
? “期望”:{
? ? “命令”:“tv_off”,
? ? “計(jì)數(shù)器”:0
? }
}
第 3 步 - 設(shè)置莓派
將 HDIM 電纜連接到電視。片段樹樣本源。
$ cd /home/pi
$ git clone https://github.com/sparkgene/alexa-tv-controller.git
$ cd alexa-tv-controller/raspberrypi
將下載證書復(fù)制到 Raspberry Pi 并將其存儲(chǔ)在 /home/pi/alexa-tv-controller/raspberrypi/certs 中。
將 shadow.js 終端到您的 AWS IoT 節(jié)點(diǎn)。
var shadowName = "tv-controller"
var thingShadows = awsIot.thingShadow({
? keyPath: "/home/pi/alexa-tv-controller/raspberrypi/certs/private.pem.key",
?certPath: "/home/pi/alexa -tv-controller/raspberrypi/certs/certificate.pem.crt”,
? ?caPath:“/home/pi/alexa-tv-controller/raspberrypi/certs/ca.pem”,
?clientId:“tv-controller”,
? ?區(qū)域:“ ap-northeast-1”,
? ?主機(jī):“your-endpoint.iot.ap-northeast-1.amazonaws.com”
});
安裝客戶端庫(kù):
$ cd /home/pi/alexa-tv-controller/raspberrypi
$ sh setup.sh
運(yùn)行客戶端:
$ /usr/bin/node shadow_client.js 已
連接
注冊(cè)
已在電視控制器上接受:{"state":{"desired":{"command":"tv_off","counter":1517043288},"reported":{ "counter":1517043288,"command":"tv_off"}},"metadata":{"desired":{"command":{"timestamp":1517043289},"counter":{"timestamp":1517043289}} ,"reported":{"counter":{"timestamp":1517043293},"command":{"timestamp":1517043293}}},"version":26,"timestamp":1517046963}
counter:1517043288
沒有變化沒有什么
測(cè)試運(yùn)行良好。您可以在 AWS IoT 不同的狀態(tài)更改。
"command": "tv_on" 打開電視。
“命令”:“tv_off”關(guān)閉。?
第 4 步 創(chuàng)建家居技能
智能家居技能使用 v3 有效: https://developer.amazon.com/docs/smarthome/steps-to-build-a-smart-home-skill.html
使用示例 lambda 函數(shù):https://github.com/sparkgene/alexa-tv-controller/blob/master/lambda_function/lambda_function.py
將friendlyName 更改為“l(fā)iving TV”。
"friendlyName": "直播電視",
Lambda 需要獲得使用 AWS IoT 的權(quán)限。創(chuàng)建功能如下:
{
? ?“版本”:“2012-10-17”,
? ?“聲明”:[
? ? ? ?{
? ? ? ? ? ?“效果”:“允許”,
? ? ? ? ? ?“操作”:[
? ? ? ? ? ? ? ?“日志:CreateLogGroup”,
? ? ? ? ? ? ? ?“日志:CreateLogStream”,
? ? ? ? ? ? ? ?“日志:PutLogEvents”
? ? ? ? ? ?] ,
? ? ? ? ? ?"資源": "arn:aws:logs:*:*:*"
? ? ? ?},
? ? ? ?{
? ? ? ? ? ?"效果": "允許",
? ? ? ? ? ?"操作": [
? ? ? ? ? ? ? ?"iot:GetThingShadow",
? ? ? ? ? ? ? ?"iot:UpdateThingShadow"
? ? ? ? ? ?],
? ? ? ? ? ?"資源" :“*"
? ? ? ?}
? ?]
}
第 5 步 - 從 Echo 使用它
現(xiàn)在您可以使用 Echo 的智能技能了。啟用該技能家居并說“Alexa,打開電視電視”。
電子發(fā)燒友App








評(píng)論