APICloudCTO邹达:打开IoT APP正确的开发姿势

责任编辑:甄清岚 2018.04.12 14:56 来源:通信世界网

通信世界网消息(CWW)4月12日,2018第二届中国信通业物联网大会在京召开。APICloud联合创始人兼CTO邹达,作了《Iot APP正确开发姿势》的主题演讲。邹达表示,在开发一个物联网应用的时候,一定要有一个API设计思路。此外要选择快速的应用开发平台,通过这种平台能够基于大量的API快速帮助项目去落地。

演讲全文如下:

邹达:大家下午好!

我们今天在讲万物互联,讲物联网,其实当我们一款物联网的产品开发完之后,我们交给我们用户的时候,其实我们都需要给我们用户提供一个跟物联网产品进行交互的一个入口,通常而言,大家比较熟悉的就是我们各种手机上面的APP,当然也可能包含本身这个物联网上面的应用,如果我们这个物联网的产品本身有自己的控制台和屏幕。这样的一个物联网的APP,其实它最基本功能像我们今天的主题一样,它是要通信,我们要跟物联网的产品进行一个通信,最基础的包括设备的管理,以及数据的传输。这就是物联网应用最基本的功能,其实随着我们这款产品的运营,我们需要加上用户使用数据的统计,我们需要加入这个产品售后服务,加上我们的客服。随着我们的运营,我要对这样一个物联网行业,我是一个设备行业,我们要给他提供相应的资讯,提供一个共同社会的社区,以及围绕这样一个产品它中间的配件以及上下游产品以及电商的平台。

所以说APICloud,通过我们的名称就可以知道,APICloud我们主要是为其提供API的公司,我们希望通过这些API帮客户开发应用,其中有很多就是物联网的应用。而且在我们接触的很多客户当中,我们也发现了很多做物联网的企业或者创业公司,其实它们更多擅长的是通信,是模组,是协议。其实真正的上传的软件并不是大家擅长,所以说我今天想跟大家分享一下物联网应用的正确开发的姿势。

主要我想讲两点:

第一点,在万物互联,在物联网时代,API的作用和价值。

第二点,我们如何基于这样一个API模式来快速开发一个物联网的应用?

根据我们平台上很多的物联网应用,我们把它做了一个分类,主要分为六大类: 智能家居这个大家可能比较常见了。穿戴式设备,比如手环。车联网,我们大家都知道。医疗健康,比如智能床垫等等我们需要通过物联网来连接。环境监测,我们很多做桥梁的企业,做仓库的企业,它们需要知道仓库内部周围一些环境的变化,城市管理,智慧城市,其实都是这样的应用。这是我们整个物联网的分类。

讲到通信,根据我们之前的项目经验,我们一个项目开始评估设计的时候,我要评估一下它到底是怎么通信?第一种方式就是两方通信,通常就是我们的APP,互联网的APP需要跟物联网的设备直接进行通信,这种通信我们可能通过一个局域网内部的wifi,当然我们也可以通过蓝牙进行通信,这种模式可能比较像我们这种穿戴式设备是比较实用的。APP和智能设备之间直接进行通信,这种方式其实我们会注意,包括我们很多物联网创业的企业,或者要做物联网应用的企业我们要区分一点,我们要注意协议和SDK的区别。我们接触了很多客户,没问题,我们可以使用标准的协议,其实对于一个应用开发,有协议,或者我们使用了某一个厂商的模组,它提供SDK和只是使用协议其实这个开发成本是不一样的。

我们看一个例子,目前在很多体校里面使用了,它需要一个手环跟教室里面的中控进行连接,可以监测每个运动人员的心跳、数据情况。这就是一个比较典型的两方通信,可以通过手环、蓝牙,跟这样一个中控做一个连接,然后我们的APP通过一个局域网内部的UDP(音)跟中控进行数据通信。

第二种方式就是三方通信,三方通信通常就是我们物联网APP不需要跟物联网的硬件直接进行通信,我们有一个大的服务器端,三方通信相当于我们客户端的指令,可以通过我们业务的服务器,然后通过业务服务器下发到我们的智能设备上来。在这样一个模式当中,其实大家要注意一点,并不是我们的客户端,我们的API跟智能硬件设备就没有任何的连接。这个时候,大家可以看到三方通信的物联网设备,它更多是一种wifi的方式,因为它需要这种直流的电源。这个时候就要考虑,这种智能硬件它有没有上网的能力?如果没有上网的能力,我们的API就需要赋予给它上网的能力,我们需要帮助这个智能硬件去上网,然后我们才能完全这个三方的通信。

像我们之前做的智能充电桩,我们做的国内的,包括跟同济大学和地平线一起合作做的国内首个无人的自主泊车系统,它就是非常典型的三方通信,客户把车停在平台上以后,他可以通过手机的APP,跟真正这辆车之间并不是做一个直接的通信,他通过一个远程的服务器给汽车下达泊车的指令,并且可以观看车位以及整个停车的状态和轨迹。

第三方式,我认为就是一种四方通信,四方通信比三方通信多了一端,就是硬件的服务器端。四方通信我们在物联网的APP既可以通过这种第三方的SDK,可以直接跟我们的物联网硬件去通信,也可以通过我们的硬件服务器跟硬件之间的云服务器之间做一个通信,从而我们可以直接控制一个物联网设备,也可以走一个大的循环。比如我们在家里面控制一个热水器,其实我可以在公司把它设置一个温度,让它提前开启。这样一个好处就相当于我们有一个第三方为我们提供一个标准化的协议,这种协议的厂商比如像是阿里包括小米,包括机制云他们就是提供这样服务的。我们自己在选择一个四方通信的物联网APP方案的时候,我们就要选择我们应该使用哪家的模组?我们应该使用哪家硬件物联网?

四方通信比较合适的场景就是智能家居,这个是最常用的,不管我们之前做了很多的智慧住宅,现在很多的社区里面精装修的时候,其实里面都有一些智能的设备。或者我们自己所有一个硬件厂商,像我们海尔,或者是我们一些其他项目,Opler智能温控器,我们做这件事情的时候我们首先要考虑我们到底使用哪家的方案?这个智能家居像我们这里展示的一个案例,它就是一个智能采暖的系统。

其实总结来看,我们很多做物联网的企业,我们一开始先要有一个规划,因为很多的硬件产品,最终做到最后发现硬件其实我们研发的很顺利,最后软件反而跟不上硬件这个开发的速度。所以我们在做一款物联网应用的时候我们要有自己规划,通常我会分成三个版本:

第一个,基础版本,完成设备的管理、运行控制。

第二个,我们可以增加不同的情景模式,我们可以为它提供大量的数据统计的服务,可以增加售后服务。

第三个,高级版本,我们可以为它增加一些行业的资讯,共同的用户社区,以及围绕这个产品附加产品的电商。这是一个开发的模式。

我们在做物联网应用的时候,我讲一下开发的正确姿势。我们看一下一个物联网的应用都用到哪些API,我们做了一个分类:

第一个分类,界面、组件,我们有进度条可以设它的温度,日历设置它整个工作的模式,在什么时间启动?各种开关按纽、选择器、城市列表、视频播放,各种类型比较炫的动画效果,这是界面。

第二个分类,功能拓展,我们会用到二维码扫描的功能,我们需要帮助硬件上网,需要拿到它SID来进行配对。我需要完成wifi的连接,语音识别通过语音去控制它,定位、权限管理,我们很多应用一打开的时候,它会告诉我这个应用要开启什么样的权限。加密,物联网语言的传输需要加密,这是功能。

第三个分类,开放服务,我们需要有一个wifi的模块,或者像摩拜我们需要有3G或者4G的模块,支付、统计、客服,我想这些都是我们作为一个物联网应用也好,或者互联网应用也好,最基本需要使用的API。

那么我们回过头来看,如果我们大家已经有了这么多的API,我现在想做一款物联网的应用是不是非常简单?其实我相信在整个移动互联网的发展大家都有一个共识,我们今天做一款产品的时候,我们不可能每个功能自己开发,我需要一个名片识别,我需要一个即时通信,我需要一个地图,或者我需要一个客服,其实市场上有大量的产品。所以说今天在API上我们提供了一万多个模块,几万个API,当然这些都是一些功能类的。

今天我想说的其实API的开放不仅是功能的开放,还包括业务的开放,我们知道最早开放API的是优步,我们不管在百度地图里面,还是在国外的一些酒店,或者咖啡馆上面的应用里面其实都可以预定优步的服务,其实就是打车业务的开放。今天也有很多的运营商,运营商也会把他们的应用开放出来,我感觉这也是一种业务的开放,包括航空公司,它可以通过OTI的方式,大量的应用可以购买机票。

回过头来,在中国做最早业务开放的其实是淘宝,包括我们今天在API平台上淘宝的优惠券一样是比例非常大的应用类型。整个的这种商品或者电商模式的API开放模式,其实也造就了淘宝的繁荣。所以说在今天,特别是我们在整个物联网这样一个云端开放的支持应该是什么样子的呢?我们认为我们应该是一种基于API的连接、分装和复用。因为我们对于企业,其实一个企业最开始由很多部门组成,整个它的IT进程,我们每个部门需要有自己的IT系统,随着我们业务的增多,我们一个部门可能需要开发几款不同的应用,我们需要做几款不同的系统。

那么如果我们做到最后,其实一开始这些系统都是孤立的,我们做的应用多了之后,可能两个应用之间需要连接,如果我做一个集团的应用,我需要看很多部门的数据,这个时候我需要在部门和部门之间建立一个连接。我们今天我们讲我们做西九物联网的产品,其实我们不仅仅用大自己企业内部的API,我们会用到大量的API,包括推送、人脸识别、短信、语音识别等等,其实这些服务不在我们内网,它们同时又是由不同的服务厂商提供的。我们今天再做一款物联网的产品,其实我们需要把我们自己内部的API和外部的API做一个连接,这种连接就是通过API进行连接。所以我们说针对一个物联网的应用,如果我们回顾一下以前的整个开发模式和IP对象,我们知道之前传统的ID基站是有七层,我们在云时代我们讲分为三场,IaaS、PaaS和SaaS,那么今天在物联网我认为它只要分两层,APP和API。

英特尔是我们一个非常大的客户,我们每年为英特尔做很多的项目,其实我们在给一些大型企业做项目的时候,其实我们在企业内部并不仅仅我们会用到一些API,其实企业内部系统之间的API,我们也要强调复用。一个系统里面做了一个资讯,做了一个社区,做了一个直播,在做第二个项目的其实是可以复用的。另外像一些大的项目,航空、海尔他们也希望把自己企业内部的API开放给它上下游的合作伙伴,这个就是一个API的对外开放和管理。

所以我总结一点,云时代整个的架构应该是技术主导,我认为在移动互联网时代,我们要做一个物联网的产品,我们应该是两块主导,应该是业务主导,APP代表了业务,API提供功能。

我们知道,整个的功能我这里面做了两个特征,一个是流量,一个是黏性,大家可以根据自己的情况去做一个取舍。微信大家之前认为我做一个微信公众帐号或者是小程序会给我带来很多的流量,这个其实没错的,我要强调一点,其实微信给我们带来的其实是流量,但不是用户。但是其实我们今天进入到一个公众号的时候,我们本来是想进入到一个小程序,或者想进入一个公众号,但是我们可能在打开微信的时候,它有各种各样的信息会传递给我,我可能就不会进入。所以说我认为整个微信里面,如果我们希望通过做一个微信公众号和小程序给我们带来流量,在今天其实它是一个效果递减,体系封闭的一个模式。

但是微信有什么好处呢?其实我认为它的价值是能给我们提供导流和通知的作用,相当于我们大家很多人都看得到的APP,听听老罗每天60秒,其实不管是逻辑思维还是得到,其实它都是给它的得到去引流,它要把公众帐号上的用户引到他的应用当中来。比如我们使用了东方航空的APP我订了一个机票,它会在东方航空的APP给我一个通知告诉我订的哪个航班。我想微信的作用应该是引流和通知,这是它的功能。

H5呢,其实现在做的不多了,我想它的好处是非常的简单,开发起来很简单,而且非常方便传播。但是弱点其实它不能够去承载我们的业务,也没办法去承载我们一个物联网应用里面所需要的功能,比如它要做一个蓝牙的连接、wifi的连接它是做不到的。但它的好处是能够给我们起到宣传的作用,大家可能看到了某一个品牌,在朋友圈看到别人发了这么样一个分享,我会知道有这样的一个品牌存在,所以它是一个宣传和引流的作用。而APP呢,我想它的好处就是能力强大,真正能承载我们的业务,真正能够去让所有的用户成为我们一个可以自己运营的用户。能够去实现整个物联网上面所有的功能,但是缺点可能相对来说开发的成本比较高,有一定的开发周期和开发的门槛。

所以说我们认为我们今天如果开发一个物联网应用,不管是一个车联网应用还是一个智能家居的应用,还是一个手环的应用,我们要综合这三点的因素,H5宣传和引流,微信公众帐号、小程序导流和通知,而APP其实能给我们带来真正的经营、营收和业务。

因为我航空公司的客户比较多,我们对航空订票的业务做了一个统计,通过OTA的方式去订票的,包括去哪儿、携程这种第三方的模式占了他们业务的30%,而通过PC网站占了25%,通过APP占了30%,而移动网站和微信占了5%。其实我们通过这样一个数据也可以看到,其实APP才是真正承载我们自己的经营和业务,我们要根据自己的推广情况和自己开发的产品情况自己去选择。

APICloud我们其实刚才也大致介绍了,我们其实是一个提供API的平台,我们希望通过这样一个API的平台,帮助各个行业快速的开发应用,之前有一个话比较火:我有一个伟大的改变世界的想法。今年可能提的比较少,但是我想说这句话讲的特别好,因为APP才代表你整个经营和收入。我们整个APICloud我们虽然去年上线,我们通过大量的API为企业为创业公司快速开发应用。我们从之前两个人的企业做到我们今天有两百多人,其实我们可以验证包括我们整个商业模式,其实APP的开发需求一直都是非常强烈。

APICloud我们能够为企业提供什么服务呢?

第一点,提供移动应用的技术,APICloud我们整个团队以前做了十几年的浏览器引擎,我们首先为企业提供高性能的引擎,可以让大家通过H5简化的方式,快速开发应用,把应用开发时间从6个月缩短到两个月。

第二点,我们会为企业提供移动云的平台,包括为一些企业移动战略的落地,包括海尔、航空其实都采购了APICloud,作为内部开发的标准,包括应用开发完之后,它整个协同、运营、大数据,基本上国内所有垂直领域服务的APP在API口上都可以找到。

第三点,我们可以直接为企业提供定制服务,相对于传统外包的商业而言,其实传统的外包商业相对来说就是人员的差价。所以说APICloud我们更多的是提供一种标准化的模式,使用APICloud标准化的开发技术,基于我们提供大量的API快速的开发应用。

其实我这里面想讲的就是APICloud我们一个开发地模式,基于API快速开发模式。另外今天我们真的去开发一款应用的时候,其实我们大量的API都是可以进行复用的,基本上在国内垂直领域的API,在APICloud模块上都可以找到。然后一键添加、一键使用。

最后总结一下,其实还是回到我们今天我们讲的主题,物联网应用正确的开发模式,我认为两点:

第一点,我们在开发一个物联网应用的时候,我们一定要有一个API设计思路,我们看我们整个应用都会用到哪些API?这些API是否是平台上或者是市场上已经有现成的产品我们可以直接去使用?

第二点,我们要选择快速的应用开发平台,通过这种平台能够基于大量的API快速帮助我们项目去落地,谢谢大家!


发表评论请先登录
...
CWW视点
暂无内容