zoukankan      html  css  js  c++  java
  • Android Things专题 1.前世今生

    文| 谷歌开发人员技术专家, 物联网方向 (IOT GDE) 王玉成(York Wang)

    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的天地就有多大。你能够尽情的发挥。


    希望大家有什么问题和建议,及时通过留言方式反馈给我。在专题的兴许中,我会尽量的满足大家的要求。


     

  • 相关阅读:
    java设计模式----工厂设计模式
    java拓展----CountDownLatch同步辅助类
    java设计模式----单例模式
    java拓展----Lock锁
    Orcal学习----初识Orcal
    java学习----泛型
    java学习----Junit&Log4j
    java学习----注解
    java学习----反射
    java学习----数据解析
  • 原文地址:https://www.cnblogs.com/yjbjingcha/p/8418031.html
Copyright © 2011-2022 走看看