简介
ablecloud目前提供了IOS和Android两个版本的APP SDK,方便开发者迅速开发出可以提供更好用户体验的APP,对帐号,设备等进行管理,方便用户对设备进行安全的访问控制。
《平台简介》一篇向大家介绍了ablecloud平台的概况,相信你已经了解了ablecloud是什么,从《平台简介》一文中我们知道要开发完整的智能硬件,涉及到多个模块的开发,本文将聚焦在APP上,详细为开发者讲解android和IOS端SDK的使用。
我们先来回顾一下联网硬件架构:
从架构图中我们可以看到,APP端会和设备直接交互,也会访问云端服务。伴随这智能硬件产品的上市,为方便用户使用,厂家都会发布相应的APP。通常情况下,APP的用户会对设备和家庭的成员进行管理。比如设备分组,成员权限管理等,基于此,ablecloud的SDK主要提供5大功能。此外,为了厂商并行研发硬件、APP,方便APP进行测试,我们还支持桩,让你不用等待设备生产出来或后端服务开发好后才开始开发APP:
- 设备激活:通过smartconfig让设备自动连上wifi。
- 帐号管理:用户注册/修改信息等。
- 设备管理:设备绑定/创建分组等。
- 本地设备发现及访问:在云端服务故障,或者家庭的互联网络故障时,无法对外发起internet访问,此时APP可通过局域网直接和智能设备通信。
- 云端服务访问:发消息到云端服务,从云端服务查询数据等。
- 桩程序:通过实现并设置设备桩/服务桩,能在后端服务开发完、设备生产好之前对APP进行测试。
名词解释
基本概念
- 主域:即设备制造厂商,一家厂商拥有唯一的一个主域,如
google
。目前主域由ablecloud线下分配。 - 子域:某一款智能设备,如google旗下的智能眼镜
glass
,开发者在ablecloud的console上创建产品时自动创建子域。 - smartconfig:通过广播,把wifi的ssid及密码发给联网设备,联网设备自动连上wifi的技术。
- 直连:即本地设备发现及访问。
- 失效/冻结:暂时的使某一功能/对象不可用。
- 启用/解冻:恢复某一功能/对象可用。
- 消息:即两个模块之间交互所传递的内容。
- 设备入库:即将设备登记到ablecloud平台。
- 设备绑定:用户通过APP端对设备进行绑定,只有通过绑定的设备用户才能控制。
- 设备物理id:设备出厂时,由厂商生成的id,通常为字符串。
- 设备逻辑id:设备在ablecloud入库时由ablecloud分配的id。
帐号相关
- 用户:即智能设备的终端用户。
设备相关
- 分组:分组group是一个逻辑概念,任何设备的使用者(通过app)注册成功后可以创建group,group的创建者我们称为这个group的owner。ownner有权限往这个group中添加多个设备,添加多个成员。
- 设备:device,即厂商生产的具体的一台设备。当前一台设备只能属于某一group。在创建好分组后,owner可以通过绑定设备将设备添加进一个分组,只有通过绑定的设备才能被控制。
- 成员:member也是厂商的注册用户。成员可以属于多个group,同一group内的所有成员均有权限添加、控制设备,但是普通成员不能添加其他成员。不在分组内的成员,无法控制设备。
- 绑定码:bindCode是从安全角度考虑,防止黑客攻击之用。绑定码由真实设备生成,在用户对设备进行绑定的时候需要带上绑定码进行验证。
服务相关
- 云端服务:由ablecloud提供的云服务,如帐号管理、设备管理。
- 自定义服务:由厂商开发的自定义后端服务。