“全员编程,广泛嵌入”(四)—— 物联网时代(二)

djyos 发表于 2015-5-13 17:02:45 | 显示全部楼层 [复制链接]
2 1537
    上回说到,物联网节点的硬件是无法标准化的,那么,软件可能标准化么?
    像高速公路一样,高速公路的价值不在于路本身,而是其承载的客货运输;物联网的核心价值也不在于物联网本身,而在于承载在上面的服务。而物联网软件作为设备接入、软件分发、业务承载的平台,客观上有标准化的需求。想当年,功能机时代,群雄并起诸侯争霸,事实上,功能机的软件一点也不简单,然而到了智能机时代,却只剩下iOS和Android,为什么呢?因为智能机承载了应用和服务分发和接入平台的功能,而复杂的UI需求又使其异常复杂,生态系统要求其必须是标准化的、一致的开发和运行界面。客观上造就了iOS和Android少数寡头独大的现状。
QQ截图20150513163353.png
    这是一张物联网的示意图,物联网主要由4大类设备组成:
    1、云主机,这是服务器和服务器群的天下,这里暂且不谈。
    2、联网设备,即各类交换机,路由器,网关,或者网关和终端二合一产品。
    3、终端,终端有两大类,一类是个人消费品组成的终端,例如手机;另一类是工业终端。
    4、节点,物联网中数量最大的就是节点,如果说将来会有1000亿个设备接入物联网的话,那么至少990亿是形形色色节点,节点是本文主要讨论的目标。
    节点是最简单而又最复杂的,简单在哪里呢?一个节点往往只实现一个特定的功能,是典型的功能设备,基本没有智能手机安装APP的烦恼;
    复杂在哪里呢?节点的种类、运行环境、功能需求千差万别。
    有些节点要求低功耗,单节电池工作几年,或者根本就没有电源,靠太阳能电池+超级电容工作,甚至有些靠收集环境电磁波和声波能量工作。
    有些节点要求高可靠,365*24小时工作,不能间断工作,一旦宕机就会出致命问题。
    有些节点安装在摸不着看不见的地方,维护极其困难,要求一辈子免维护工作。
    有些节点安全性要求很高,直接关系人身安全或者贵重设备安全。这种设备一般是工业控制类,一旦发出错误控制,后果很严重。它要求即使有单个元器件损坏,也要及时告警且不能因单一器件损坏而导致任何不安全因素。
    有些工作在高温、高湿、化学污染、核污染场合,不是普通的消费品元器件能满足要求的。
    有些对体积要求非常苛刻,安装空间狭窄。
    有些可能配备液晶显示器和按键,有些则可能根本安装在正常运行时人无法企及的地方。
    在人工费用越来越高,机器人及自动化生产设备日益普及,甚至大规模取代人的情况下,物联网中必然包含大量的工业设备节点、机器人节点、自动化设备节点,任何无视这些节点存在的物联网方案都是撒流氓。另外,还有些虽然不是工业设备,但因维护复杂,更换或维修成本很高,且不能中断工作。这两类节点,有个共同的特点,就是需要极端可靠。这种产品,显然不能用个人终端上的操作系统。
    一句话,单个简单而总体差异性大,且开发企业分散的设备,是无法标准化的,必然是,不同的企业,用各自喜欢的编程语言,各自喜欢的开发工具进行开发。
    节点数量庞大相应的,是研发、生产节点的企业数量也非常庞大,节点的硬件无法标准化,节点的信息存储和表达方式,也无法标准化,这会给节点相关的操作和应用带来无尽的麻烦。就以智能家居为例吧,假设家里安装了海尔的智能冰箱,美的的智能微波炉,西门子的智能热水器,创维的智能电视,格力的智能空调,还有各种智能开关,温度、湿度传感器等等。由于作为节点的冰箱、微波炉等互不兼容,后果是,你的手机要为每个智能设备安装一个APP,密密麻麻摆满你的手机,那些密集恐惧症的患者,非跳楼不可。
    怎么办呢?让成千上万的智能设备厂家统一数据格式和节点的功能,使用一个万能APP来解决问题么?显然是不可能的,节点厂家需要创造差异化的产品,肯定必须不断创新,推陈出新,就算今天统一了,明天厂家出一个新产品,APP就不兼容了。
    远程桌面是一个很好的解决方案,手机只是一个远程显示终端,而不是一个功能终端,手机只充当节点的显示器和触摸屏,这就要求,节点上的操作系统,其gui必须支持远程桌面,该远程桌面必须具备以下特性:
    1、极其省资源,必须能够在只有几十K内存的节点上运行,你总不能要求一个微波炉控制器拥有数M的内存吧。
    2、极其节省带宽,有些节点的功耗非常低,低功耗意味着低主频,即使你用WiFi接口,其传输带宽也必然非常小,要在非常低的速率下实现远程桌面,是一个挑战。
    3、无论节点本身是否有显示器、触摸屏、按钮,都可以实现远程界面。
    使用远程桌面后,你的手机只需要安装一个智能设备APP,点开该APP后,你家里的所有智能设备都会被罗列在里面。比如冰箱,你可以用冰箱本身的界面操控设备,就像站在冰箱前操作一样,无须学习两套界面。而对于生产厂家而言,也极大地方便了,开发了新型号的设备,无须去修改APP,只需要,也无须通知用户更新APP;特别是,如果厂家通过修改软件增强了节点的功能,厂家还要维护两个或以上版本的APP,旧版本对应未升级节点的用户,新版本对应已经升级节点的用户。如果用户因为混淆了APP导致问题,还增加了客户服务的工作量。
    所以,不要企图去标准化智能设备的功能和协议,而是,提供一个让厂家更加自由的工具:远程界面,让厂家能够像开发传统的单机一样,开发物联网上的智能设备,降低研发难度,节约人力成本,提升用户体验。
    远程桌面的缺点是,动画显示很困难,尤其是大面积的动画,有些消费品是有这个需求的。这种时候,就要使用HTML了。
    未完待续
   
回复

使用道具 举报

发表于 2015-5-13 16:51:58 | 显示全部楼层
请问楼主这篇文章里的终端与节点的区别是什么?
回复 支持 反对

使用道具 举报

发表于 2015-5-13 17:02:45 | 显示全部楼层
比如智能冰箱就是节点,手机就是终端。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

加入我们,

发现科技可以让生活更美好...

立即注册

如果您已拥有本站账户,则可

精华导读

推荐阅读

资讯排行

站点统计|手机版|小黑屋| 都江堰操作系统交流论坛 ( 粤ICP备11028047号 )

Templated By DJYOS 论坛  粤ICP备11028047号  

返回顶部 返回列表