步骤1:将其打开
我首先拆开HDMI开关以查看内部内容。
我用万用表探测电路板,并确定:
“选择”按钮通过将一条线拉到地面来工作,并且
每个LED上的压降为2V
任一时刻最多有一个LED处于活动状态。因此,通过将LED阳极连接至光子模拟引脚,我可以确定哪一个点亮,从而确定当前将哪个HDMI输入路由到输出端口。
要模拟按下“选择”按钮,我可以简单地将选择引脚的一只脚拉到地面。这会导致HDMI开关将不同的输入路由到输出。
切换“选择”开关并监视LED以确定结果,正是我需要远程控制HDMI开关。
步骤2:连接HDMI开关
要监控LED,我焊接了一根引线到每个LED的阳极。
要切换HDMI开关,我将一根引线焊接到了选择按钮的上侧。
我也将一根引线焊接到了方便的接地。
最后,我在外壳上钻了一个孔,将电线穿过该孔,然后将HDMI开关放回原处。
。
步骤3:连接粒子光子
我用一块穿孔板安装光子,然后将LED引线连接到光子上的A0,A1和A2,将选择按钮连接到D6,并接地。为了控制Chromecast加密狗的电源,我添加了一个p型MOSFET作为开关,该电源通过USB A型母头连接器供电。 MOSFET的栅极引脚还具有一个10K欧姆的上拉电阻。
还有一个将D1接地的按钮,但目前还没有使用。
至为光子供电,我使用了DC-DC转换器,因为光子数据表(https://goo.gl/MdwMp1)提出了一些有关使电源线短路的警告。
此外,请注意,光子标称是3.3V的部件,因此将其连接到5V的部件似乎很危险。但是数据表说数字引脚(例如我正在使用的D6)是5V耐压的。如上所述,LED两端的电压降约为2V,因此在那里没有问题。
最后一张图片显示了完整的硬件。显然,我需要将其放在项目箱或某种情况下,但这将是将来的项目。
步骤4:对光子进行编程
如有必要,请遵循“粒子”指南并设置光子(https://docs.particle.io/guide/getting-started/start/photon/)。然后,启动Particle Web IDE(https://build.particle.io),创建一个新应用,粘贴所附的hdmiswitch.ino脚本并闪烁您的Photon。
这里有很多详细信息,但是如果您不熟悉Photon,Particle网站上有一些不错的文档。 https://docs.particle.io/guide/getting-started/int 。..
我提供了hdmiswitch_tester.py Python测试脚本,您可以使用该脚本与Photon进行交互并执行切换功能。首先,您将必须编辑测试脚本以添加您的Photon设备ID和“粒子”访问令牌值。然后,从命令行运行 python hdmiswitch_tester.py XXX (其中XXX是tivo,dvd或chromecast)在设备之间进行切换。当然,Tivo和DVD播放器必须加电才能切换到它们。运行 python hdmiswitch_tester.py --help 来查看命令语法是什么。此脚本应该在Windows,Linux和Mac上都可以运行,并且您需要安装Python 2.7。
我在交换机端口1上连接了Chromecast,在端口2上安装了DVD播放器,在端口2上安装了Tivo 3.您可以修改脚本以适合您的特定设备。
切换到Chromecast会延迟一些时间,因为它必须开机,大约需要30秒钟。
第5步:设置Alexa和IFTTT
一旦事情在python测试脚本中起作用,您就知道光子正在通过粒子云服务。下一步是为Alexa设置一种发布与测试脚本相同的命令的方法。这可以通过创建一个集成了Alexa和Particle云服务的IFTTT应用程序来实现。
登录IFTTT并使用这些屏幕截图作为指南来设置3个应用程序。我的3个词是“ chromecast”,“ dvd player”和“ tivo”,但是您可以根据需要自定义内容。只需记住对hdmiswitch.ino代码进行适当的更改即可。
现在,我可以命令Alexa将电视从Tivo切换到DVD播放器,再切换到Chromecast。请注意,Alexa有时不理解该请求,因此我可能不得不将触发词更改为更易于理解的内容。我还用一根较长的HDMI线从交换机到电视换了一根短的HDMI电缆,这样交换机就不再只是背在背上了。
-
HDMI开关
+关注
关注
0文章
3浏览量
7431 -
语音控制
+关注
关注
5文章
476浏览量
28203
发布评论请先 登录
相关推荐
评论