1147557131 发表于 2026-9-13 16:17

天邑TY1208Z(S905M2)Armbian纯命令行适配遥控器 + B站投屏

本帖最后由 1147557131 于 2026-9-20 16:14 编辑

设备:天邑 TY1208Z(CPU:S905M2,1GB RAM,8GB ROM)
系统:Armbian 25.5.0 (Ubuntu noble) / 内核 6.1.135-ophub
背景:盒子刷了纯命令行的Armbian(无桌面),不安装Xorg,直接跑Kodi,并用原装红外遥控器控制,实现手机B站投屏。废话不多说,直接上折腾过程,全网首发,踩坑无数,按我的步骤走保证成功!第一步:安装所需软件在终端执行(注意带上 kodi-inputstream-adaptive,这是B站等流媒体播放的核心依赖):sudo apt update
sudo apt install kodi kodi-inputstream-adaptive kodi-standalone ir-keytable evtest -ykodi-standalone 是专为无桌面环境设计的启动脚本,能自动处理虚拟终端切换,让 Kodi 直接在电视上全屏运行,无需额外安装 Xorg 或桌面环境。第二步:检查红外功能是否启用
不要急着抓码,先确认红外接收器是否被系统识别。1. 检查内核日志:dmesg | grep -i infrared如果有输出(例如 rc rc0: meson-ir 之类),说明红外驱动已加载。2. 检查输入设备:cat /proc/bus/input/devices在输出中找 meson-ir 或类似的红外设备名称,记下它对应的 event 编号(通常是 event1)。3. 确认设备节点存在:ls /dev/input/event*应该能看到 /dev/input/event1(或你的实际编号)。4. 快速测试:sudo evtest选择你的红外设备(如 1),然后按遥控器任意键。如果终端有输出,说明红外功能正常。按 Ctrl+C 退出。
第三步:抓取遥控器按键码确认红外正常后,抓取按键码:sudo ir-keytable -s rc1 -p all -t然后依次按下遥控器上的所有按键,记录下终端跑出的 scancode(长按会带有 repeat 提示,可忽略)。
我这边测试了这台天邑遥控器的完整键码(NEC协议),可直接参考:
[*]电源:0xb3dc,菜单:0xb388,返回:0xb3c5
[*]上:0xb3ca,下:0xb3d2,左:0xb399,右:0xb3c1,OK:0xb3ce
[*]音量+:0xb380,音量-:0xb381
[*]频道+:0xb385,频道-:0xb386
[*]快进:0xb39e,后退:0xb39d
[*]上页:0xb3dd,暂停:0xb395,静音:0xb39c,下页:0xb38c
[*]#键:0xb3d0,刷新:0xb3d6,0:0xb387,*键:0xb3da
[*]1:0xb392,2:0xb393,3:0xb3cc,4:0xb38e,5:0xb38f
[*]6:0xb3c8,7:0xb38a,8:0xb38b,9:0xb3c4
[*]设置:0xb38d,声道:0xb398,定位:0xb39a,本地:0xb382
[*]收藏:0xb39b,点:0xb383,信息:0xb3c3,直:0xb3cd
⚙️ 第四步:配置系统底层映射(防重启失效)新手建议:可以使用 1Panel 的图形化文件管理器来新建文件夹和文件,极其方便。
⚠️ 避坑警告:千万别用面板直接编辑文件内容! 网页编辑器会带入不可见的换行符,导致底层程序报错 Failed to read 或 status=64。创建完空文件后,内容必须用终端 tee 命令写入!
      1. 写入底层按键映射文件(返回键已改为退格键(0xb3c5 = "KEY_BACK"      # 返回键),输入时删除字符):sudo tee /etc/rc_keymaps/ty1208z_ir.toml << 'EOF'
# 天邑 TY1208Z 遥控器底层映射模板
[]
name = "ty1208z_ir"
protocol = "nec"


# ==================== 基础导航 ====================
0xb3dc = "KEY_POWER"       # 电源键
0xb388 = "KEY_MENU"      # 菜单键
0xb3c5 = "KEY_BACKSPACE"   # 返回键0xb3c5 = "KEY_BACK" (已改为退格键,用于命令行删除)
0xb3ca = "KEY_UP"          # 上键
0xb3d2 = "KEY_DOWN"      # 下键
0xb399 = "KEY_LEFT"      # 左键
0xb3c1 = "KEY_RIGHT"       # 右键
0xb3ce = "KEY_ENTER"       # 确定/OK键
0xb380 = "KEY_VOLUMEUP"    # 音量 +
0xb381 = "KEY_VOLUMEDOWN"# 音量 -

# ==================== 功能键区 ====================
0xb398 = "KEY_AUDIO"       # 声道
0xb39c = "KEY_MUTE"      # 静音
0xb38d = "KEY_SETUP"       # 设置
0xb39a = "KEY_BOOKMARKS"   # 定位
0xb39b = "KEY_FAVORITES"   # 收藏
0xb39e = "KEY_FASTFORWARD" # 快进 >>
0xb39d = "KEY_REWIND"      # 后退 <<
0xb391 = "KEY_DELETE"      # 回看键(已改为删除键)
0xb383 = "KEY_VIDEO"       #
0xb3c3 = "KEY_INFO"      # 信息
0xb3cd = "KEY_TV"          #
0xb382 = "KEY_FILE"      # 本地

# ==================== 导航与多媒体 ====================
0xb395 = "KEY_PLAYPAUSE"   # 播放/暂停
0xb3dd = "KEY_PAGEUP"      # 上页
0xb38c = "KEY_PAGEDOWN"    # 下页
0xb385 = "KEY_CHANNELUP"   # 频道 +
0xb386 = "KEY_CHANNELDOWN" # 频道 -
0xb3d6 = "KEY_REFRESH"   # 刷新

# ==================== 数字键区 ====================
0xb392 = "KEY_1"         # 1
0xb393 = "KEY_2"         # 2
0xb3cc = "KEY_3"         # 3
0xb38e = "KEY_4"         # 4
0xb38f = "KEY_5"         # 5
0xb3c8 = "KEY_6"         # 6
0xb38a = "KEY_7"         # 7
0xb38b = "KEY_8"         # 8
0xb3c4 = "KEY_9"         # 9
0xb387 = "KEY_0"         # 0
0xb3da = "KEY_STAR"      # *(软键盘)
0xb3d0 = "KEY_POUND"       # #(输入法)
EOF
2. 创建Systemd开机自启服务(加5秒延迟,防开机红外硬件未就绪):sudo tee /etc/systemd/system/ir-keytable.service << 'EOF'

Description=IR Keytable Loader
After=local-fs.target


Type=oneshot
RemainAfterExit=yes
ExecStartPre=/bin/sleep 5
ExecStart=/bin/bash -c '/usr/bin/ir-keytable -c -w /etc/rc_keymaps/ty1208z_ir.toml -s rc1'


WantedBy=multi-user.target
EOF
rc1是我这机子的红外设备,请按你实际的,来选择你的红外设备。

3. 加载并启动服务:sudo systemctl daemon-reload
sudo systemctl enable --now ir-keytable.service
sudo systemctl status ir-keytable.service加载并启动服务enable 就是加入开机自启,--now 是立即生效。(这一步就是设置红外遥控器开机自启)检查自启是否设置成功:sudo systemctl is-enabled ir-keytable.service
如果输出 enabled,说明开机自启已经配置好了。此时服务状态应该是绿色的Active: active (exited),说明系统底层彻底认下了这个遥控器!
第五步:让Kodi认识这套按键底层通了后,Kodi还需要一份映射文件。
新手继续用 1Panel 图形化工具,在 /home/用户名/.kodi/userdata/ 目录下新建 keymaps 文件夹。必看:把路径中的 an 换成你的用户名,你在操作时请替换成你自己的。 你可以在终端输入 whoami 查看到自己的用户名。建完文件夹后,终端执行权限修复(防止Kodi读不到):# 以我的用户名 an 为例,记得把下面的 an 换成你的
sudo chown -R an:an /home/an/.kodi然后用 tee 命令写入 Kodi 专属的 keyboard.xml:# 同样,把下面路径中的 an 换成你的用户名
sudo tee /home/an/.kodi/userdata/keymaps/keyboard.xml > /dev/null << 'EOF'
<keymap>
<global>
    <keyboard>
      <!-- 基础导航 -->
      <KEY_POWER>Quit</KEY_POWER>
      <KEY_MENU>ContextMenu</KEY_MENU>
      <KEY_BACKSPACE>Back</KEY_BACKSPACE> <!-- 底层改为退格键,这里映射为返回动作 -->
      <KEY_UP>Up</KEY_UP>
      <KEY_DOWN>Down</KEY_DOWN>
      <KEY_LEFT>Left</KEY_LEFT>
      <KEY_RIGHT>Right</KEY_RIGHT>
      <KEY_ENTER>Select</KEY_ENTER>
      <KEY_VOLUMEUP>VolumeUp</KEY_VOLUMEUP>
      <KEY_VOLUMEDOWN>VolumeDown</KEY_VOLUMEDOWN>

      <!-- 功能键区 -->
      <KEY_AUDIO>AudioNextLanguage</KEY_AUDIO>
      <KEY_MUTE>Mute</KEY_MUTE>
      <KEY_SETUP>ActivateWindow(Settings)</KEY_SETUP>
      <KEY_BOOKMARKS>CreateBookmark</KEY_BOOKMARKS>
      <KEY_FAVORITES>ActivateWindow(Favourites)</KEY_FAVORITES>
      <KEY_VIDEO>ActivateWindow(Videos)</KEY_VIDEO>
      <KEY_INFO>Info</KEY_INFO>
      <KEY_TV>ActivateWindow(TVChannels)</KEY_TV>
      <KEY_FILE>ActivateWindow(Files)</KEY_FILE>

      <!-- 导航与多媒体 -->
      <KEY_DELETE>Delete</KEY_DELETE>
      <KEY_PLAYPAUSE>PlayPause</KEY_PLAYPAUSE>
      <KEY_REWIND>Rewind</KEY_REWIND>
      <KEY_FASTFORWARD>FastForward</KEY_FASTFORWARD>
      <KEY_PAGEUP>PageUp</KEY_PAGEUP>
      <KEY_PAGEDOWN>PageDown</KEY_PAGEDOWN>
      <KEY_CHANNELUP>ChannelUp</KEY_CHANNELUP>
      <KEY_CHANNELDOWN>ChannelDown</KEY_CHANNELDOWN>
      <KEY_REFRESH>UpdateLibrary(video)</KEY_REFRESH>

      <!-- 数字键区 -->
      <KEY_0>Number0</KEY_0>
      <KEY_1>Number1</KEY_1>
      <KEY_2>Number2</KEY_2>
      <KEY_3>Number3</KEY_3>
      <KEY_4>Number4</KEY_4>
      <KEY_5>Number5</KEY_5>
      <KEY_6>Number6</KEY_6>
      <KEY_7>Number7</KEY_7>
      <KEY_8>Number8</KEY_8>
      <KEY_9>Number9</KEY_9>
      <KEY_STAR>Star</KEY_STAR>
      <KEY_POUND>Hash</KEY_POUND>
    </keyboard>
</global>
</keymap>
EOF
第六步:配置 kodi-standalone 服务,实现 Kodi 开机自启。注意:下面的 User=an 和 Group=an 也要换成你的用户名
使用 Kodi 自带的 kodi-standalone 脚本,能自动处理虚拟终端(tty)切换,让 Kodi 直接在电视上全屏运行,无需安装桌面环境。1. 创建 Kodi 服务文件:sudo tee /etc/systemd/system/kodi.service << 'EOF'

Description=Kodi standalone
After=remote-fs.target systemd-user-sessions.service network-online.target nss-lookup.target sound.target bluetooth.target
Wants=network-online.target
Conflicts=getty@tty1.service


User=an
Group=an
PAMName=login
TTYPath=/dev/tty1
ExecStart=/usr/bin/kodi-standalone
ExecStop=/usr/bin/killall --exact --wait kodi.bin
Restart=on-abort
StandardInput=tty
StandardOutput=journal


Alias=display-manager.service
EOF2. 设置系统默认启动到图形目标(配合 Kodi 自启):sudo systemctl set-default graphical.target3. 设置 Kodi 开机自启,并立刻启动它:sudo systemctl daemon-reload
sudo systemctl enable kodi
sudo systemctl start kodi4. 检查 Kodi 是否已设置开机自启:sudo systemctl is-enabled kodi.service输出 enabled 即代表自启设置成功。5. 可选:配置免密 sudo(部分系统需要。楼主没用到)
如果你的系统提示 kodi-standalone 需要 sudo 权限,可以添加以下配置(记得替换 an 为你的用户名):sudo tee /etc/sudoers.d/030-kodi-standalone << 'EOF'
an ALL=(ALL) NOPASSWD:/usr/bin/kodi,/usr/lib/kodi,/usr/share/kodi,/usr/bin/kodi-standalone,/usr/lib/kodi/kodi.bin,/usr/bin/killall,/usr/sbin/service,/usr/bin/openvt
EOF执行完 sudo systemctl start kodi 后,HDMI 输出应该就会出现 Kodi 界面。(5分钟左右吧)第七步:设置 Kodi 中文界面现在 HDMI 电视上应该已经出现 Kodi 画面了,接下来设置中文:1. 先设置字体(关键!直接设中文会乱码)
进入 Settings → Interface settings → 左侧 Skin → 找到 Fonts,将 Skin default 改为 Arial based。2. 再设置语言
返回 Interface settings,左侧 Regional → 找到 Language,下拉选择 Chinese (Simple)(简体中文)。注意:必须先改字体为 Arial based,再改语言为中文,否则会出现口口口乱码。 第八步:Kodi 设置开启 B 站投屏(UPnP/DLNA)
[*]进入 Kodi 界面 → 左下角齿轮【设置】→【服务】
[*]左下角把模式切换到专家模式(非常重要,否则看不到全部选项)
[*]点左侧 UPnP/DLNA
✅打开:
[*]点左侧 UPnP/DLNA
✅打开:启用 UPnP 支持,允许通过 UPnP 远程控制 Kodi,寻找远程 UPnP 播放器
保存退出。

[*]寻找远程 UPnP 播放器保存退出。(可选)打开 AirPlay,兼容苹果手机投屏。

月下桥 发表于 2026-9-14 09:25

谢谢分享

1147557131 发表于 2026-9-14 15:40

月下桥 发表于 2026-9-14 09:25
谢谢分享

还得等等,审核吞了一些内容,我需要慢慢补齐0.0

1147557131 发表于 2026-9-14 16:10

本帖最后由 1147557131 于 2026-9-20 14:17 编辑

1147557131 发表于 2026-9-20 13:41

本帖最后由 1147557131 于 2026-9-22 11:50 编辑

第九步:Kodi 端开启远程控制(可选)如果你不想每次都用遥控器,可以用手机 APP 直接控制 Kodi。方式 A:接 HDMI 显示器,在 Kodi 图形界面操作(最简单)
[*]Kodi → 设置 ⚙️ → 服务 → 控制
[*]打开两项:
[*]✅ 允许远程控制通过 HTTP(Web 服务器,端口默认 8080)
[*]✅ 允许来自其他系统的应用程序远程控制(JSON-RPC,端口 9090)

[*]设置用户名:kodi,密码:123456(自己记住,APP 要填)
[*]手机安装【Kore-Official Kodi Remote】,打开 APP 自动搜索或者手动填入电视盒子的 IP 地址即可。
[*]开启 Zeroconf:设置 → 服务 → Zeroconf,向网络宣告服务,方便 APP 自动搜索设备。
方式 B:直接修改配置文件(SSH 命令)

kodi-standalone 以 root 运行,配置文件在 /root/.kodi/userdata/advancedse**ngs.xml,默认不存在,手动创建。

在终端执行以下命令(直接创建并写入配置):sudo mkdir -p /root/.kodi/userdata
sudo tee /root/.kodi/userdata/advancedse**ngs.xml << 'EOF'
<advancedse**ngs>
<services>
    <!-- 开启 HTTP 远程控制 -->
    <webserver>true</webserver>
    <webserverport>8080</webserverport>
    <webserverusername>kodi</webserverusername>
    <webserverpassword>123456</webserverpassword>
    <!-- 开启 JSON-RPC 远程控制 -->
    <enablejsonrpc>true</enablejsonrpc>
    <!-- 允许所有网络接口访问(如果在局域网内) -->
    <esallinterfaces>true</esallinterfaces>
    <!-- 开启 Zeroconf 宣告,方便手机 APP 自动发现 -->
    <zeroconf>true</zeroconf>
</services>
</advancedse**ngs>
EOF重启kodi:sudo systemctl restart kodi手机安装【Kore-Official Kodi Remote】,打开 APP 自动搜索或者手动填入电视盒子的 IP 地址即可。

1147557131 发表于 2026-9-20 13:49

月下桥 发表于 2026-9-14 09:25
谢谢分享

重要的基本上都补齐了
页: [1]
查看完整版本: 天邑TY1208Z(S905M2)Armbian纯命令行适配遥控器 + B站投屏