首页 > 代码库 > 国内物联网平台初探(七):Ablecloud物联网自助开发和大数据云平台

国内物联网平台初探(七):Ablecloud物联网自助开发和大数据云平台

国内物联网平台初探(七)
——Ablecloud物联网自助开发和大数据云平台

马智

 

平台定位

  • 面向IoT硬件厂商,提供设备联网与管理、远程查看控制、定制化云端功能开发、海量硬件数据存储与分析等基础设施,加速硬件实现联网智能化。

 

架构

技术分享

 

服务

技术分享

云端服务一体化开发引擎

业内独创一体化开发引擎架构,自动解决底层连接、存储、分布式集群部署、弹性扩容、安全等难题,降低IoT云端功能开发门槛,普通工程师即可快速完成云端服务开发部署,加速IoT功能创新迭代。

 

技术分享

IoT功能组件及方案超市

提供丰富的IoT功能组件及方案,包括账号体系、设备绑定管理、事件通知引擎、OTA管理、定时任务引擎、设备分享、微信接入等,开发者可直接使用,无需"重复造轮子",可以专注于核心业务研发。

 

技术分享

大数据分析引擎

自动针对用户和设备使用行为进行分析,包含多种通用的分析指标,支持快速定制化分析,开发者无需搭建大数据分析平台,即可及时看懂数据,以指导产品功能改进、营销策略实施、增值服务运营。

 

硬件开发

技术分享

厂商只需要把精力放在具体业务控制逻辑上即可,省去了重要但通用的联网逻辑。

  • 提供联网固件,解决千万级设备连接管理
  • 提供直连等异常备用方案
  • 在网络通信层采高度优化的多重加密算法,保证设备和消息的安全性

 

支持操作系统: RTOS、Linux、Android

支持通信类型: WiFi、网线、GPRS、3/4G

资源要求: RAM资源占用最低为20K

芯片适配: Intel、Broadcom、TI、Freescale、NXP、Atmel、Realtek、MTK、海思

WiFi模组适配: 汉枫、庆科、高通、MTK、博联、江波龙、Marvel、乐心、小K、斐联

GPRS模组适配: 广和通、SIMcom、移远、中移物联

 

硬件开发 – 设备端联网固件

联网固件具有很好的适配性,已经成功运行在主流WiFi厂商的十多款联网模组上,采用二进制协议优化的算法,以极高的运行效率和极低的运行态资源消耗满足对功耗的苛刻要求:

  • 设备认证:采用RSA加密算法,提升设备的安全性,并降低烧制复杂度;
  • 流量控制:对带宽等资源进行合理分配,防止资源抢占和拥堵;
  • OTA升级:实现固件的联网下载升级更新,支持静默、强制、定向等多种方式;

目前平台不仅支持WiFi类设备,对于SIM卡,蓝牙等不同通讯协议、不同操作系统的设备也提供了完整的接入方案。

 

硬件开发 – WiFi型产品接入

针对WIFI型产品接入,Ablecloud提供两种开发模式:

  • 采用MCU+WIFI方式进行开发:这种模式厂家根据自己的业务情况,选择一款MCU,在MCU实现自己的业务逻辑。Ablecloud根据WIFI模块型号,提供对应的标准WIFI固件。MCU只需按照Ablecloud制定的通信指令,和云端进行通信。
  • 直接在WIFI模块上进行二次开发:厂家直接利用WIFI上处理器实现对应的业务逻辑。Ablecloud提供对应WIFI模块的固件源码,厂家在源码基础上进行二次开发。

Ablecloud参用二进制格式协议通信,参用大端方式。

 

APP开发

技术分享

将精力集中在和业务逻辑相关的用户管理、设备的控制、后端服务的访问上,快速开发APP

  • 提供简单易用的API接口给APP的开发者,不用关注各个服务的实现
  • 提供APP端SDK,封转了协议细节
  • APP可以通过局域网直连的方式与设备近场通信,也可以进行远程控制    

 

AbleCloud提供Android和iOS两种SDK。

  • AbleCloud发布的SDK已经集成了第三方的SDK,例如友盟推送SDK,七牛存储SDK等等
  • AbleCloud发布的SDK已经提供了丰富的接口,能满足各种业务的需求

 

APP开发 – SDK主要功能

  • 帐号系统:登录、注册、发送验证码、第三方登录、用户头像、用户个人信息。
  • 设备激活:通过smartconfig等技术给WiFi设备配置路由器密码。
  • 设备管理-独立设备:独立设备的绑定、解绑、分享、邀请。
  • 设备管理-网关型设备:网关的绑定、解绑、分享邀请和子设备的添加、删除、分享、邀请。
  • 设备管理-Home模型:以家庭为单元的设备管理,包括家庭和房间的创建、删除;向家庭和房间中添加和删除独立设备以及网关型设备;家庭成员的添加、删除。
  • OTA:检查是否有固件更新,显示更新内容,确认设备固件进行更新。
  • 实时消息同步:基于websocket,APP和存储中的数据进行实时同步。
  • 定时任务:通过APP给设备设定定时任务。云端会在APP设定的时间将设定的指令发送到设备。
  • 推送:APP接收云端的推送通知。
  • 文件存储:图片、音频等块文件的存储。
  • 访问服务:访问云端的UDS服务。
  • 用户意见反馈:AbleCloud提供APP端的用户意见反馈接口。开发者可以开发用户提交意见的页面。
  • 排行榜:SDK提供了用户排行榜的功能, 可以对运动、积分等数据排行榜,实时更新、累积排行数据,提供按天,周,月获取top排行功能。
  • 天气查询:SDK可以获取到室外的pm2.5, AQI(空气质量)以及天气状况。

 

后端服务开发

  • 提供服务开发框架以及云运行平台,开发者可以不用关心RPC服务框架的开发,更不用关心服务的发布、部署、扩容、监控、运维等工作,只需要实现自己业务相关部分的处理逻辑即可
  • 提供一系列通用的云服务,开发者可直接应用,而不用重复开发,大大加快开发速度
  • 支持UDS( User Defined Service )方式开发后端用户自定义服务,UDS是运行在AbleCloud云平台的java程序,主要用来处理设备上报的数据信息和APP端发送到设备的控制指令和请求查询设备数据信息。

 

IoT功能组件及方案超市

  • 设备接入引擎:为了加快厂商接入速度,对主流的WiFi模块进行适配,在WiFi模块中烧入AbleCloud提供的固件后设备即可连接到云端。
  • 设备绑定管理:针对可穿戴、智慧家庭、智慧楼宇等不同应用场景的智能设备,提供最适用的设备绑定管理方式。
  • 设备分享:支持智能设备一人管理、多人共享使用,用户只需扫描管理者分享的二维码,便可获得对应设备的使用权限。
  • 设备分组管理:智能设备可按使用场景、按位置区域、按使用者进行组别划分,并可对同一组别内的设备进行统一控制。
  • 事件通知引擎:与友盟成熟的APP消息通知系统深度结合,兼具短信、邮件等通知形式,使智能设备的事件通知及时触达用户。
  • 设备本地交互:无需关心路由器所接宽带网络的情况,同一个WiFi环境下的APP与设备之间可直接进行快速操作及响应。
  • OTA管理:支持全量升级、增量升级、定向升级、静默升级、手动升级等升级模式,并支持版本管理和升级情况跟踪。
  • 定时任务引擎:智能设备定时任务可由云端配置和执行,并准时通知设备响应,云端与设备协同工作,实现IoT新智能。
  • 大文件存储:支持设备和APP产生的文档、图片、音频、视频等文件的存储,单文件容量最高可达4G。
  • WiFi类设备接入方案:WiFi类设备可直接与云端连接,且可进行本地交互,提供适配RTOS、Android、Linux等硬件系统的SDK,设备端调用即可实现与云端的连接、认证和传输等功能。
  • 蓝牙类设备接入方案:蓝牙类设备需要借助APP将数据上报给云端,提供适配iOS、Android等手机系统及适配H5页面的SDK,APP或H5页面调用即可实现与云端的连接和上报。
  • SIM卡类设备接入方案:SIM卡类设备直接与云端交互,具有移动性强、上网流量有限等特点,接入方案可以在通信实时性和流量使用效率间做到很好的平衡,满足不同设备应用的需要。
  • 网关类设备接入方案:网关类设备除了自身会连接到云端,还会负责与子设备的连接和管理,提供针对网关设备及其子设备的远程控制、网关配置同步及数据上报的整体方案。

 

一体化智能开发引擎

依托公有IaaS平台(阿里云和AWS),根据微服务化理念,设计了具备自动负载均衡、自适应弹性伸缩、分布式部署能力的开发引擎,提供简单易用的云端服务开发框架,支持厂商对业务进行自定义开发以及线上运维、监管全周期的一站式应用托管服务。

  • 虚拟化开发平台:其采用PaaS虚拟化技术、支持产品原型快速验证、便捷开发定制化业务服务、支持本地快捷调试和云端系统测试、服务自动部署,帮助开发者快速开发云端服务并调试部署
  • 自动化运维系统:自动分布式部署,构建7*24运行保障系统,以保障各个服务节点正常高效运行,通过自动化容错处理,有效的提升在线服务的稳定性和可靠性

 

大数据分析引擎

推出数据挖掘算法运行平台和报表引擎,以流式数据实时计算引擎为支撑,支持通用挖掘算法和开发者自研算法的高效实施,运行结果以报表方式进行直观友好展示,并支持如下特性:

  • 通用分析模型:封装了群组分析、漏斗分析、留存率分析、session分析等通用分析模型,方便无算法工程师的团队也可以实现大数据基础分析
  • 用户Profile:实时分析平台支持定制化用户和设备的profile,以便对各种profile属性进行分析
  • 离线大数据挖掘:提供开发者离线使用的数据挖掘工具,供开发者对离线本地数据集进行挖掘

 

大数据分析平台功能

  • 大数据实时采集:智能设备所产生的运行数据和用户所产生的行为数据都可以实时汇总到云端进行存储,供数据分析及自学习使用。
  • 海量数据处理:数据分析结果的输出速度取决于对历史海量数据的处理速度,支持T级别数据的同时处理,实现计算结果秒级输出。
  • 高度封装通用分析模型:封装了群组分析、漏斗分析、留存率分析、session分析、区间分布分析等通用分析模型,方便无算法工程师的团队也可以实现大数据基础分析。
  • 实时数据分析:普通的数据分析引擎仅能支持对近一天以前的数据进行分析,流式实时计算引擎可以做到对近10分钟前的数据进行分析。
  • Profile:分析平台支持您定制化用户和设备的profile,以便对各种profile属性进行分析。帮助您基于大数据加速产品迭代、优化用户体验。帮助您通过大数据挖掘获取潜在用户,优化市场策略。
  • 群组分类:厂商可以按照条件筛选感兴趣的用户群组,保存下来用于后续的任意分析。群组既支持用户,也支持设备。
  • 用户画像:支持对分析的结果打上标签以进行用户画像。用户画像为广义的画像功能,不止是用户,也支持对设备进行画像。
  • 离线大数据挖掘:除提供强大的在线数据挖掘引擎外,还将提供开发者离线使用的数据挖掘工具,供开发者对离线本地数据集进行挖掘。
  • 开放数据分析Open API:开放了数据分析Open API,可以支持开发者将自行存储的外部数据导入引擎中进行分析计算。

 

安全方案

采用多重安全防护体系,对APP端、云端、设备端进行通讯协议加密和访问安全认证,确保智能硬件通信及数据的安全,具体措施举例如下:

  • 数据库通过副本复制进行实时备份,定期数据的全量备份,所有对数据库的读写操作经转义处理,防止外部注入攻击等;
  • 设备接入云端过程经过四次握手通过RSA协议进行安全认证;设备接入后通过动态AES进行信令加密,保证数据传输过程的安全性;
  • APP和云端交互会基于用户身份进行签名认证,通过SHA1签名算法,防止流量重放攻击以及帐号伪造攻击;帐号体系通过加密措施,防止拖库和撞库等暴力攻击;
  • 对帐号/手机/设备行为进行安全审计,基于绑定关系管理控制模型,保护设备在各种场景下不会被恶意控制。

 

开发界面 – 创建产品

技术分享

 

开发界面 – 数据点定义

技术分享

 

开发界面 – 数据包定义

技术分享

 

开发界面 – OTA

技术分享

 

开发界面 – 设备秘钥

技术分享

 

开发界面 – UDS用户定义服务

技术分享

 

技术分享

 

技术分享

 

开发界面 – 数据集存储

技术分享

 

技术分享

 

 

 

 

国内物联网平台初探(七):Ablecloud物联网自助开发和大数据云平台