NXP

树莓派Android Things物联网开发:树莓派3上手就是这么简单

2019-07-12 13:16发布

树莓派Android Things物联网开发》专栏摘自http://blog.csdn.net/p106786860/article/details/54566620
一、树莓派3简介官方推荐的开发板有Intel Edison、NXP Pico i.MX6UL和Raspberry Pi 3(树莓派3)。树莓派是世界上最流行的单板计算机,3 Model B是最新的版本,我们后面就使用它给大家介绍Android Things。它提供了如下配置:

1.一个双核64位ARM Cortext-A53 1.2GHz CPU(512M的内存,在背面);
2.400 MHz GPU;
3.电源接口;
4.HDMI和DSI视频接口;
5.音频接口; 
6.有线、无线网络和蓝牙4.1模块;  
7.4个USB 2.0接口;
8.40-针GPIO连接器用于连接外设;
9.SD卡存储(在侧边);
二、系统安装
1.准备你的硬件设备,如:1-树莓派3开发板,2-电源线,3-HDMI转接线(连接显示器),4-SD卡等和5-网线;


2.在你的电脑上插入8G或者更大的SD卡;3.下载你的开发板(以树莓派3为例)对应的系统镜像(https://developer.android.com/things/preview/download.html),并解压img文件;

4.下载你使用的操作系统对应的(以Windows7为例)Win32DiskImager,并安装(https://sourceforge.net/projects/win32diskimager/);
5.以管理员用户启动Win32DiskImager,选择解压的ImageFile,选择插入的SD卡磁盘,点击Write等待写入完毕;


注意:千万小心!!如果选择的磁盘不是SD卡,会损坏该磁盘中的数据;
6.将你的SD卡插入到开发板中,连接开发板的1-电源、2-HDMI转接线和3-网线;


7.打开电源,显示器就会输出相关启动信息,启动成功后显示如下;

8.使用adb tools通过ip(通过路由器可查看)连接开发板安装的Androoid Things系统(显示WiFi和网络连接ip);
[plain] view plain copy
  1. C:Userschengxiang.peng.QUNARSERVERS>adb connect 192.168.1.101:5555  
  2. connected to 192.168.1.101:5555  
  3. C:Userschengxiang.peng.QUNARSERVERS>adb devices  
  4. List of devices attached  
  5. 192.168.1.101:5555      device  
三、连接Wi-Fi
官方强烈建议我们连接网络,这会使得你的设备上传崩溃报告和获取更新。下面我们就看看如何使用Wi-Fi进行连接;
1.发送一个Intent给Wi-Fi Service来连接Wi-Fi;

[plain] view plain copy
  1. C:Userschengxiang.peng.QUNARSERVERS>adb shell am startservice -n com.google.wifisetup/.WifiSetupService -a WifiSetupService.Connect -e ssid MERCURY_5CD00C-e passphrase 30x30x30xx  
  2. Starting service: Intent { act=WifiSetupService.Connect cmp=com.google.wifisetup/.WifiSetupService (has extras) }  
注意:由于我们必须先通过adb tools通过ip连接,才能通过adb shell am startservice启动Wi-Fi Service,所以在连接Wi-Fi前你还必须使用网线连接你的开发板;
提示1:C:Userschengxiang.peng.QUNARSERVERS>adb shell am startservice -n com.google.wifisetup.WifiSetupService -a WifiSetupService.Connect -e ssid MERCURY_5CD00C -e p assphrase 30x30x30xx
... ...
Error: Bad component name: com.google.wifisetup.WifiSetupService
处理1:我们实践的是Windows系统,命令中的转义不能省去;

2.通过查看logcat日志确认是否连接成功(你也可以通过显示器查看WiFi信息是否连接成功 );

[plain] view plain copy
  1. C:Userschengxiang.peng.QUNARSERVERS>adb logcat | findstr "Wifi"  
  2. ... ...  
  3. //网络连接成功  
  4. 01-01 00:13:56.412  1254  1254 V WifiWatcher: Network state changed to CONNECTED  
  5. 01-01 00:13:56.414  1254  1254 V WifiWatcher: SSID changed: "MERCURY_5CD00C"  
  6. 01-01 00:13:56.415  1254  1270 I WifiConfigurator: Successfully connected to MERCURY_5CD00C  
  7. 01-01 00:13:56.484   408   456 D WifiNetworkAgent: NetworkAgent: Received signal strength thresholds: []  
  8. .... ...  
  9. //保存连接历史,下次启动自动连接  
  10. 01-01 00:14:08.190   408  1299 D WifiNetworkHistory: saving network history: "MERCURY_5CD00C"WPA_PSK gw: 00:25:86:5c:d0:0c Network Selection-status: NETWORK_SELECTION_ENABLED ephemeral=false choice:null link:0 status:2 nid:0 hasEverConnected: true  
  11. 01-01 00:14:08.190   408  1299 V WifiNetworkHistory: writeKnownNetworkHistory write config "MERCURY_5CD00C"WPA_PSK  
  12. ... ...   
  13. 0:25:86:5c:d0:0c is in blacklist.  
3.我们尝试ping下百度,确认可以访问远程网络;
[plain] view plain copy
  1. C:Userschengxiang.peng.QUNARSERVERS>adb shell ping www.baidu.com  
  2. PING www.baidu.com (111.13.100.91) 56(84) bytes of data.  
  3. 64 bytes from 111.13.100.91: icmp_seq=1 ttl=52 time=5.99 ms  
  4. 64 bytes from 111.13.100.91: icmp_seq=2 ttl=52 time=5.72 ms  
四、树莓派3 I/O接口
下面的引脚图,描述了树莓派3开发板提供的可用引脚的名称和位置,在后面的章节中我们会通过指定的引脚名获取对应引脚的连接: