特约撰稿人|刘天伟
随着互联网的发展和物联网的出现,远程控制的需求和应用越来越多。Raspberry Pi(树莓派)作为一种低成本、卡片式微型主机通常会用于特定的工作场景,以降低成本并减少对空间和环境的要求。本文将通过对树莓派的研究和配置,使其在某一局域网中完成中转任务,并对网络进行远程控制。
考虑到功耗、系统处理速度等问题,本研究所使用的树莓派是2017年的版本,同时也是最新版——Raspberry Pi 3b+。它继承了前几代的优点,集成了Wi-Fi模块以及增加了散热片。
全新的树莓派没有自带系统,需要重新烧录系统。其官网提供基于Debian的Raspbian系统,用户只需选择默认的选项并下载。烧录过程很简单,使用Win32disk imager软件在Windows系统下烧录系统进格式化后的SD卡就可以。插上SD卡、电源和HDMI连接显示器,树莓派就可以自动读取SD卡内的系统并完成开机。
开机进入的桌面是Debian系统默认的可视化桌面,在系统里集成了终端、设置等基础功能。下一步就是实现其远程桌面控制功能。如果使用计算机作为中转,这个功能可以通过安装TeamViewer软件完成。下一步是在树莓派里安装TeamViewer软件。因为这个软件在官网上的Linux版本是基于x86处理器的,所以安装基于ARM的TeamViewer需要用终端实现。但是终端默认的软件源服务器安装在国外,故而需要先进行换源。存放软件源链接的文件是系统文件,不能直接进行编辑,仍然用终端完成。使用的命令是nano—— 一个允许在终端内直接对系统文件进行修改的命令。
在进行下一步安装软件之前,需要先检查升级:打开终端,并用sudo get update和sudo get upgrade升级,确认系统软件升级完毕。在安装TeamViewer之前,还要安装一个环境配置软件gdebi。
然而,TeamViewer独立运行并不能实现所有的需求,它只提供了通过互联网远程连接树莓派的作用,而不是通过树莓派连接到位于内网的主机上。但Windows系统自带的远程桌面功能可以实现内网连接,原生的rdp协议不仅稳定性强还可以穿透防火墙。树莓派是不支持远程桌面的,仍然需要通过安装软件实现此功能。在这次研究中选择的软件是x2go client,它的好处是集成在了树莓派的开源软件库,可以直接通过sudo apt-get install x2go安装。安装完成后,运行软件,点击左上角增加新的连接,因为用的是Windows默认的远程桌面连接方法,所以不需要配置文件。
输入要登录的Windows主机的IP地址,x2go会自己建立一个连接到这个计算机的选项,双击该选项并输入登录用户名和密码即可连接到局域网内的另一台主机。经过测试发现,由互联网上的计算机用TeamViewer连接树莓派,并通过远程连接操控树莓派打开x2go并连接局域网内的主机是可行的。
新的问题出现了,树莓派和监控用主机可以通过局域网连接,但是一般在远程的机房或设备节点并不存在WLAN连接。这里介绍一种方法是为树莓派安装并配置4G网卡实现连接互联网功能。此研究中使用的4G网卡是一个不支持Linux驱动的第三方网卡,所以拨号等要手动配置才能激活。首先,需要安装一个第三方的拨号软件wvdial。其次,在此软件的底层文件/etc/wvdial.conf内增加该网卡的配置文件(这个文件是网上公开的),并利用此配置文件拨号。运行拨号软件可以看到配置完成的IP地址和DNS服务器,试连接网络可用。
最后,研究又测试了远程桌面的可行性,发现可以通过4G网卡进行连接,而且树莓派的资源占用不是很高,保持在60%~70%之间,在可接受范围,但是存在刷新率和发热问题。发热问题可以通过贴散热片来解决,但是刷新率问题是硬件上的,没有好的解决方案,若仅是工程师对远程操作进行故障处理,高刷新率的情况出现较少。
树莓派采用Linux操作系统和命令行的方式进行操作控制,相比于Windows或Mac上的图形界面控制的方式略显困难。但它所涉及的命令和操作比较容易理解和掌握,为用户深入理解Linux系统打开了一扇门。
图 树莓派硬件外观