IPOP V4.1:模拟发送linux智能电视遥控器指令的工具简介
IPOP V4.1:模拟发送linux智能电视遥控器指令的工具简介
IPOP V4.1是华为开发的网络调试工具,功能非常强大,包括IP绑定,路由配置,MAC信息设置查看,网络统计,端口信息,端口映射,网卡流量,报文捕获,终端工具,抓包工具等。其中的终端工具可以用在模拟发送linux智能电视遥控器指令键值的测试上。SecureCRT有类似的功能,但是功能相对简单些,推荐使用IPOP。操作步骤,如下:
1. 下载IPOP V4.1 工具,配置操作环境
下载IPOP V4.1,打开IPOP工具,进入“终端工具”选项卡,点击“新建连接”图标。

2. 通过串口线连接IPOP工具与linux智能电视
点击“新建连接”后,在弹出的“设置”窗口,对连接信息进行配置:选择COM串口、存盘设置、串口设置等等,和SecureCRT连接设置时差不多。
设 置连接信息后,点击确定按钮,成功进行串口连接,如下图。然后在菜单栏区域选择“发送窗口”图标,发送窗口显示在底部区域。可以在发送窗口编辑发送遥控器 红外键值的命令并执行发送、逐行发送等操作。发送窗口的内容可以保存并再次读取。发送操作包括行间隔、循环、换行、回车等选项。
在蓝色输出区域,点击鼠标右键,可以弹出上下文菜单,对输出区域进行清除,全选,拷贝粘贴等操作。

3. 抓取遥控器按键键值
在熟悉IPOP工具之后,我们来看一下如何抓取遥控器的按键键值。除了下述方法,还可以连接遥控器组的同事进行索要。
下面我们来演示如何抓取右方向键的键值:
按下遥控器的主页键,进入电视launcher页面,现在焦点在Home图标上。清空蓝色输出区域,按下遥控器右方向键,观察蓝色输出区域,应该有类似如下的日志输出:
[launcher]>directfb_gfx.cpp[ReadInput][1690]input_type:0×1,key_symbol:0x3f001,
key_id:0xf600, modifiers:0×0
[launcher]>directfb_gfx.cpp[SendKeypress][2573]Will send key to opera, key_type:
0 gogi_sym:0X27 gogi_value:, gogi_value_lenght:1
[launcher]>directfb_gfx.cpp[ReadInput][1690]input_type:0×2,key_symbol:0x3f001,
key_id:0xf600, modifiers:0×0
[launcher]>directfb_gfx.cpp[SendKeypress][2573]Will send key to opera, key_type:
1 gogi_sym:0X27 gogi_value:, gogi_value_lenght:1
ifconfig: ath0: error fetching interface information: Device not found
其中的红色字体部分,就可以看到对应右方向键的键值0x3f001,这个键值是16进制的数字。类似的,我们可以抓取遥控器上其他按键的键值:
0xbf000 red
0xbf001 green
0xbf002 yellow
0xbf003 blue
0x4f000 OK键
0x4f001 EXIT键
0x4f004 返回键
0x3f002 上方向键
0x3f003 下方向键
0x3f001 右方向键
0x3f000 左方向键
0x6f008 菜单键
0x5f01f input source键
0x5f000 sound+
0x5f001 sound-
0×10031 数字1
0×10032 数字2
0×10033 数字3
0×10034 数字4
0×10035 数字5
0×10036 数字6
0×10037 数字7
0×10038 数字8
0×10039 数字9
0×10030 数字0
0x8f003 info键
0x5f015 zoom键
主页键找不到
Vol+ Vol-找不到
Power找不到
mute键找不到
4. 编写模拟遥控器按键的简易脚本
在 知道遥控器键值后,就可以来编写模拟发送遥控器指令的脚本了,我们模拟一个简单的场景,假设现在在launcher页面,焦点在Home图标。我们来编写 简单的模拟在主页图标(Youtube/Moives/Home/AppStore/HiMedia)上进行切换的演示脚本,即向右2次,向左4次,然后 再次向右2次回到Home图标,该脚本可以反复发送执行,如图:
在发送窗口的命令的文字版为:
#right right left left left left right right right
ir.rx.send 0x3f001
ir.rx.send 0x3f001
ir.rx.send 0x3f000
ir.rx.send 0x3f000
ir.rx.send 0x3f000
ir.rx.send 0x3f000
ir.rx.send 0x3f001
ir.rx.send 0x3f001
针对模拟发送红外遥控器指令,后续工作主要包含:
1. 工具的封装和简化,让编写发送遥控器指令的发送更加简单易用。
2. 增加验证点,发送遥控器指令后,目前的方式无法对指令是否成功进行判断。




浙公网安备 33010602011771号