Android Things是什么

简介: 一句话说,Android Things就是让开发者可以使用Android开发工具开发嵌入式设备。If you can build an app, you can build a device. 只要你会开发APP,你就能开发智能设备。

一句话说,Android Things就是让开发者可以使用Android开发工具开发嵌入式设备。

If you can build an app, you can build a device.

只要你会开发APP,你就能开发智能设备。

自2016年12月Google推出Android Things的Develop Preview 1,至今短短的一年多时间,已经版本迭代到2017年12月发布的Develop Preview 6.1版,Android的版本更新非常活跃,每6-8周就会有新的Release放出,是个充满活力的技术方向。

事实上,Android应用于设备已经不是一个新鲜的命题,我们自2014年已经开始了将Android应用于智能工业控制、智能消费终端中。目前市面上常见的广告机、智能门禁,以及很多餐厅、便利店的收银设备,都是基于Android系统开发的。如图1所示,Android已在智能设备中被广泛使用。

图1 使用Android系统的广告机、贩卖机、收银机、智能门禁

Android Things的推出,扫清了将Android Phone/Tablet系统用在智能设备中的各种弊端(通常需要嵌入很多NDK开发的接口,很多功能需要root后通过Linux命令实现),提供了更统一的接口。Android开发者也可以使用自己熟悉的开发工具,做智能硬件的开发。

Android Things的平台架构如图2所示,Android Things扩展了core Android Framework,通过Things Support Library提供了附加的API,使得开发者可以集成通常在手机等移动设备中没有的硬件。

图2 Android Things平台架构

Android Things的特性:

 单一自启动APP,通常设备会只运行单一的程序,即开发者的APP会自动启动,系统APP不会呈现出来。

 显示是可选的,设备可以没有屏幕,通过按钮、触摸、LED灯、语音或其他形式与用户交互。

 提供了通过I/O驱动外设的接口,让开发者可以与传感器和执行器进行通讯交互,支持GPIO、PWM、I2C、SPI和UART。

 用户驱动API,用户驱动继承Android Framework Services,允许APP将硬件事件注入到Framework中,使得其他APP可以使用标准的Android API访问。

 物联网云,通过Google物联网云平台,开发者可以方便且安全的连接、管理数百万计遍布全球的设备,并从中获取数据。Google物联网云平台和一些其他的Google服务,提供了包括数据采集、处理分析和可视化物联网数据的完整解决方案。

Android Things的优势:

 更统一的开发框架和接口

传统的单片机开发智能硬件的方式,开发工具、开发接口多而杂,不同的单片机厂商甚至型号,都有特定的开发工具,学习成本高,不统一,程序的可移植性差、可管理性差。Android Things提供更完善的开发框架,更方便好用的开发工具(而且是免费的)。

 更适合Android开发者进行智能设备的创新

智能硬件通常都要实现与服务器交互、与手机交互,这些领域都是Android开发者熟悉的领域,通过Android Things开发智能设备,可以将Android开发者在移动开发方面的经验更深入的体现在智能设备开发中。传统的硬件、单片机开发者,对移动开发不熟悉,自然会在智能设备创新中落后于对移动开发了如指掌的Android开发者。

 更先进的基础框架

Android Things相较于传统的设备平台,就如同Android手机与Nokia功能机的区别。尤其在有触摸屏人机交互的设备中,Android的优势明显,Android对UI线程的优先和保障机制,使得传统设备人机界面操作卡顿的问题可以很好解决。Android基于Java的面向对象开发,也使得程序更容易封装和管理。众多的Android开源资源,也可以方便的应用到Android Things中来。我们开发的Android工业设备智能操作终端,在应用中给用户提供了更好的操作体验,受到了用户的广泛好评。

 更安全的物联网云

传统的物联网方案,由于设备端、服务端往往由不同的开发团队完成,设备端开发往往还停留在比较古老的开发阶段,对一些新的安全物联网协议了解较少,使得很多物联网设备,还在采用TCP协议明码传输数据,很容易被截获和篡改。而有信息安全概念和经验的服务端开发者,由于不了解硬件开发也无能为力。新闻报道过的一些智能摄像头被入侵的案例,很多与这方面有关。而Android Things彻底改变了这种状况,手机APP与服务端通讯安全方面的经验,Android开发者可以直接应用在设备开发中。很多新的物联网协议,如MQTT,都有Android的客户端实现可以方便使用。

 更丰富的云服务资源

使用Android Things,有丰富的云服务资源可以使用,可以基于TensorFlow实现人工智能(如图像识别),可以通过Google Assistant获得智能服务。国内访问Google服务目前还有一些问题,不过想一些办法解决。同时,阿里、腾讯也都有一些智能服务(如图像识别、人脸识别等)通过云提供,使用Android Things也可以方便集成。

 更低的入门门槛

传统的智能硬件开发,通常需要购买昂贵的开发套件,而Android Things只需要几百块钱买个开发套件接上显示器或电视机就可以玩起来。如果你手上有树莓派3,下载最新镜像烧录就可以玩了。

Android Things的劣势:

 成本

对于低成本的智能小设备,Android Things可能不适合,一个能流畅运行Android Things的硬件环境,成本也要200+。

 硬件控制实时性

通过Android层对硬件进行控制,实时性肯定不及运行在单片机中的主程序进程,所以直接用Android Things做一些对传感器高实时的扫描轮询,或是对电机进行伺服控制,这不是Android Things的优势。

 已有熟悉的硬件开发平台

如果开发者已经有自己熟悉的硬件开发平台,有单片机开发经验,但对Android开发并不熟悉,使用Android Things就有些得不偿失。


想要了解更多关于Android Things的资料,可以访问官网。

https://developer.android.google.cn/things/get-started/index.html

我的Android Things文集中的其他文章,也将帮助你动手进行Android Things的开发实践。

https://www.jianshu.com/nb/21038382

Android Things的入门和学习过程,是一个动手实践的过程,如需购买硬件和开发配件套装,可以从这里了解:

Android Things硬件选购指南

淘宝:https://sysolve.taobao.com

微店:https://weidian.com/?userid=954338999

相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
目录
相关文章
|
Web App开发 Android开发 智能硬件
Android Things开发智能小车,Android智能硬件玩起来
目前是0.1版本,这已经是一个可以运动、可以调速、可以遥控、可以避免碰撞的简单但功能完整的小车了。 项目代码:https://github.com/sysolve/androidthings-cameraCar 基于Android Things开发,使用树莓派3B或NXP Pico开发板均可搭建。
1573 0
|
传感器 物联网 Android开发
谷歌Android things物联网硬件接入阿里云IoT物联网套件实战
谷歌Android things物联网硬件接入阿里云IoT物联网套件云端实战,DHT12传感器,甲醛传感器,NXP i.MX7D开发板
3290 0
|
Java 物联网 开发工具
Android Things阿里云物联网平台的使用(普通版)
Android Things阿里云物联网平台的使用(普通版) 研究了物联网,那么接下来你需要做的就是如何去远程控制,实现开发板的远程通讯交互,那么BAT最近也都陆续更新了自己的物联网平台系统,借助BAT的资源,我们能很快的建立起一个物联网开发环境,接下来我们手把手看看阿里云物联网平台的使用吧 1.
3851 0
|
编解码 物联网 API
Android Things新版本发布了,DP7中你需要知道的
昨天(2018.3.7),Google发布了Android Things的新版本,Developer Preview 7版本。 Developer Preview 7版本 Developer Preview 7Date: March 2018 Build Number: OIM1.180123.019Play Services: 11.8.0 新版本同样适用于NXP i.MX7D、NXP i.MX6UL和Raspberry Pi 3开发板。
1567 0
|
物联网 Android开发
Android Things入门教程
Android Things入门教程一文是一个摘要汇编,帮助Android Things初学者梳理入门学习的知识和资源、所需的硬件和配件,循序渐进的了解Android Things,并开始动手实践之旅。
1713 0
|
Android开发 芯片
Android Things创客DIY第六课-Android Things入门配件包开发案例教程-4位数码管显示
4位数码管显示 之前的《Android Things创客DIY第三课-Android Things入门配件包开发案例教程-数码管显示》中,介绍了如何使用Android Things控制1位数码管显示。
1543 0
|
存储 物联网 Android开发
Android Things硬件
Android Things是一款面向物联网和智能设备的Android系统,学习、入门和进行Android Things的开发,都离不开和硬件打交道。如果你是个硬件小白,本文将帮助你了解如何选购Android Things硬件、选择配件套装进行Android Things硬件开发的入门学习,并对NXP Pico i.MX7D Pico开发套件和树莓派3开发板做简要的比较。
2087 0
|
Android开发 开发工具 Windows
NXP Pico i.MX7D上安装Android Things系统疑难杂症汇总
Android Things在NXP Pico i.MX7D上刷机的正常步骤还是很简单的,不过也陆续有不少朋友碰到各种问题。这里把问题和解决方法做个汇总,有新问题再继续补充。
1781 0
|
Android开发
Android Things在NXP Pico i.MX7D上安装运行
套件开箱 今天拿到派发的NXP Pico i.MX7D套件了,5寸触摸屏,500万像素自动对焦摄像头。包装还是非常高大上的,毕竟售价$169呢,感谢Google和引力空间。
1833 0
|
Android开发
Android Things创客DIY第五课-硬件开发案例教程-PWM调色-触摸开关-数码管显示-OLED显示
Android Things开发,离不开硬件的DIY组合,本例来介绍一些好玩的硬件模块的使用。如果你手上有Google派发的NXP开发板,或者已有树莓派3B,那么就可以开始你的Android Things创客DIY之旅了。
1983 0