树莓派初识

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中,需要下载最新版本的系统镜像
官方下载地址

下载完系统镜像后按以下步骤操作:

  1. 将8GB或更大的SD卡插入你的电脑

  2. 解压下载完成的系统镜像

  3. 按照官方Raspberry Pi说明方法将系统镜像写入SD卡:将SD卡插入SD卡读卡器,

    下载Win32DiskImager,安装完成后将系统镜像文件.img写入到SD卡,弹出SD卡

  4. 将SD卡插入Raspberry Pi

  5. 通过USB线缆连接电源适配器,通过网线连接到局域网,通过HDMI线缆连接显示器。

  6. 验证Android Things已经运行在设备上了。然后就能看到Raspberry Pi的信息包括IP地址已经显示到Android Things 系统桌面上了。

  7. 通过adb tool将Raspberry Pi与电脑连接

    1
    2
    $ 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:

1
$ adb shell am startservice -n com.google.wifisetup/.WifiSetupService -a WifiSetupService.Connect -e ssid <Network_SSID> -e passphrase <Network_Passcode>

2、测试您是否可以访问远程IP地址:

1
2
3
4
5
6
$ adb shell ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=57 time=6.67 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=57 time=55.5 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=57 time=23.0 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=57 time=245 ms

运行一个sample

Button and LED sample for Android Things

构建和安装

下载样例到本地后,在Android Studio上,点击“运行”按钮。如果希望在命令行上运行,请键入

1
2
./gradlew installDebug
adb shell am start com.example.androidthings.button / .ButtonActivity

windows下对应的是:

cmd命令行模式进入下载到的样例的文件夹下,执行编译命令gradlew

1
gradlew.bat installDebug

完成后会显示BUILD SUCCESSFUL

使用adb命令执行,在Android\sdk\platform-tools文件夹下执行adb命令

1
adb shell am start com.example.androidthings.button/.ButtonActivity

显示: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接口。
以下引脚示意图说明了此板的断开连接器暴露的可用端口的位置:

Compartir