AbleCloud智能硬件平台
概述
号称国内首家智能硬件PaaS平台.
AbleCloud面向IoT硬件厂商,提供设备联网与管理、远程查看控制、定制化云端功能开发、海量硬件数据存储与分析等基础设施,加速硬件实现联网智能化。
功能服务
云端服务一体化开发引擎
业内独创一体化开发引擎架构,自动解决底层连接、存储、分布式集群部署、弹性扩容、安全等难题,降低IoT云端功能开发门槛,普通工程师即可快速完成云端服务开发部署,加速IoT功能创新迭代。
-
易用的虚拟化开发平台
AbleCloud提供的虚拟化开发平台,提供有可视化的开发配置面板、自定义云端服务运行环境和方便立即调试的虚拟设备系统,可帮助开发者快速开发云端服务并调试部署。- 采用PaaS虚拟化技术
- 提供IoT服务开发框架和配套的SDK
- 产品原型快速验证
- 便捷开发定制化业务服务
- 本地快捷调试,云端系统测试
- 服务自动部署
-
卓越的高性能分布式存储架构
AbleCloud采用MySQL和NoSQL来满足不同类型业务数据的存储需求,并针对IoT应用做了深层的架构调整和性能优化,以支持高效读写智能硬件所产生的海量数据。- 适配结构化数据和非结构化数据
- 支持P级别数据分布式存储
- 深度优化数据库读写性能
- 封装并开放简单易用的数据库使用接口
-
可靠的规模化运行支撑系统
AbleCloud搭建的规模化运行支撑系统,会对开发者的业务服务进行实时监测、弹性扩容、异常报警、自动容错,全面保障业务服务的稳定性和可靠性。- 设备和APP多地域访问快速响应
- 支持千万量级以上并发接入
- 云端资源弹性自适应分配
- 支持全球多地部署
- 7*24小时自动化运维
- 实时监测,异常报警,自动容错
-
稳固的多重安全防护体系
AbleCloud建设了多重安全防护体系,对云、管、端都进行了严格的审计和防护,并与国内知名安全问题反馈与发布平台WooYun合作,确保IoT业务服务的安全。- 采用RSA协议实施设备及APP连接验证
- 采用AES协议加密信令及数据传输过程
- 云端防护与加固,高效阻挡恶意攻击
- 数据自动灾备,避免误操作删除
IoT功能组件及方案超市
提供丰富的IoT功能组件及方案,包括账号体系、设备绑定管理、事件通知引擎、OTA管理、定时任务引擎、设备分享、微信接入等,开发者可直接使用,无需“重复造轮子”,可以专注于核心业务研发。
-
丰富的IoT功能组件
-
设备分享
支持智能设备一人绑定、多人共享使用,且支持自行设定分享人数上限 -
设备分组管理
可按使用场景、位置区域、使用者等对设备进行组别划分,以便统一控制同一组别内的设备 -
事件通知引擎
具备实时的APP、短信、邮件等消息通知通道,让设备的事件通知及时触达用户 -
设备本地交互
当手机和设备处在同一WiFi下,APP与设备之间可直接进行局域网通信,让响应更加快速 -
OTA管理
支持全量升级、增量升级、定向升级、静默升级、手动升级等方式,及版本管理和升级跟踪 -
定时任务引擎
设备的定时任务可由云端配置和执行,并通知设备响应,云端与设备协同配合实现IoT新智能 -
状态同步
无论是温度变化、还是时间进度更新,设备状态都可以实时同步到APP上,实现精准远程监控 -
大文件存储
支持存储APP和设备所产生的图片、音频、视频等文件,单文件存储容量最大可支持4GB -
实时音视频通信
支持P2P传输、QoS流控和数据中转等服务,满足实时视频监控、音视频通话等功能需要
-
设备分享
-
完备的IoT方案
-
WiFi类设备接入方案
WiFi类设备以数据上报、远程交互功能为主,且部分需要APP辅助配网、局域网交互等功能;AbleCloud提供适配RTOS、Linux、Android的SDK,支持设备快速实现上述能力 -
蓝牙类设备接入方案
蓝牙类设备需要借助APP将数据上报给云端,AbleCloud提供了适配iOS、Android等手机操作系统的SDK,支持APP快速实现数据的上报和同步功能 -
SIM卡类设备接入方案
SIM卡类设备直接与云端交互,具有移动性强、上网流量有限等特点,AbleCloud提供的接入方案可以在通信实时性和流量使用效率间做到很好的平衡,满足不同设备应用的需要 -
网关类设备接入方案
网关类设备除了自身会连接到云端,还会负责与子设备的连接和管理,AbleCloud提供了针对网关设备及其子设备的远程控制、网关配置同步及数据上报的整体方案 -
微信互联平台接入方案
AbleCloud是微信互联平台首批云服务合作伙伴,开发者基于AbleCloud的微信接入方案,可以快速实现微信对硬件设备的控制,借助微信入口优势迅速触达海量用户 -
京东微联平台接入方案
AbleCloud与京东微联平台联合推出京东微联平台接入方案。开发者使用该方案,不仅可以在京东微联APP中控制设备,还可以有机会享受京东众筹及销售渠道的流量红利
-
WiFi类设备接入方案
大数据分析引擎
自动针对用户和设备使用行为进行分析,包含多种通用的分析指标,支持快速定制化分析,开发者无需搭建大数据分析平台,即可及时看懂数据,以指导产品功能改进、营销策略实施、增值服务运营。
不论数据是否存储在AbleCloud之上,都可以通过AbleCloud的大数据分析引擎对用户和设备行为数据进行分析和挖掘。AbleCloud具备T级别流式数据实时计算系统、数据分析算法运行平台和报表展示系统,支持自定义分析,秒级即可产生图形化分析结果,指导开发者进行产品功能的改进、营销策略的实施和增值服务的运营,且有效跟踪后期效果。
-
大数据实时采集
智能设备所产生的运行数据和用户所产生的行为数据都可以实时汇总到云端进行存储,供数据分析及自学习使用 -
海量数据处理
数据分析结果的输出速度取决于对历史海量数据的处理速度,AbleCloud支持T级别数据的并行处理,实现计算结果秒级输出 -
实时分析
普通的数据分析引擎仅能支持对近一天以前的数据进行分析,AbleCloud的流式实时计算引擎可以做到对近10分钟前的数据进行分析 -
高度封装通用分析模型
AbleCloud封装了群组分析、漏斗分析、留存率分析、session分析等通用分析模型,方便无算法工程师的团队也可以实现大数据基础分析 -
定制化分析
AbleCloud的大数据挖掘引擎支持第三方算法运行,开发者除了可以选用引擎中已有的通用分析模型,也可以自行定制数据挖掘算法 -
开放数据分析Open API
AbleCloud开放了数据分析Open API,可以支持开发者将自行存储的外部数据导入引擎中进行分析计算
平台特点
开发简单
创新PaaS架构极大降低研发难度
专注业务
无需搭建和管理底层基础服务
渠道接入
支持对接微信、京东等多家物联平台
自动运维
业务服务7*24自动化运维管理
规模支持
支持千万量级设备并发接入和P级数据存储
安全保障
具备设备、网络、云端、数据等多重安全防护
节约成本
节约时间成本和资金投入
数据指导
大数据指导产品优化和增值服务挖掘
迭代创新
业务可快速迭代完善并创新
开发者
接入流程
AbleCloud云平台的接入流程如下图所示
开发流程
我们制作了一个demo,该demo基于汉枫的开发板实现了一个可以远程控制的LED灯。开发者可以通过该demo快速熟悉AbleCloud的开发流程。点击下载
一、定义产品
“定义产品”是开发者使用ablecloud服务进行开发的第一步,是指在AbleCloud的厂商管理后台中对产品及功能信息进行设定。设定成功后即可按照后续步骤进行开发并有效使用AbleCloud的相关云服务。
产品定义包括定义产品的名称、型号、类型、数据格式、通信方式、操作系统、功能点等内容。
二、功能开发
2.1 设备开发
-
(1)设备连接云端
设备能够连接到云端才能够实现APP等客户端对设备的远程查看和控制。
对于WiFi设备,AbleCloud已经对主流的WiFi模块进行了适配,在WiFi模块中烧入AbleCloud提供的固件后设备即可连接到云端。点击查看已经完成适配的WiFi模块列表
对于安卓设备,AbleCloud提供安卓设备的SDK,SDK完成设备到云端的连接,开发者直接调用SDK开发功能即可。对于蜂窝网络设备(GPRS)、以太网设备等,AbleCloud提供了设备和云端握手需要的SDK,开发者移植SDK的底层驱动后就可以实现设备到云端的连接。
对于蓝牙设备,设备不直接连接到云端,不需要进行这项工作。
-
(2)设备功能开发
包括开发设备的绑定、接收云端指令、主动上报数据、OTA等功能。
设备绑定指的是是用户获取设备ID完成和设备权限认证的过程。
对于WiFi设备,可以通过在局域网广播让APP或微信获取到设备ID完成绑定。该功能SDK已经进行了封装,不需要开发。其他类型设备的绑定,直接使用APP扫码即可,设备端同样没有开发工作。
对于接收云端指令、主动上报数据和OTA,直接调用SDK的接口进行开发即可。开发者不需要关注通信模块和云端的具体交互细节。
2.2 APP开发
AbleClouD的APP端的SDK提供的功能主要包括:
帐号系统:登录、注册、发送验证码、第三方登录、用户头像、用户个人信息。
设备激活:通过smartconfig等技术给WiFi设备配置路由器密码。
设备管理-独立设备:独立设备的绑定、解绑、分享、邀请。
设备管理-网关型设备:网关的绑定、解绑、分享邀请和子设备的添加、删除、分享、邀请。
设备管理-Home模型:以家庭为单元的设备管理,包括家庭和房间的创建、删除;向家庭和房间中添加和删除独立设备以及网关型设备;家庭成员的添加、删除。
OTA:检查是否有固件更新,显示更新内容,确认设备固件进行更新。
实时消息同步:基于websocket,APP和存储中的数据进行实时同步。
定时任务:通过APP给设备设定定时任务。云端会在APP设定的时间将设定的指令发送到设备。
推送:APP接收云端的推送通知。
文件存储:图片、音频等块文件的存储。
访问服务:访问云端的UDS服务。
以上功能,可以直接调用SDK的接口进行开发。
管理后台提供了“虚拟设备”的功能,云端可以虚拟出所定义产品的设备,在实体设备尚未开发完成时,可以用来辅助APP的开发和测试。
注:设备管理部分,AbleCloud提供了三种设备管理模型:独立设备、网关型设备和Home模型。开发者根据自己的实际情况进行选择。无论采用何种设备管理模型,其他功能的开发都是一样的。
2.3 微信开发
如果使用微信作为控制设备的客户端,需要开发微信公众号上的相关功能。
与微信的交互是指在开发者的微信公众号中实现设备管理功能,允许用户通过微信公众号的交互界面实现对设备的智能控制。因此除了在AbleCloud的平台注册并定义产品外,还需要有一些和微信公众号相关的操作。详细信息请参考开发指导-微信
AbleCloud在后台和微信硬件平台进行了对接,提供PHP的开发框架供开发者在微信上开发设备的控制管理页面。
2.4 云端服务开发
APP和设备上所有需要和云端交互的功能都需要云端服务的支持。
AbleCloud提供了通用的云端服务,如“帐号管理”、“设备管理”、“定时任务”、“OTA”、“文件存储”、“实时消息同步”、“设备安全管理”等。使用这些云端服务,直接调用APP和设备的SDK的对应接口即可。
AbleCloud提供了云端服务的开发框架,开发者可以基于该开发框架开发通用云端服务没有提供的功能。对于通用服务已经提供的功能,也可以进行个性化定制。 例如,一款智能电烤箱,开发者可以使用云端服务开发框架开发晒美食、上传菜单等个性化功能。云端服务开发指导请参考开发指导-云端服务。
三、调试
在管理后台,页面上提供“虚拟设备”和“设备调试”两个功能,可以用以辅助进行APP和设备调试。
虚拟设备
基于厂商在后台创建的产品和定义的功能点,AbleCloud管理后台可以启动对应的虚拟设备。AbleCloud提供虚拟设备的功能可以在设备尚未开发完成的时候用以辅助APP的开发。APP可以绑定该虚拟设备。虚拟设备提供三个功能:
- 显示APP发给设备的指令。
- 响应APP的查询指令。
- 模拟真实设备上报数据。
设备调试
在APP尚未开发完善,但是需要进行设备调试的时候,一方面可以利用AbleCloud提供的“调试APP”进行调试,另一方面可以利用管理后台的“设备调试”进行调试。
在厂商管理后台的设备管理可以看到当前连接到云端的所有设备。“设备调试”提供以下功能:
- 在Web页面直接看到当前连接到云端的设备的所有数据点的数据。
- 触发设备上报数据,页面的数据点会显示设备上报的数据。
- 提供模拟APP功能,开发者可以通过Web页面模拟APP给设备下发数据。
在APP和设备联调时,也可以通过该页面查看设备的数据上报和指令响应情况。
四、产品上线
为保证安全,AbleCloud的云平台分为test开发测试环境和正式生产环境。
产品开发在test环境进行,对应网址:test.ablecloud.cn。开发完成后,转移到正式生产环境进行设备生产和出货。
将产品由test环境转移到正式环境的详细操作步骤详见产品上线操作说明
转移完成后,产品就可以正式生产和出货了。
智能硬件架构模型
AbleCloud的功能模块
1. 联网固件
智能设备需要连接到云端,因此需要联网模块实现和互联网的连接。目前最主流的和互联网连接的联网模块是WiFi模块。除此之外还有蜂窝网络、以太网等联网方式。使用AbleCloud云服务的设备需要保证能够正常连接到AbleCloud的云端。因此,对于主流的WiFi模块,AbleCloud提供了联网固件,只要将这些联网固件烧入这些厂商的WiFi模块,就能够实现设备到云端的连接。对于目前AbleCloud尚未适配的联网模块,AbleCloud提供模块和云端握手的SDK,厂商只需要对SDK中的底层驱动部分进行适配即可实现设备到云端的连接。对于安卓设备、linux设备等自带网卡的设备,AbleCloud提供了SDK,只要使用SDK开发,即可让设备连接到AbleCloud的云端。
2. 客户端SDK
为了帮助开发者快速开发智能设备的客户端应用,我们提供Android、iOS和微信三大平台的SDK。厂商可利用AbleCloud提供的SDK快速开发控制智能硬件的APP。SDK提供了”帐号管理”、“设备管理”、“局域网通信”、“定时任务”、“和云端通信”、“实时消息同步”、”OTA管理”、“推送服务”等功能。
3. 云服务引擎
云服务引擎,是我们提供的PaaS平台,包括开发、测试框架以及完整的运行平台。云服务引擎上提供通用服务和开发运行平台。通用服务包括:帐号管理、设备管理、定时任务、实时消息同步、OTA、推送服务、第三方云对接、存储管理、虚拟设备、设备调试等。对于通用服务,只需要调用SDK相关的接口或者在管理后台页面上操作即可使用,不需要在云端进行任何开发。
通用服务能满足智能联网设备的通用需求。对于个性化、定制化需求,我们提供云端服务开发引擎和运行平台,厂商也可以快速开发出自己的定制云端服务。
云服务开发引擎 AbleCloud封装了开发Web服务的框架,厂商的开发人员利用这个开发框架,可以完全不用关注服务和APP端、和设备端RPC交互的细节,而是将全部精力集中在服务具体业务逻辑的实现上。开发框架提供了完整的web service框架,让您用很少的代码即可实现一个服务,并提供了完备的单元测试、集成测试方案和工具包。
云服务运行平台 当厂商的自定义云端服务开发完毕并测试完成后,开发人员只需要将服务可执行程序提交到AbleCloud提供的PaaS平台,之后AbleCloud将自动完成发布、运维、日志收集、故障自动修复、服务监控报警、定时任务等工作。