Raspberry Pi 3 B型是世界上最受欢迎的单板电脑的最新版本。 它运行在一颗1.2GHz的四核64位ARM Cortex-A53 CPU上,四个USB 2.0端口,有线和无线网络,HDMI和复合视频输出以及一个40针GPIO连接器,用于物理接口项目。
Android Things
Android Things是Google推出的全新物联网操作系统
Android Things使用JAVA、Android Studio、Android SDK、NDK等进行开发,另外还新增了名为Things Support Library
的库这个库有两个主要功能:通过多种协议和接口(GPIO、PWM、I2C、SPI、UART等)访问传感器和执行器的外围I/O API;以及一个用户驱动API(User Driver API),可以给应用程序添加新的设备驱动,用于将硬件事件注入系统,使它们可以为应用程序所用。还有,Android Things 天生支持物联网通讯协议 Weave,可让所有类型的设备能够连上云端并与其他服务如 Google Assistant 交互。Android Things目前支持三种硬件平台:Intel Edison、NXP Pico、Raspberry Pi 3。
简单来说,通过Android Things,开发者可以像开发Android应用一样简单地控制硬件设备。
Android Things系统刷入
在Android Things系统刷入之前,除了Raspberry Pi之外,还需要以下项目:
- HDMI电缆
- 支持HDMI的显示器
- Micro-USB线
- 以太网电缆
- SD卡读卡器
- SD卡(安装系统必备,不能用U盘代替)
要想将Android Things系统刷入Raspberry Pi中,需要下载最新版本的系统镜像
官方下载地址
下载完系统镜像后按以下步骤操作:
将8GB或更大的SD卡插入你的电脑
解压下载完成的系统镜像
按照官方Raspberry Pi说明方法将系统镜像写入SD卡:将SD卡插入SD卡读卡器,
下载Win32DiskImager,安装完成后将系统镜像文件.img写入到SD卡,弹出SD卡
将SD卡插入Raspberry Pi
通过USB线缆连接电源适配器,通过网线连接到局域网,通过HDMI线缆连接显示器。
验证Android Things已经运行在设备上了。然后就能看到Raspberry Pi的信息包括IP地址已经显示到Android Things 系统桌面上了。
通过adb tool将Raspberry Pi与电脑连接
12$ adb connect <ip-address>connected to <ip-address>:5555
adb
Android 调试桥 (adb) 是一个通用命令行工具
将设备与 USB 连接(必须连接,并在一个局域网下)。可以从 android_sdk/platform-tools/
目录
执行 adb devices
来验证设备是否连接。如果已连接,您将看到设备名称以“设备”形式列示。
在响应时,adb 针对每个实例输出此状态信息
offline
— 实例未连接到 adb 或不响应。device
— 实例现在已连接到 adb 服务器。请注意,此状态并不表示 Android 系统已完全启动且可以运行,因为在此实例连接到 adb 时系统仍在启动。不过,在启动后,这将是模拟器/设备实例的正常运行状态。no device
— 未连接模拟器/设备。
使用 adb 找不到devices
google usb driver 没安装,启动Android Studio–>Tools–>Android–>SDK Manager–>右侧的SDK Tools
–>google usb driver–>点击ok安装
连接WIFI
刷入系统后,强烈建议将其连接到互联网。 这样您的设备就可以提交崩溃报告和接收更新。
使用adb将您的Raspberry Pi连接到WiFi:
1、向Wi-Fi Service 发送包含本地网络的SSID和密码的Intent:
|
|
2、测试您是否可以访问远程IP地址:
|
|
运行一个sample
Button and LED sample for Android Things
构建和安装
下载样例到本地后,在Android Studio上,点击“运行”按钮。如果希望在命令行上运行,请键入
|
|
windows下对应的是:
cmd命令行模式进入下载到的样例的文件夹下,执行编译命令gradlew
|
|
完成后会显示BUILD SUCCESSFUL
使用adb命令执行,在Android\sdk\platform-tools文件夹下执行adb命令
|
|
显示:Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.example.androidthings.button/.ButtonActivity }
raspberry显示:
Raspberry Pi I/O
本节介绍在Raspberry Pi 3上运行的应用程序可用的外设I/O接口。
以下引脚示意图说明了此板的断开连接器暴露的可用端口的位置: