由于各种条件限制,我经常需要出差到外地进行机顶盒的调试工作,
最后组装起来大概是这个样子的:
然后用远程桌面连接树莓派可以看到机顶盒的画面,大概是这个样子的(请不要吐槽画质,为了加快响应速度只能压一下画质了╮(╯▽╰)╭):
开发前提
1.带图形界面的Linux系统(windows系统也可以,考虑到这东西需要拿到外地去用,拿便宜小巧的树莓派当平台性价比更高)
2.arduino开发板
3.红外线接收模块/红外线发送模块各一个
4.视频采集卡
5.需要异地调试的机顶盒(遥控器得是红外线的)
I.获取机顶盒画面
首先,去某宝买一个支持linux平台的视频采集卡,将机顶盒和视频采集卡用HDMI线连接,将视频采集卡和树莓派用USB线连接。
接下来在树莓派上安装一个VLC media player[官方下载地址]
启动vlc,选择媒体-打开捕获设备,捕获模式使用默认的Video camera,视频设备名称选择插入采集卡后增加的设备(如果下拉框中没有显示可以手动输入)。音频设备名称只有一个选的,然后点播放就行了。其他品牌型号的采集卡有可能配置不一样,请咨询卖家客服。
II.安装VNC Sserver
这是远程桌面软件,通过这个软件和采集卡实现远程看到机顶盒画面。
vnc的使用请参考我另一篇博客Linux下vnc的安装、使用以及设置开机启动
III.红外线遥控
只能看见机顶盒的默认页面并没有什么卵用,还需要能够控制机顶盒(目前只讨论红外线的遥控器,蓝牙的以后再研究。)
树莓派自带GPIO,也有红外的模块LIRC,可是踩了一个多月的坑,看了大半个月的英文文档,最终还是扑街了,红外线发射模块无法正常工作╮(╯▽╰)╭
最后决定再加一个平台——arduino开发板,通过树莓派给arduino发送指令,arduino再来发送红外线。
红外线解码
首先准备一个arduino开发板,长这个样子(图片来自百度):
首先准备好红外线模块,一个用来发送,一个用来解析遥控器的信号(图片来自我买的那家某宝店)
用杜邦线连接红外线模块和arduino开发板,设置好针脚,先烧录红外线解码程序,然后通过串口监视器收集红外线码: