Android Things专题 1.前世今生
2016 年 12 月,Google 公布了 Developer Preview 版的 Android Things。该平台为利用 Android 这一世界上最受支持的操作系统的强大功能构建物联网产品铺平了广阔的道路。
但它并非一个全新的操作系统,而是通过相同是 Google 开发的物联网操作系统 Brillo 改进优化的一个操作系统。。
今天。就跟大家说说 Android Things 的前世与今生,以及它与Brillo的渊源,究竟它攻克了什么问题?
想知道为什么人们须要 Android Things,就要首先搞清楚什么是物联网:
曾经我们在聊到物联网的话题时,仅仅知道物联网使我们的生活更智能、更方便、更高效。能够方便地控制智能设备。
即使最简单的控制设备。也会要求物联网具有三个最基本层次,每一个层次的功能有所不同。春节刚过,我们就以春节回家为例,来说说物联网的这几个层次和它的功能能力。
全面感知:感知层须要解决数据源头的问题。怎么去搜集各种原始数据?物联网的物。即万物,数据搜集有多样性。我们须要靠各种传感器去感知不同的信息。就比方春节回老家前。我们须要给家里的不同的长辈准备不同的礼物。比方爸爸可能须要一瓶好酒。奶奶可能须要一双好的保暖鞋,爷爷可能须要一个好的拐杖……每一个人的须要可能是不同的。
可靠传递:传输层解决数据的传输通路的问题。数据通路依靠各种协议,这些繁杂的协议,怎样去实现自由的协议转换呢?春节回老家过春节,先坐火车。再做公交,再坐大巴。有可能坐牛车……当你换乘交通工具时,完毕的是协议的转换。而你所带的礼物。就是须要安全传送的数据信息。当你把礼物带回老家。物联网的数据才完善无损的到达目的地。
智能处理:应用层解决数据怎样处理。经过长途跋涉,过春节最终回老家了。这些礼物,须要你进行分类。然后再走亲訪友。给不同的人送不同的东西。物联网的数据处理。也就是这样,把搜集到的各种原始的数据。转换成我们须要的信息。
物联网的传输数据这么简单?那为什么还要弄这么复杂的操作系统?别急,我们还是拿春运来解释。
先自我羡慕一把,春运来回,我都成功抢到了火车硬卧票。假设你和我一样给爷爷带是急需的药品。春节回家又不一定能买到票,你能够提前一个月快递。毕竟药品先到更重要。当然,也有人把几个月都没洗的衣服,一起带回去让家人洗,暂且这也算给家人的新年礼物吧。在物联网的数据分析中,药品是属于那一类必须高速传递的信息,脏衣服是属于不怎么急的信息。这时候,简单的、单一的传输路径,就出了问题了。有的智能设备,是支持多种传输模式的。比方串口传递控制信息,3G上网卡传递必须实时接收的信息。假设春节你的家人都非常忙,你也不会带一大堆脏衣吧。物联网的传感器设备,也有主要的决策功能,数据在节点上积累非常多时,哪些先发,哪些后发?专业术语叫同步和异步,都是依据整个系统的不同而定的。
问:上面内容都看了,还是没有理解物联网倒底是干啥的?
答:再经历一次春运吧。
物联网的最小模型。就和春运带礼物是一样的。可是,在实际的project应用中,会复杂非常多。
在春运中,碰到的各种难题,相应着物联网系统的各种问题。可是不论什么project问题。都是在最小系统上,再针对易用性,安全性。稳定性……做一些复杂的功能开发。最终形成一个稳健的系统。
能够这么说。假设把春运的各个环节的问题都攻克了。你就能够做物联网的方案商了。
Google利用物联网操作系统来解决数据的收集和可靠传递。利用Google Cloud来解决数据智能处理。
那么,Google的物联网操作系统又经历了哪些变化呢?
前世:Brillo
Brillo是在 2015Google I/O 大会上宣布的一个产品。也是 Google 的第一款个物联网操作系统。
带来了一个简单的 bsp 移植的模型,方便硬件厂商高速导入 Brillo 系统到他们自己的芯片/开发板上。并研发了 Weave 通信协议。解决物联网系统中多样化的通信协议的问题。
Brillo适用于物联网网关相似的产品,曾经Google Device推出过一款基于Brillo的路由器。
今生: Android Things
Android Things是2016年12月份推出的物联网操作系统。做为Brillo的优化,主要做了下面改变:
1. Brillo仅仅能用C/C++做开发,可是Android Things,能够用java进行开发。并且做了Android系统的全部測试。
也就是说,Android的开发人员,能够非常快的转换到Android Things的应用开发上来。
2. Android Things应用研发周期,跟Android的研发周期相同。能够直接用Android Studio来开发。用adb进行连接...
3. Android Things的SDK是Android SDK的子集。
4. 完美支持OTA
5. 已经有四款开发板作为原型开发。
6. 能够轻易的通过Google Cloud使用Firebase,极大的加快了数据的处理速度。
7. 集成的Weave协议。能够方便的搞定各种无线协议的连接。
这些改变使得Android Things不仅仅是一个物联网操作系统。并且是一个能够高速做智能硬件开发的平台。
说这些条条框框还是不太好理解,兴许会对每一点做具体的解释。
BTW:
这段主要说到brillo的产生的原因。以及在系统设计初衷,应用开发的特点。实际上还仅仅是Android Things的皮毛。
Android Things专题兴许会包含功能。软硬件开发环境。以及一个完整的演示样例,让大家得心应手的用Android Things开发出自己的应用。
物联网领域有多大,Android Things的天地就有多大。你能够尽情的发挥。
希望大家有什么问题和建议,及时通过留言方式反馈给我。在专题的兴许中,我会尽量的满足大家的要求。
Android Things专题 1.前世今生的更多相关文章
- 【Android每周专题】触摸屏事件
本系列文章均为A2BGeek原创,转载务必在明显处注明: 转载自A2BGeek的[Android每周专题]系列,原文链接:http://blog.csdn.net/benbmw2008/article ...
- Android Graphics专题(1)--- Canvas基础
作为Android Graphics专题的开篇.毫无疑问,我们将讨论Android UI技术的核心概念--Canvas. Canvas是Android UI框架的基础,在Android的控件体系中.全 ...
- Android Things 专题6 完整的栗子:运用TensorFlow解析图像
文| 谷歌开发技术专家 (GDE) 王玉成 (York Wang) 前面絮叨了这么多.好像还没有一个整体的概念.我们怎样写一个完整的代码呢? 如今深度学习非常火,那我们就在Android Things ...
- 谈谈Android项目框架的前世今生
嗨,大家好,今天出了大太阳,真是美好的开始. 这篇文章和大家说说Android届流行的三大框架,了解下架构的前世今生,以及我对于这些框架的一些认识和看法. 三大框架区别 MVC 架构介绍 Model: ...
- Android Things专题5 I2C
文| 谷歌开发人员技术专家, 物联网方向 (IOT GDE) 王玉成(York Wang) 上一讲中.我们说到 Android Things 的 API,以及 Peripheral I/O 设备包括的 ...
- Android Mms专题之:Mms源码结构
从软件的功能角度来讲,Mms分为对话列表,消息列表,短信编辑,彩信编辑,短信显示,彩信显示和配置. 从实现的角度来看,它分为GUI展示层,发送/接收,彩信解析,彩信附件,信息数据等,这些分类对应着源码 ...
- Android Things专题2 硬件介绍
文| 谷歌开发人员技术专家, 物联网方向 (IOT GDE) 王玉成(York Wang) 经过2016年Brillo首批开发人员的反馈,以及市场调研,为了照应广大Android开发人员的习惯,形成了 ...
- Android 性能篇 -- 带你领略Android内存泄漏的前世今生
基础了解 什么是内存泄漏? 内存泄漏是当程序不再使用到的内存时,释放内存失败而产生了无用的内存消耗.内存泄漏并不是指物理上的内存消失,这里的内存泄漏是指由程序分配的内存但是由于程序逻辑错误而导致程序失 ...
- 一起写一个Android图片加载框架
本文会从内部原理到具体实现来详细介绍如何开发一个简洁而实用的Android图片加载缓存框架,并在内存占用与加载图片所需时间这两个方面与主流图片加载框架之一Universal Image Loader做 ...
随机推荐
- libgdx 环境搭建
1:环境搭建: (1)首先进入官网,http://libgdx.badlogicgames.com/download.html 点击下方的Releases.进行下载最新的版本号就可以. 这个为我们开 ...
- Library drmframework_jni not found
http://piotrbuda.eu/2012/06/trying-to-solve-error-491-in-play-store-on-android-emulator.html http:// ...
- 检测ASP.NET是否是调试模式
在web.config里,可以设置debug为true或者false <system.web> <compilation debug="false" target ...
- Redhat Linux NFS配置
Linux下,All deviceis file,所有的设备都是文件.当我们需要把某些文件夹就或者文件共享给其他用户,就可以使用网络文件系统. 本文介绍Redhat Linux下的NFS配置. 在使用 ...
- Spring(AbstractRoutingDataSource)实现动态数据源切换
转自: http://blog.51cto.com/linhongyu/1615895 一.前言 近期一项目A需实现数据同步到另一项目B数据库中,在不改变B项目的情况下,只好选择项目A中切换数据源,直 ...
- JavaScript 覆盖document.createElement 方法
最近项目遇到了问题,有个asp.net web程序只能在IE7 运行,现在xp都淘汰了,大家都用IE8-IE11,因此这个web app也需要升级 适应所有IE版本.照成IE版本不兼容的问题主要来致d ...
- Jetpack 架构组件 Lifecycle 生命周期 MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
- 提高sql2005中带freetexttable和rank的全文检索的速度
原来使用中的sql2005的全文检索的速度总是不如意,尤其是带rank的.今天搜了一下,原来在freetexttable中还有一个参数top_n_by_rank,是第4个参数.注意还要设置:EXEC ...
- \r\n 如何转换成utf-8格式的,在jsp页面中正常显示换行
数据库中存的换行是\r\n,读取到UTF-8编码的JSP 页面上以后,没有换行 在jsp页面显示之前,要进行一下字符转换,将所有\r\n转换成<br>,如下: String result ...
- Arduino教程:MPU6050的数据获取、分析与处理
Arduino教程:MPU6050的数据获取.分析与处理 转载 摘要 MPU6050是一种非常流行的空间运动传感器芯片,可以获取器件当前的三个加速度分量和三个旋转角速度.由于其体积小巧,功能强大,精度 ...