如何使用Amazon Alexa控制电视机

音视频及家电

734人已加入

描述

  可以通过 HDMI 激活。该电视项目向您展示如何从 Amazon Alexa 控制您的电视。

  这个项目具有控制电视的命令功能。这意味着你可以通过远程遥控而直接使用 Raspberry Pi 控制电视。为了完成这个,我创建了一个 Alexa 智能来控制我的电视。

  图形

Alexa

  第 1 步 - 设置树莓派

安装 ces-utils:

$ sudo apt-get 安装 cec-utils 

打开电视:

$ echo 'on 0' | cec-client -s
打开与 CEC 适配器的连接...
调试:[125] 广播 (F):osd 名称设置为“广播”
调试:[126] 打开 - vc_cec 初始化
调试:[126] 逻辑地址更改为免费使用(e)
注意:[126]连接打开
调试:[127]处理器线程启动
调试:[127]<<广播(F)->电视(0):轮询
调试:[127]启动器'广播'不是CEC 适配器支持。改用“免费使用”
TRAFFIC: [127] << e0
DEBUG: [187] >> POLL sent
DEBUG: [187] TV (0):
调试:[187] << 请求“TV”(0)的供应商 ID
流量:[187] << e0:8c
流量:[382] >> 0f:87:08:00:46
调试:[382] 电视( 0):供应商=索尼(080046)
调试:[383]>>电视(0)->广播(F):设备供应商ID(87) 
......

关闭电视:

$ echo '待机0' | cec-client -s
打开与 CEC 适配器的连接...
调试:[145] 广播 (F):osd 名称设置为“广播”
调试:[146] 打开 - vc_cec 初始化
调试:[146] 逻辑地址更改为免费使用 (e)
注意:[146] 连接已打开
调试:[147] 处理器线程已启动
调试:[147] << 广播 (F) -> 电视 (0): POLL
....

你现在可以打开/关闭电视了。

第 2 步 - AWS IoT
这个示例使用 AWS IoT 设备。只需要设置一套证书和文档。按照 AWS 中的步骤添加 Thing 和。

https://docs.aws.amazon.com/iot/latest/developerguide/iot-gs.html

不要忘记下载证书。创建东西后,添加设备状态。

{
  “期望”:{
    “命令”:“tv_off”,
    “计数器”:0
  }
}

第 3 步 - 设置莓派
将 HDIM 电缆连接到电视。片段树样本源。

$ cd /home/pi
$ git clone https://github.com/sparkgene/alexa-tv-controller.git
$ cd alexa-tv-controller/raspberrypi

将下载证书复制到 Raspberry Pi 并将其存储在 /home/pi/alexa-tv-controller/raspberrypi/certs 中。

将 shadow.js 终端到您的 AWS IoT 节点。

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”,
   区域:“ ap-northeast-1”,
   主机:“your-endpoint.iot.ap-northeast-1.amazonaws.com”
});

安装客户端库:

$ cd /home/pi/alexa-tv-controller/raspberrypi
$ sh setup.sh

运行客户端:

$ /usr/bin/node shadow_client.js 已
连接
注册
已在电视控制器上接受:{"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
没有变化没有什么

测试运行良好。您可以在 AWS IoT 不同的状态更改。

"command": "tv_on" 打开电视。
“命令”:“tv_off”关闭。 

第 4 步 创建家居技能
智能家居技能使用 v3 有效: https://developer.amazon.com/docs/smarthome/steps-to-build-a-smart-home-skill.html

使用示例 lambda 函数:https://github.com/sparkgene/alexa-tv-controller/blob/master/lambda_function/lambda_function.py

将friendlyName 更改为“living TV”。

"friendlyName": "直播电视",

Lambda 需要获得使用 AWS IoT 的权限。创建功能如下:

{
   “版本”:“2012-10-17”,
   “声明”:[
       {
           “效果”:“允许”,
           “操作”:[
               “日志:CreateLogGroup”,
               “日志:CreateLogStream”,
               “日志:PutLogEvents”
           ] ,
           "资源": "arn:aws:logs:*:*:*"
       },
       {
           "效果": "允许",
           "操作": [
               "iot:GetThingShadow",
               "iot:UpdateThingShadow"
           ],
           "资源" :“*"
       }
   ]
}

  第 5 步 - 从 Echo 使用它

  现在您可以使用 Echo 的智能技能了。启用该技能家居并说“Alexa,打开电视电视”。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分