基于树莓派的 Android Things 开发环境

来源:互联网 发布:c 定义结构体数组 编辑:程序博客网 时间:2024/06/06 02:05

树莓派(Raspberry Pi)简介

树莓派是一款单片机式微型电脑,在一个只有信用卡大小的 PCB 板上集成了 CPU、GPU、RAM、网卡等设备,主要用于计算机学习以及智能设备的原型开发,目前最新版本为 Raspberry Pi 3 Model B。

Raspberry Pi 3

树莓派 3 系统烧写(Linux版)

  • 下载系统镜像
    树莓派支持官方的 Raspbian 系统,也支持 Ubuntu、Win10 IoT、Android 等开源系统。系统镜像下载地址
  • 准备 Micro SD 卡(至少为8G容量)
    树莓派 3 没有集成存储外设,如要插入 Micro SD 卡作为存储设备,系统也需要烧写进 Micro SD 卡。
    刷系统会格式化SD卡, 事先备份好卡里的资料。
  • 烧写镜像
    1. 先用读卡器将 Micro SD 卡连接到电脑
    2. df -h 命令找到SD卡的挂在点, 如 dev/sdc1
    3. 如果 SD 卡还没格式化或其他原因看不到, 用 dmesg | tail 命令看最近的连接 log, 找到 SD 卡插入后打出的挂载信息,判断挂载点
    4. 如果是包含img文件的zip文件, 使用下面的命令

      unzip -p <文件名>.zip | sudo dd of=/dev/sdc bs=4M status=progress conv=fsync
    5. 如果是 img文件, 使用下面的命令

      dd bs=4M if=<文件名>.img of=/dev/sdc status=progress conv=fsync

      注意: 烧写的位置为/dev/sdc(或者其他抓挂载点), 后面没有序号
  • 启动系统

将烧写的 Micro SD 卡插入树莓派 3 主板的 Micro SD 卡插槽, 连接电源,就可以启动树莓派了。通过 HDMI 连接的显示器或者屏幕外设可以看到启动过程的输出以及启动后的系统界面。

Android Things 简介

Android Things 是 Google 推出的基于 Android 的物联网操作系统。Android Things 在原生 Android 的基础上针对嵌入式设备做了许多精简,同时添加了针对物联网设备的支持库。如下为 Android Things 系统的主体架构:

Android Things Architecture

Android Things 目前还处于开发阶段,Google 放出的也只是预览版,并且提供了 Turnkey 硬件 SOM 解决方案,该 SOM 解决方案集成了 BSP 方便的驱动,案目前仅支持如下几个硬件平台:

Intel 平台的硬件只支持到 0.4.1-devpreview 版本,后续不再更新

基于树莓派 3 搭建 Android Things 环境

前面介绍了树莓派 3 开发板以及 Android Things 系统,下面介绍在树莓派 3 上搭建 Android Things 的开发环境。

编译 Android Things 系统

新建项目

目前 Google 是在云服务端管理 Android Things 系统的编译和发布,还可以提供 OTA 升级服务控制台地址:https://partner.android.com/things/console/ 。

在云端控制台点击右下角的“+”图标,可以弹出新建项目的弹框,新建项目时需要选择硬件平台,Google Play Service 为可选服务。

New Product

新建完项目后可以在项目管理的 PRODUCT SETTINGS 页面更新项目配置。

Product Settings

启动系统编译

新建完项目后在FACTORY IMAGES页面启动系统编译。

FACTORY IMAGES

上传 Bundle

编译系统前可以点击右上角的 UPLOAD 按钮上传 Bundle 文件。Bundle 是一个打包成 zip 的文件,里面可以包含如下几类文件:

  • bootanimation.zip 开机动画资源
  • <user-space driver>.apk 用户空间驱动应用,一般为service,action=BOOT_COMPLETED`
  • <main>.apk 包含主界面 Activity 的应用,这一项是必须有的, action=MAIN, category=IOT_LAUNCHER
  • <sub>.apk 其他自定义的应用、服务

上传的 Bundle 会编译到系统的 /oem/app/ 目录

发布 OTA 更新

OTA UPDATES 目录可以创建已经发布的系统的 OTA 更新包

OTA UPDATES

原创粉丝点击