如何成功开发一款物联网应用

  今天物联网和智能硬件创业的热潮席卷全球,从硅谷到东莞,从草根创业到网络巨头无不为之疯狂。根据Acquity集团的调查,2019年三分之二的消费者将会购买联网家电,而Gartner的报告显示2020年全球将有260亿商业和工业物联网设备,是2009年的30倍。

  随着物联网和智能硬件门槛的不断降低,今天似乎任何一家企业都有机会把自己的产品“智能化”,无论这个产品是一双跑鞋还是刮胡刀。

  但是在智能硬件新产品如过江之鲫的当下,物联网应用开发的成功经验却很少有人分享,与智能手机的热潮不同,智能硬件或物联网的应用开发显然要复杂得多,积聚着巨大风险的同时也决定着产品甚至企业的成败。每一位物联网应用开发者和企业都会问这样一个问题:最佳的物联网应用开发策略和实践是什么?如何才能开发出那些无所不能的物联网应用,从远程控制智能家电,到实时通知飞机引擎制造商某架飞机引擎需要进行维修。

  物联网应用开发虽然有一部分也会与智能手机应用开发类似,例如智能家电用的手机APP,但实际上物联网开发面临的问题要复杂得多。

  物联网开发的四个层面

  首先物联网终端设备数量比手机大得多,而且本身没有显示界面,通常只是能够通过特定网络协议回传数据的传感器(直接连入互联网或者通过网关设备),也就是说在物联网大数据汇聚的前端,数据的汇入是自动化进行的,应用开发的重点是后端的汇聚层。

  Forrester的分析师Jeffery Hammond认为,物联网应用后端汇聚层需要有一个智能化软件系统(通常运行于数据中心),来管理物联网设备(包括固件升级等)、网络、处理海量数据,并提供给用户。

  在设备层、汇聚层之外,物联网应用还需要一个分析层,负责处理物联网设备产生的大数据。

  最后,是最终用户层,负责将有用的数据分析结果以可视化的方式展示到用户的终端设备中,这个层面的开发,可以是移动web网站也可以是一个手机APP。

  由于设备层和汇聚层第三方专业产品和服务的完善,实际上今天的物联网应用开发,主要指的是分析层和用户层这两个层面,换而言之,未来物联网开发生态主要建立在成熟的云计算物联网平台上(参考阅读:云物联网,云计算的下一个战场)。成熟的物联网平台通常都提供汇聚层需要的大数据存储、实时信息总线以及于前端应用通讯的API。

  实际上今天已经有大量面向物联网应用开发的平台,例如Xively、Mnubo、Bug Labs和ThingWorx等,这些平台通常能够兼容大量物联网产品厂商的设备。

  当然,还有云物联网,云计算的下一个战场一文提到的微软、Google等厂商,例如微软的智能系统服务,以及SAP推出的企业级物联网解决方案,各大厂商纷纷在自己的云计算和企业应用中增加对物联网应用开发的支持。

  当然,对于收购成性的Oracle来说,不排除将来会直接收购一家(上述)物联网平台创业公司。

  依托物联网平台开发,OnFarm的成功经验

  由于物联网平台复杂度非常高,对于大多数企业来说,完全没有必要去啃这块硬骨头,提供智能农场服务的Onfarm就是利用物联网平台开发应用的一个成功案例。

  Onfarm首席执行官Lance Donny一开始准备招聘开发人员自己搭建物联网平台,但随后很快放弃了这个想法,Donny意识到这种级别的开发往往是一个遥遥无期深不见底的大坑。

  OnFarm最后选择在ThingWorx上开发物联网应用,并管理物联网数据,OnFarm自身的开发工作集中于数据采集和用户端应用,OnFarm雇了一个JavaScript开发人员写了一个传感器与ThingWorx通讯的连接器,如果有农场采用了新的传感器,Onfarm只需要与传感器厂家沟通,要来API,在写一个连接器到ThingWorx就可以了。