Android Things树莓派开发板,需要通过网络ADB的方式连接到电脑进行调试,如果有支持HDMI的显示器和无线路由器,连接是非常方便的,连接显示器设置WiFi连接,在显示器上查看到IP地址,用adb connect命令连接即可。
如果没有支持HDMI的显示器,就相对麻烦了,下面介绍一下没有显示器时的几种连接方法。
有路由器,通过网线连接
如果有路由器的话,可以试试网线连接,用网线连接树莓派和路由器,路由器需要开启DHCP,这样Android Things启动后,就可以自动分配到IP地址了。这时候你需要登录到路由器上,看看DHCP客户端列表,找到树莓派获得的IP地址。
比如分配给路由器的IP地址是192.168.2.105,那么可以通过adb connect 192.168.2.105连接到开发板。
没有路由器,电脑有网口,通过网线连接
如果没有路由器,电脑上有网口空闲,那么可以用网线将电脑网口和树莓派网口连接起来。
当然,仅仅连起来是不行的,无法为树莓派分配IP地址,这时候,我们就需要将电脑作为DHCP服务器,为树莓派分配IP地址。如果你的电脑是Linux系统,安装和开启dhcpd服务即可,可以自行百度,这里介绍在Windows系统做DHCP服务器的方法。
首先,进入网络和Internet设置。
选择以太网,点击“相关设置”下的“更改适配器选项”
找到电脑的网口,设置IPv4的IP地址
设置为指定的IP地址,这里我们指定为192.168.125.1
此时,我们需要下载一个DHCP软件,推荐一个免费、方便的DHCP软件给大家,下载地址:http://www.dhcpserver.de/cms/
网页介绍中说,该软件支持Windows 98~Windows 10,各个Windows版本通吃。从2.6版本开始,需要捐赠任意金额才可以获得下载链接,当然我们也可以直接下载2.5.x的版本。点击左边的LATEST DOWNLOAD,下载2.5.2版即可。
下载之后将文件解压:
其中dhcpwiz.exe是配置文件,第一次我们需要运行它。以后再使用时,直接运行dhcpsrv.exe即可。
按步骤进行设置,先选择使用的网口。
设置DHCP动态分配的IP地址范围,注意不要把本机的.1地址包含进去,我们这里设置从.100开始。
点击下一步,然后点击“Write INI file”按钮写入配置文件,如果已经有该文件可以勾选“Overwrite existing file”再点击“Write INI file”按钮。
写入配置文件成功后会提示“INI file successfully written”,此时再点击下一步
启动DHCP服务需要管理员身份,此时需要点击有安全图标的“Admin ...”按钮,并允许该应用对设备进行更改。
之后点击Install进行安装,并点击Configure配置防火墙例外。
之后点击Start按钮,此时DHCP服务器就成功启动了。
启动成功后,我们在程序文件夹中,可以看到生成了一个dhcptrc.txt,这是一个日志文件,可以打开查看。
我们可以在日志文件中看到DHCP Server V2.5.2.3 started asService这样的字样,说明DHCP服务器已经启动成功了。此时我们将树莓派的网口和电脑网口用网线连接起来(如果已经连接了,拔下来再重连一次)。关闭并重新打开dhcptrc.txt文件。
此时在日志文件中,我们可以看到,Client xxx is configured with the IP address这样的字样,说明已经为树莓派分配到IP地址了,这时候我们就可以通过这个IP地址,使用ADB连接到树莓派了。
如图中树莓派的IP地址为192.168.125.100,我们通过adb connect 192.168.125.100即可连接到树莓派。
没有网线或电脑没有网口
如果没有网线或电脑没有网口,那么只有通过串口设置WiFi连接了。
使用USB转TTL串口通讯模块(案例配件包中有提供),连接到电脑的USB上,如果需要请下载并安装驱动(http://www.wch.cn/download/CH341SER_EXE.html)
如图,USB转TTL串口通讯模块的跳线保持在VCC和3V3针脚上,并使用杜邦线连接树莓派和USB转TTL串口通讯模块
使用Putty(Windows)或Serial(Mac)连接
Baud Rate: 115200
Data Bits: 8
Parity: None
Stop Bits: 1
以Windows为例,下载一个串口调试工具,可以用PuTTY,下载地址:https://www.putty.org/
安装完成后,在PuTTY中打开串口控制台。
Connection type选择Serial,填写串口号,在自己电脑的设备管理器中查看,我这里是COM5,Speed填写115200,点击Open,会打开如下图所示的串口控制台。
在串口控制台中输入以下命令
am startservice \
-n com.google.wifisetup/.WifiSetupService \
-a WifiSetupService.Connect
-e ssid network_ssid
-e passphrase network_pass
将命令中的network_ssid和network_pass替换成你的Wifi SSID和密码
如果密码中包含特殊字符,则使用以下命令
am startservice \
-n com.google.wifisetup/.WifiSetupService \
-a WifiSetupService.Connect
-e ssid network_ssid
-e passphrase64 encoded_pass
其中encoded_pass替换成Base64转码后的密码,可以登录https://www.base64encode.org/,输入你的密码,转码成Base64格式
可以输入以下命令,查看连接情况
logcat -d | grep Wifi
通过以下指令
ifconfig
可以查看到wlan的IP地址,此时就可以用ADB连接这个IP地址了。