AndroidThings系列之一:AndroidThings介绍
本系列文章以NXP i.MX7D做为硬件平台,介绍Android Things硬件平台组成,固件的烧写,然后安装Android Studio开发平台,熟悉SDK中API的基本用法,对GPIO、I2C、PWM等硬件接口进行试验,如何将采集的数据通过网络发送到各种物联平台,构建完整的IoT应用,最后建立一个类似天气工作站的产品原型。
Android Things是Google基于Android平台的物联网应用平台。借助 Android Things,无需掌握嵌入式系统设计知识,即可在可信平台上构建专业的大众市场产品。它减少了大量的前期开发成本,降低了将理念付诸实践的风险。我们都知道,当在大量设备上布署应用时,成本也会线性增长,而使用Google提供的平台及持续更新则会将工程和测试成本降至最低。随着 Android Things 1.0的正式发布,越来越多的厂商已将目光转向了 Android Things.
Google为 Android Things在硬件平台、SDK及Console提供三位一体式的服务。
Android Things认证的硬件平台提供的是一揽子解决方案。基于System on Module(SoM)体系结构的经过认证的开发板提供以下优势:
• 集成部件 - SoM将SoC(片上系统),RAM,闪存,WiFi,蓝牙和其他组件集成到单个电路板上,并提供所有必要的FCC认证。当您想大规模生产您的器件时,您可以通过将现有模块扁平化到PCB上来优化电路板设计,从而节省成本和空间。
• Google BSP - 板级支持包(BSP)由Google管理,这意味着不必进行内核或固件开发。BSP提供了一个值得信赖的平台,可以使用Google的标准更新和修补程序进行开发。
• 差异化硬件 - 大量合作伙伴为开发板提供不同的SoM和形状因素以满足各种需求,提供了选择和灵活性。当你准备好时,通过定制它们来适应特定的外形因素,同时运行相同的软件,将你的原型转化为产品。
目前支持Android Things的硬件平台包括成品及开发平台两种类型。前者以产品的形式提供,享受Google长达3年的稳定和安全更新;后者则主要用来构建产品原型及学习之用。目前主要的产品级SoM列表,经Google认证并提供服务
开发平台,主要用于验证产品原型及学习
Android Things扩展了核心Android框架并为物联设备专门设计了API,该API可以让我们在移动设备上集成新的硬件。
开发嵌入式设备的应用程序与移动设备的不同之处在于以下几个重要方面:
• 比移动设备更灵活地访问硬件外围设备和驱动程序
• 系统应用程序在优化启动和存储要求方面不如移动设计明显
• 应用程序会在启动时自动启动,让用户沉浸在应用程序体验中。
• 设备只向用户展示一个应用,而不是像移动设备那样多个应用。
当我们准备开始构建原型和设备时, Android Things Console会提供工具来在受支持的硬件设备上安装和更新系统映像。这使您可以将更新推送给现场用户,并在您自己的硬件上测试部署。
使用控制台,我们可以:
• 下载并安装最新的 Android Things系统映像
• 与系统映像一起构建包含OEM应用程序的工厂映像
• 将无线(OTA)更新(包括OEM应用程序和系统映像)推送至设备
简单来说,所谓的控制台就是一个 Android Things固件生成器。控制台可以根据我们提供的硬件平台,构建自己专用的 Android Things系统。想象一下我们在开始嵌入式Linux系统时,需要安装各种交叉编译工具,指定各种编译参数,然后小心的配置底层库......,然后再生成一个嵌入式Linux系统固件。现在有了 Android Things的支持,分分钟解决系统固件问题!
本系列文章以NXP i.MX7D做为硬件平台,介绍 Android Things硬件平台组成,固件的烧写,然后安装Android Studio开发平台,熟悉SDK中API的基本用法,对GPIO、I2C、PWM等硬件接口进行试验,如何将采集的数据通过网络发送到各种物联平台,构建完整的IoT应用,最后建立一个类似天气工作站的产品原型。