1. 设备接入SDK概述1.1. SDK目的与功能机智云的设备接入SDK(以下简称SDK)封装了手机(包括PAD等设备)与机智云智能硬件的通讯过程,以及手机与云端的通讯过程。这些过程包括配置入网、发现、连接、控制、心跳、状态上报、报警通知等。使用SDK,可以使得开发者快速完成APP开发,开发者仅需关注APP的UI和UE设计即可,而相对复杂的协议与错误处理等事项可忽略。 1.2. 机智云物联方案概况1.3. 找到最合适的SDK机智云目前提供3套SDK:iOS平台原生SDK、Android平台原生SDK、APICloud跨平台SDK。 开发者可以根据项目需要自行选择,其中APICloud版本SDK可以用H5技术一次开发,同时适配iOS
和Android两个平台,具体内容请参考:《APICloud SDK 集成指南》。 1.4. 相关名词定义1.4.1. GAgent全称Gizwits Agent,运行于Wi-Fi模块中,设备通过GAgent接入机智云服务器。 目前已兼容国内主流的Wi-Fi模块, 开发者也可以通过获取GAgent二次开发包实现自定义的模块接入机智云。 1.4.2. 小循环智能设备与手机、智能设备与智能设备之间,通过连接同一个路由器实现局域网内部的通信(查看状态或控制),我们称之为小循环。 1.4.3. 大循环智能设备通过路由器或直接接入互联网以实现用户的远程监测与控制,我们称为大循环。 1.4.4. ProductKey产品标识码,开发者通过机智云后台创建新产品后,自动生成的一个32位字符串。在机智云的数据库中是一个唯一的号码,开发者完成开发写入设备主控MCU后,机智云通过此标识码对设备进行识别并自动完成注册。 1.4.5. DID设备号,当一个设备初次接入机智云时,机智云自动根据ProductKey以及设备Wi-Fi模块MAC地址为此设备注册一个did,此did全网唯一,用于与用户的绑定及后续操作。 1.4.6. PassCode设备通行证,用于校验用户的绑定/控制权限。当用户发起设备绑定时,只要是合法操作即可拿到此通行证,通过此通行证绑定设备并对设备进行有效期内的查看、控制等操作。GAgent首次运行时生成随机数作为设备通行证,生成后保存在非易失性存储器上。设备上线时需要上报给服务器。 1.4.7. AppID应用标识码,当开发者需要为一款智能产品开发应用(包括iOS、Android、Web应用等)时,后台会自动生成一个AppID,并与此设备进行关联。应用开发时需要填入此AppID。 1.4.8. Onboarding也叫配置入网,用户将一款基于Wi-Fi的物联网设备配置连接上路由器的过程称为Onboarding。新设备第一次使用时需要知道路由器的账号和密码,以通过路由器连接互联网。由于大多数的物联网设备没有自带的屏幕和键盘,所以需要通过智能手机向设备发送路由器的SSID和密码,这个过程机智云称为Onboarding。机智云提供的Wi-Fi设备接入SDK中已经内置了此配置的功能。 1.4.9. AirLink机智云对各种SmartConfig、SmartLink这种UDP广播报方式对设备配置入网的技术统称,兼容了多个Wi-Fi模块厂商的配置协议,总结了一套良好用户体验的标准Onboarding操作流程,机智云的Wi-Fi 设备接入SDK已经内置AirLink技术。 1.4.10. SoftAP由于目前各个Wi-Fi模块厂商的Smart Config协议均未完全成熟,也不支持5G路由器信号。机智云在提供了AirLink配置模式的同时也支持SoftAP模式配置设备接入路由器。当设备进入SoftAP配置模式时,设备本身将成为一个AP,智能手机可直接与设备进行连接,然后在手机上的界面上输入路由器的SSID和密码,设备接收到信息的时候会自动尝试连接路由器,连接成功则自动切换到正常使用的模式。 1.5. 集成准备1.5.1. 注册机智云账号在使用机智云服务前,你需要通过site.gizwits.com 注册一个开发者账号。请完整填写你的注册信息。 此部分请参考《快速入门》。 1.5.2. 新建设备接入此部分请参考《快速入门》。 1.5.3. 获得 app ID 和产品标识码(productkey)此部分请参考《快速入门》。 1.5.4. 下载SDK1.5.5. 导入SDK新建android工程—>把下载后的sdk解压—>解压后的libs目录下的所有内容复制到工程的libs目录下. 2. SDK流程简介2.1. 通用流程图2.2. 关键点说明1) SDK已经封装了所有的用户、配置、发现、连接、控制的过程,开发者使用这些API可以完成上述流程中的功能开发,不需要再自行实现协议。 2) SDK采取回调的工作方式,所以必须注册必要的**,比如通用**和设备**,具体请参见流程详解。 3) 由于SDK没有做设备缓存,所以每次设备搜索后,会产生新的设备对象,需要对新的设备对象重新注册**,原来的设备对象会失效。
|