RT1900ac 折腾笔记:安装 Homebridge 和 Plex Media Server

RT1900ac 是群晖 (Synology) 推出的第一款无线路由器,其操作系统 SRM 相当于简化版的 DSM(群晖 NAS 所使用的操作系统),在软件上较有优势。

可能是因为硬件性能,或是其他方面的考虑,群晖官方一直没有把其 NAS 上的大部分软件移植到 SRM 上,例如 Cloud Sync, Video Station 等,此外一些第三方软件,例如 Plex Media Server, 也没有推出兼容 SRM 的版本。

最近在网上看到了一篇在 RT2600ac 上安装 Plex Media Server 的教程,于是又有了折腾路由器的想法,开始在 RT1900ac 上安装自己需要软件。

运行在 RT1900ac 路由器上的 Plex Media Server

安装 Plex Media Server

Plex Media Server 是一套功能较为丰富的媒体服务器软件,能够集中管理电影、照片、音乐等媒体,支持在 PC、服务器、NAS 等设备上安装,同时提供了电脑、手机、机顶盒和游戏机上的客户端。Plex Media Server 提供了群晖 NAS 的版本,但不包含 RT1900ac.

由于 RT1900ac 采用的是双核 1GHz 的 ARM 处理器,而群晖部分型号的 NAS 也采用了 ARM 处理器,所以 ARM 版本的 Plex Media Server, 经修改之后,也可以在路由器上运行。

具体的安装过程,参考这篇文章:

How to: Run Plex Media Server on the Synology RT2600ac Router

其中安装包 .spk 文件中的 INFO 文件,包含了该软件支持的 CPU 架构。原文为了支持 RT2600ac, 添加了 “ipq806x”, 对于 RT1900ac, 修改为 “northstarplus” 即可。

修改 .spk 中的 INFO 文件

经过测试,按照此教程,能够在 RT1900ac 上正常安装 Plex Media Server, 使用一段时间后,没发现太大问题。不过,由于 RT1900ac 的 CPU 和内存有限,建立索引需要消耗较长时间,转码功能也基本不可用。所以想要体验完整功能,还是需要一台 NAS.

按照这种方法,也可以安装 DSM 上的其他软件,但其中缺少的 lib 可能需要手动添加。相关的安装方法可参考这篇文章:

Audio Station on Synology RT1900ac router

安装 Homebridge

Homebridge 是一个兼容 HomeKit 的家居自动化服务器,通过插件,能够将多种不同种类的智能硬件接入 HomeKit. 在国内,常见的用法是将 Yeelight, 或者小米网关与 Homebridge 连接,实现通过 iOS HomeKit 控制智能家居硬件。

做为一个 Node.js 项目,首先想到的安装方法,就是通过 Entware-ng 安装 Node.js 和 npm, 再通过 npm 安装 node.js. 但发现 Homebridge 需要依赖 mdns 等组件,而 mdns 包含 C/C++ 代码,编译过程中需要 avahi 的 lib 和头文件,而这些文件 Entware-ng 没有提供。自己编译 avahi 觉得太麻烦,所以开始尝试其他方法。

于是又找到了 Entware-ng-3x, 这是一个 Entware-ng 的 fork, 用于 3.x 内核,同时提供了安装 Debian chroot 环境的工具,安装后能够方便地 chroot 到 debian 环境,在 RT1900ac 上使用「完整」的 Linux。

首先需要安装 Entwarw-ng-3x, 安装方法与在 DSM 上的安装基本没有区别,具体可参考这三篇文档:

安装过程中,有这几点需要稍加留意:

  1. Entware-ng-3x 和 debian 环境需要占用较大空间,在外界移动硬盘的情况下,建议安装在 /volumeUSB1/usbshare/@entware 目录
  2. 安装 debian 环境前,最好修改 /opt/bin/install-debian 文件,将软件源修改为国内源,例如 http://mirrors.ustc.edu.cn/debian/,以提高下载速度
  3. 由于 RT1900ac 的 CPU 支持硬件浮点运算,可在安装前,将 /opt/bin/install-debian 中的 ARCH=armel 修改为 ARCH=armhf, 从而提高程序运行效率

安装完成后,通过 start-debian 即可进入 debian 环境。后续通过这篇教程即可安装 HomeBridge, 此处不再详细介绍。

chroot 环境下的 debian 服务无法开机自动启动,如果需要 HomeBridge 开机自动运行,还需修改 /opt/debian/chroot-services.list 文件,添加 dbus, avahi-daemon, homebridge 三行内容。

debian chroot 服务列表

最后,可根据自己的情况安装合适的 HomeBridge 插件,即可在 iOS 上对相关硬件设备的控制。

iOS Home App