历时两年、迭代九次,Android Things 终于交出了一份答卷
一年一度的 Google I/O 大会,如期而至了。作为 Google 在 IoT 领域布局的重要一环,Android Things 也再一次登上了 I/O 大会的舞台。
2016 年 12 月,Google 推出 Android Things 首个开发者预览版本。此后的一年中,Android Things 又经历了 8 个预览版本的迭代。
历时两年,终于,在本次 I/O 大会上,Android Things 迎来了 1.0 正式版。Google 承诺,会为搭载 Android Things 的设备提供至少 3 年的软件和安全补丁的更新推送,首次实现 long-term support。
与标准版的 Android 相比,Android Things 要精简很多,这个面向消费级设备的IoT平台比之前的版本扩大了硬件兼容性,这使得其在「内存有限的硬件」上运行成为可能:Android Things 可在最低拥有 32MB RAM 的硬件设备上运行。与此同时,Android Things 还支持 Google Assistant 和机器学习等完整的 Google 系统服务。据悉,Android Things平台主要围绕这三大核心:一个优化过的、可以在低功耗设备上良好运行的操作系统,一系列经谷歌认证的硬件套件,以及一个用于为物联网设备推送软件和安全更新的简化版系统。
作为谷歌的有力对手,微软、亚马逊同样也有所行动。今年四月份,微软宣布了将在未来四年大力发展物联网,投资金额计划达到50亿美元,正式进军物联网市场。微软的物联网战略主要集中于Azure平台,Azure平台自身可为连接设备服务提供系列安全防护。而亚马逊则也曾在2015年就推出了物联网平台AWS IoT,并把自己的AWS Lambda计算服务开放给了物联网开发者。
谷歌、微软和亚马逊是目前全球的三大主要云服务提供商,他们也希望能通过物联网战略推动自己旗下云平台的发展。谷歌的Android Things就是为链接云和设备之间各个节点进行的新尝试。
关于 Android Things,看完这10点,你大概就能搞懂谷歌物联网Android Things是什么了?
1、Google Brillo是谷歌在2015年推出的物联网操作系统,而它更名改版后的新系统就是Android Things。
2015年的谷歌I/O全球开发者大会上,谷歌对外宣布将会开发一个面向物联网设备的安卓操作系统,内部代号为“Brillo”,Brillo是一种轻量级、非常基础的物联网设备底层系统,可以与安卓设备整合。
Brillo的核心就是Android系统,但是它的开发和部署和常规的Android开发有很明显的差别。与标准版 Android 相比,Android Things 属于相对精简的那种,以便在有限的硬件上运行(最低 32MB RAM,往上可支持 2GB RAM)。
2、之前的物联网系统Brillo主要的开发环境是C++,而Android Things则面向所有Java开发者。
Android Things 实际上就是 Brillo 2.0,加入了 Java 从而允许开发者使用熟悉的 Android API,开发者也不再需要编译整个操作系统,而只需要开发一个 APK 就可以了,极大的降低了开发门槛。
物联网操作系统Android Things带来的最大的改进就是与整个Android生态系统的整合:通过Android Studio用Android API进行开发,通过正常的Android渠道为系统提供一般操作和安全更新,访问谷歌的服务,如短信、语音、认证、游戏,助理等等。同时开发商可以继续通过Android NDK用C或C++写代码,他们现在也可以选择用Java写代码。
3、开发者可以针对物联网使用工具包,Android Studio是常用的集成开发环境,支持通过Android Things进行物联网开发。
除了继承 Brillo 的功能,Android Things还加入了 Android Studio、Android SDK、Google Play 服务以及 Google 云平台等 Android 开发者熟悉的工具和服务。
此外,谷歌为Android Things 1.0发布了新的开发套件,包括Android Things Starter Kit,搭载了5英寸多点触摸显示器,相机模块和WiFi天线等部件,售价200美元;另外更便宜的套件选择是一款树莓派3,售价90美元。
4、Android Things系统支持原始Android SDK中的一个子集,不支持需要用户输入或者需要地图、搜索以及登录等验证凭证的应用程序接口(API)。
5、通过Android Things平台,为物联网设备提供另一个框架,以便谷歌自己而不是硬件开发者负责为其提供更新。每当有新的Android安全补丁发布时,谷歌就可以第一时间将其推送到设备上,而无需像现在的安卓设备一样遭受数周或数月的等待。
6、本次更新后,谷歌希望在其管理的操作系统中注入尽可能多的设备,并且强调了对“模块上系统”(System-on-Modules)的支持,比如高通 SDA212 / SDA624、联发科 MT8516、以及恩智浦 i.MX8M 。
联发科 MT8516
恩智浦 i.MX8M
树莓派 3 Model B
NXP、Qualcomm 和 MediaTek 推出的新 SoM
至于原型构建,开发者仍可使用树莓派 3 Model B、以及 NXP i.MX7D 套件。不过需要注意的是,Google 正在放弃对 NXP i.MX6UL 的支持。
Android Things 控制台包含一个新的硬件外设配置界面,让开发者可以在构建时控制可用的外设 I/O 连接和 GPIO 电阻器与 I2C 总线速度等设备属性。此功能将在未来版本中继续扩展,包含更多外围硬件配置。
7、谷歌云平台组建都能很好的和Android Things整合在一起,其中就包括云消息传递服务Firebase。开发者可以利用多个云服务进行存储、状态管理以及发送消息。
8、Android Things还整合了物联网设备通讯平台Weave。Weave Server是用来处理设备注册、命令传送、状态存储以及与谷歌助手等谷歌服务整合的云服务。Weave SDK将嵌入到设备中进行本地和远程通讯。
除了常见的智能灯泡、智能插座、智能开关和恒温器等,谷歌还计划增加其他类型的设备,包括支持客户自定义的设备。
目前支持 Weave 的智能设备制造商包含飞利浦 Hue、三星 SmartThings、Belkin WeMo、LiFX、Honeywell、Wink、TP-Link 和 First Alert 等,Google 收购的智能家电品牌 Nest 也于 2015 年将旗下服务和 Weave 串联,看来 Google 已准备好将过去分散的物联网系统整合成统一平台。
9、Nest智能家居设备使用的协议Nest Weave将成为Weave的一个子集。这两种协议都基于IPV6网络协议Thread,后者原本是为建立本地无线网状网络而设计的网络协议。
10、不管有没有Android Things,开发者都可以使用Weave,因为它是一个独立协议,可以作为Zigbee协议、Z-Wave协议以及蓝牙Bluetooth Smart协议的替代选择。
往期好文
【视频】老外教你学电子系列第13期-第15期,我就不信还有不懂的!
Google Home拆解,看看这个神秘的设备里面到底有什么?
茸茸大神带你玩跨界,“泛读”“精读”两大神器助你阅读datasheet