细数Raspberry Pi另类连接方式

作者: 斯内克
上传时间为: 2014-07-29 09:15 AM

本文介绍了基于Android设备的Uart登陆、移动数据网SSH/VNC登陆、USB口登陆等几种比较另类的树莓派(RaspberryPi,下简称RPi)连接方式,可供有兴趣的网友参考。

使用硬件

RaspberryPi一台、USB to Uart模块一个、杜邦线若干、Android智能移动设备

使用软件

Rpi侧:Raspbian操作系统、VNCserver等

Android设备侧:Better Terminal、Free USB Serials、ConnectBot、Remote Desktop等

正文

毫不夸张地说,RPi在近几年的开源硬件里,已经是火得一塌糊涂。它基本上属于一类小型的计算机系统,连接上鼠标、键盘、显示器等输入输出设备,就是一台完整的计算机了。拿到RPi,如何连接登陆上这台小巧的计算机,就成了所有拥有者的要解决的第一个问题。无所不能的互联网上已经有网友总结出串口、SSH和VNC远程桌面三大方法,但是这几种方法几乎全部要依赖一台桌面级PC,原本小巧且移动便捷的RPi,瞬间变成了一个固定设备,顿时觉得辜负了开源团队的期盼啊。还有一个就是USB显示屏,如果是不差钱的壕们,这种方式最合适,虽然我也想要一块,嘿嘿。

这里和各位朋友分享一下笔者在玩RPi过程中测试并实现过的一些连接方式,虽然本质上还是串口、SSH和VNC远程桌面,但是能够完全体现出RPi的移动便捷性,有兴趣的网友可以参考并实验一下,欢迎提出更另类的方法,呵呵。

1、  Uart连接登陆

想必利用Uart调试的方法,是广大攻城狮、程序猿们攻城略地的必备利器。这里的使用方法也差不多,只不过是在Android智能移动设备上进行连接罢了。

图片上硬件连接很容易辨认,基本上是RPi——USB to Uart模块——OTG——Android平板(请无视RPi上的USB无线网卡,忘记拔了,O(∩_∩)O~)。注意平板上需要安装名叫Free USB Serials的APP,插上OTG和USB to Uart模块后,会自动辨认,给RPi上电,打印启动信息,输入登录信息。一切依然是熟悉的流程,不过有些Android设备不能支持热插拔,得重启才能识别OTG设备哟。

2、  移动数据网SSH/VNC登陆

这里由于笔者手机速度的缘故,仅仅测试了SSH登陆(坑爹的TD),有4G或者其他运营商移动网络制式的网友可以尝试一下VNC连接。有图有真相,不忽悠,看看手机的下拉菜单,没有WLAN连接,只有移动数据网络的连接哟。

     手机终端安装ConnectBot,由这个软件SSH登陆上RPi。这里搭建起来需要一些数据通信网和路由器设置的基本知识,这里做简要的介绍。数据流链路大概是手机——移动基站——blabla——路由器——RPi。RPi无线网卡或者有线网卡的设置是基础条件,前期还需要准备一个能够支持DDNS的路由器,最好是刷了OpenWRT或者是DD的,更方便。主要是在路由器上完成2件工作,1是能够从公网ping通路由器,这需要申请一个动态域名,现在免费的很多,笔者用的是3322.org免费动态域名(表打脸,不是广告);2是做好端口映射,把SSH的默认端口22通过路由器映射到公网的某个端口上去,你就可以通过这个端口和你的域名登陆RPi了。这里就不公布俺家RPi的端口和域名了,你懂的。

这里没有做VNC的测试,略微想了一下,图片传输相对于SSH而言,对网速要求相对要高不少(不知道上帝会不会发笑),移动的TD着实不给力。有兴趣有条件的筒子,可以做做端口映射,玩玩真正的移动桌面。等到哥换了4G手机,也试试。

3、  Android设备USB登陆

这个应该是最有意思的了,哥折腾这个花的时间也是最长的,一晚上没嘘嘘呀,希望能够抛砖引玉。

其实最早是看到地球上有人类拿亚马逊的Kindle做RPi的输出设备,手上残废红米一只,山寨Galapad平板一块,想想手上的货和Kindle一样,都是Android深度定制系统,Kindle可以做RPi的输出显示设备,红米、Galapad木有理由不行啊。请出Google大神,果然有人通过配置实现Android设备与Windows、Linux、Mac OS的通信,原帖地址:http://forum.xda-developers.com/showthread.php?t=2...

先聊聊基本思路。Android,RaspberryPi是Raspbian其实都是Linux的核,只是根据需要进行了裁剪和定制,而Linux的USB口有个很有意思的用法,可以虚拟成以太网口。把Android设备的OTG口、PI的USB口统统虚拟成以太网口,再基情四射地连接起来,不就欧了?想完,开撸。

步骤1、确认root过的Android设备连接上USB口后,譬如PC系统辨认为以太网适配器(这点极为重要,即能够USB共享上网)

步骤2、配置Android设备USB网络,使用Better Terminal软件

获取超级权限

su

配置usbnetwork为dhcp,不同设备名称可能不同

netcfg rndis0 dhcp

busybox调用一下

busybox ifconfig

步骤3、配置树莓派的USB网络

配置interfaces文件

nano /etc/network/inerfaces在文件中添加

allow-hotplug

usb0iface usb0 inet static

address 192.168.42.100(树莓派的地址)

netmask 255.255.255.0

broadcast 192.168.42.255

up iptables -I INPUT 192.168.42.129 -s  -j ACCEPT(Android设备dhcp得到的地址)

up eject /dev/sda1

步骤4、使用普通USB数据线连接PI的USB口和Android设备的OTG口

把Android设备的USB设置为共享网络

然后进入Android设备的Better Terminal,su一下,看看Android设备的端口情况

刚才配置的rndis0已经UP了,再来看看RPi的端口情况 

RPi的USB口也起来了,然后就是在Android设备上用ConnectBot通过SSH连接PI咯

有图有真相,而且是高清无码果图,一根电源线,一根USB数据线,其实就是2根普通的MicroUSB线,O(∩_∩)O~。

SSH下面可以打开VNCserver,在Android设备上安装Remote Desktop。话说这Remote Desktop,可以支持RDP和VNC,windows和Linux通吃。再来一张。

平板没电了,换上了手机,屏幕略小。

基本上,笔者折腾过的连接方式就是这么多,希望有其他方法的筒子不吝赐教。

全部评论 ()

创建讨论帖子

登录 后参与评论
系统提示