查看: 70|回复: 0

细数Raspberry Pi另类连接方式

[复制链接]

主题

好友

2264

积分

进士

  • TA的每日心情
    慵懒
    2019-4-25 12:20
  • 签到天数: 251 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2014-7-29 09:15:04 |显示全部楼层
    本文介绍了基于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的通信,原帖地址:https://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通吃。再来一张。
           
            平板没电了,换上了手机,屏幕略小。
            基本上,笔者折腾过的连接方式就是这么多,希望有其他方法的筒子不吝赐教。
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    关闭

    站长推荐上一条 /4 下一条

    手机版|电路城

    GMT+8, 2019-7-20 01:34 , Processed in 0.146204 second(s), 15 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz!

    返回顶部