手机连接树莓派
作者:陈拓 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
l 设置连接参数
点击右下角的+号,输入参数如图,点击右上角的+号保存并返回。
l 连接树莓派
点击新建立连接,确认继续连接。
l 输入密码
输入密码:raspberry
l 连接成功
l 测试一下
查看目录:pi@raspberrypi:~$ ls
l 退出
pi@raspberrypi:~ $ exit
2.3 用主机名连接树莓派
待续......
参考文档
1. 树莓派介绍
2. 电脑连接树莓派PiZeroW