手机连接树莓派

作者:陈拓 2018.07.11/2018.07.12

0.  概述


学习了电脑连接树莓派PiZero W,今天试试用手机连接Pi Zero W。其实手机也是电脑,原理和电脑连接树莓派Pi Zero W是一样的。其实,不管是安卓系统Android还是苹果的iOS都是Unix-like,即类Unix系统。我们在学习电脑连接树莓派Pi Zero W的时候用的是SSH,一样的道理,在手机上安装支持 SSH的app就可以连接玩树莓派啦。当然用平板电脑代替手机玩起来更爽!

0.1 mDNS简介

在传统网络环境下,名称和IP地址的对应关系是通过DNS服务解析的。当一个设备需要访问一个域名,如“www.abc.com”,设备将“www.abc.com”发给DNS服务器,服务器返回该域名对应的IP地址,设备再使用返回的IP地址对目标服务器进行访问。

在没有中心服务器的网络环境中,没有DNS服务器提供域名解析服务,名称解析变成一个严重问题。针对这一问题,业界的解决方案是mDNS(multicast DNS),中文叫组播DNS,在标准文档RFC6762中定义。

组播DNS的原理很简单,当一个设备需要解析一个名称时,如abc.local,这个设备通过UDP协议向本地网络中的所有设备广播一个消息,问谁是abc.local,本地网络中如果有一个设备认为自己是abc.local,它就给出响应,说出自己的IP地址。

因为组播DNS基于UDP协议,采用广播消息的方式,所以不需要一个中心服务器提供DNS解析服务就可以完成本地的名称解析。

Bonjour是苹果为基于组播域名服务mDNS的开放性零设置网络标准所起的名字,能自动发现IP网络上的电脑、设备和服务。Bonjour使用工业标准的 IP 协议来允许设备自动发现彼此,而不需输入IP 地址或配置DNS 服务器。

为了区分全球域名和本地域名,mDNS协议使用“.local.”作为本地域名的根域名。

安卓系统自android 4.1 开始实现了一个网络服务的发现服务NsdService,其基于苹果的Bonjour服务发现协议,支持远程服务的发现和零配置。

1.  苹果手机

苹果手机的iOS系统支持Bonjour,所以我们可以直接用主机名访问树莓派。

l  从App Store下载一个SSH工具iTerminal

l  运行iTerminal

选择SSH。

l  输入SSH登录信息

服务器名:随便写一个比如Pi Zero W,主机或IP地址:raspberrypi.local,端口22,用户名:pi,密码:raspberry点击连接就可以使用SSH登录控制树莓派了。

l  连接成功

测试一下,查看目录:

pi@raspberrypi:~ $ ls –l

l  退出

pi@raspberrypi:~ $ exit

2.  安卓手机

2.1 IP地址连接树莓派

l  下载一个SSH工具

可用的app很多,一搜一大堆,安装一个简单吧ConnectBot。

l  查树莓派的IP地址

先在电脑上用ssh连接树莓派用ifconfig命令查一下IP地址:

树莓派的IP地址是:192.168.0.103

l  运行ConnectBot

 设置连接参数

点击右下角的+号,输入参数如图,点击右上角的+号保存并返回。

 连接树莓派

点击新建立连接,确认继续连接。

 输入密码

输入密码:raspberry

l  连接成功

l  测试一下

查看目录:pi@raspberrypi:~$ ls

l  退出

pi@raspberrypi:~ $ exit

2.3 用主机名连接树莓派

待续......

参考文档

1. 树莓派介绍

2. 电脑连接树莓派PiZeroW