gizWifiSDK

gizWifiSDK类

registerNotifications setLogLevel getListInfo

设备配置入网

setDeviceOnboardingDeploy getSSIDList

设备搜索和绑定

bindRemoteDevice

用户登录注册相关

userLoginAnonymous userLoginWithThirdAccountType getCaptchaCode verifyPhoneSMSCode transAnonymousUser changeUserPassword getUserInfo

gizWifiDevice类

设备控制相关

setSubscribe write

设备基本信息相关

exitProductionTesting getDeviceInfo

gizWifiBinary类

decode

概述

机智云gizWifiSDK主要帮助开发者通过sdk接口调用的方式维护用户系统,用户与设备的绑定关系,设备的配置上线以及设备状态的获取和控制指令的发送。

机智云gizWifiSDK模块提供了以下几个类:gizWifiSDK类、gizWifiDevice类、gizWifiBinary类。使用方法是通过以下require语句引用这些类:

1、var gizWifiSDK = api.require(‘gizWifiSDK’); 这行语句可以引用gizWifiSDK类,并使用里面的方法;

2、var gizWifiDevice = api.require(‘gizWifiDevice’); 这行语句可以引用gizWifiDevice类,并使用里面的方法;

3、var gizWifiBinary = api.require(‘gizWifiBinary’); 这行语句可以引用gizWifiBinary类,并使用里面的方法;

注意事项: 若和bMap 同时用,需要添加gizWifiSDK 1.3.4的版本,否则iOS上会因OpenSSL冲突编译失败。

1、版本号为1.3.7,原生SDK为2.12.12版本

2、新增接口:startWithAppInfo,新的启动接口

3、新增接口:setDeviceOnboardingDeploy,配置设备入网,可以设置在配网成功后是否自动绑定设备

4、新增接口:stopDeviceOnboarding,中止设备配网进程

5、废弃接口:gizWifiSDK类中的 startWithAppID 由 startWithAppInfo 替代; gizWifiSDK类中的 setDeviceOnboarding 由 setDeviceOnboardingDeploy 替代。

当前版本对1.2.4之前版本的兼容:

我们对1.2.4之前版本的一些接口做了兼容,这些接口在当前版本中已被废弃。已经使用了这些接口的App不需要修改接口调用,但要注意以下三点修改:

一、新版gizWifiSDK模块上报设备数据点时,布尔类型的数据点值是严格按照json格式定义返回true或false,而旧版gizWifiSDK模块返回的是1或0。App在接收布尔类型数据点时,请修改变量接收方式,使用布尔类型接收。

二、新版gizWifiSDK模块除以下废弃接口外的所有接口,返回值均使用了新错误码值。App可以通过新旧错误码转换函数errorCodeConversion,将新错误码值转换为旧错误码值。errorCodeConversion函数说明在Constant页面的新旧错误码对照表后。

三、接口执行成功时返回的错误码0对应的描述,msg字段,均统一使用了新错误码值对应的字符串”GIZ_SDK_SUCCESS”。

此外,SDK对下发的设备操作指令,将严格按照Json格式限制数据类型。例如,如果设备的数据点定义的是布尔类型,指令下发时只能发true/false,如果发的是1/0或者”1”/“0”,都会拒绝下发。

废弃接口与新接口功能对比

废弃接口(即兼容接口)不强制要求更换,已经开发的app还可以继续使用,但新开发的app建议直接使用新接口。不关心废弃接口的开发者,请跳过本节直接看接口说明。

枚举值变更:

GizWifiConfigureMode

废弃接口:

gizWifiSDK类

  • setDeviceWifi

    1. 替代接口:setDeviceOnboarding,参数mode枚举值有变更(0 = GizWifiSoftAP1 = GizWifiAirLink
  • updateDeviceFromServer

    1. 废弃说明:机智云SDK模块会自动下载并更新设备的配置文件,App可以不再依赖这个接口了
    2. 替代接口:无。
  • bindDevice

    1. 废弃说明:出于设备安全考虑,推荐使用更安全的设备绑定接口。机智云SDK模块会对已登录的局域网设备做自动绑定,因此对于局域网设备,App不需要调用绑定接口了
    2. 替代接口:bindRemoteDevice,需要产品productKey和对应的productSecret,以及设备mac才能绑定
  • registerUserByPhoneAndCode

  • registerUserByEmail

    1. 废弃说明:接口合并
    2. 替代接口:registerUser
  • transAnonymousUserToNormalUser

  • transAnonymousUserToPhoneUser

    1. 废弃说明:接口合并
    2. 替代接口:transAnonymousUser
  • changeUserPasswordByCode

  • changeUserPasswordByEmail

    1. 废弃说明:接口合并
    2. 替代接口:resetPassword
  • changeUserEmail

  • changeUserPhone

  • changeUserAdditionalInfo

    1. 废弃说明:接口合并。这三个接口已删除
    2. 替代接口:resetPassword

弃用的字段:

  • passcode

    1. 弃用说明:出于安全考虑不再返回真实有效的设备密码字符串
    2. 相关接口:
    3. GizWifiSDKgetBoundDevices接口返回值的devices信息
    4. GizWifiDevice类的getDeviceInfo接口返回值的devices信息
  • isOnline

  • isConnected

    1. 弃用说明:字段含义合并,由netStatus替代。
    2. netStatus2 等同于 isConnecttrue
    3. netStatus01 等同于 isConnectfalse
    4. netStatus0 等同于 isOnlinefalse
    5. netStatus12 等同于 isOnlinetrue
    6. 相关接口:
    7. GizWifiSDKgetBoundDevices接口返回值的devices信息
    8. GizWifiDevice类的registerNotifications接口返回值
  • cmd

  • entity0

    1. 弃用说明:优化指令下发的参数格式。指令下发时,直接传数据点名称和值即可,数据上报时,也直接上报数据点名称和值
    2. 相关接口:
    3. GizWifiDevice类的write接口下发参数
  • status

    1. 弃用说明:优化数据上报格式,直接上报数据点名称和值
    2. 相关接口:
    3. GizWifiDevice类的registerNotifications接口返回值
    4. GizWifiDevice类的write接口返回值

枚举值变更:

  • GizWifiConfigureMode

    1. 变更说明:枚举值的起始序号统一从0开始。见Constant页相应表格
    2. 变更方式:原来的softap模式为1,变更为0;原来的airlink模式为2,变更为1

接口说明

gizWifiSDK类接口

机智云 Wi-Fi SDK 的基础类。该类提供了SDK初始化、基本设置、用户管理、设备管理的基本接口。

startWithAppInfo

启动 SDK。 注意,该接口执行成功后才能正常执行其他接口功能。SDK启动在Android平台上可能会耗费1~2秒的时间,建议App开发者在收到启动ret返回8316(SDK启动成功)时或者启动后延时2秒左右再调用其他接口。

startWithAppInfo({params}, callback(ret, err))

params

appInfo:

  • 类型: 键值对
  • 默认值:无
  • 描述:开发者在申请的应用标识和密钥。
  • 内部字段

    {

    1. appId: // 在机智云申请的应用标识
    2. appSecret: // 在机智云申请的应用密钥

    }

productInfo:

  • 类型: 键值对数组
  • 默认值:无
  • 描述:要过滤的设备产品信息列表。如果希望返回所有能发现的设备则不需要传参。指定了之后,SDK 将只返回过滤后的设备
  • 内部字段 [

    1. {
    2. productKey: // 创建产品后机智云为产品生成的产品标识
    3. productSecret: // 产品的密钥
    4. },
    5. ...

    ]

cloudServiceInfo:

  • 类型: 键值对
  • 默认值:0
  • 描述:要切换的服务器域名信息。如果使用的是机智云公有云服务则不用传域名信息,使用私有部署云服务则要传域名信息。使用私有部署云服务时,可以像这样写域名:api.xxxxxx.com。若需要指定特殊端口,需同时指定 Http 和 Https 端口,此时这样写域名:abc.xxxxxx.com:81&8443。三个域名信息,用到哪个就指定哪个。
  • 内部字段

    {

    1. openAPIInfo: // api服务域名
    2. siteInfo: // site服务域名
    3. pushInfo: // 推送服务域名

    }

callback(ret, err)

ret

  • 类型:JSON对象
  • 内部字段

    1. {
    2. errorCode: 8316, // SDK启动成功,数字类型
    3. msg: // 成功消息的描述,字符串类型
    4. }

err

  • 类型:JSON对象
  • 内部字段

    1. {
    2. errorCode: // 错误代码(见枚举定义GizWifiErrorCode),数字类型
    3. msg: // 错误描述,字符串类型
    4. }

示例代码

  1. // 不指定域名和过滤productKey,参考代码如下:
  2. var gizWifiSDK = api.require('gizWifiSDK');
  3. gizWifiSDK.startWithAppInfo({"appInfo":{"appId":"your_app_id", "appSecret":"your_app_secret"}}, function(ret, err) {
  4. alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))
  5. });
  6. // 要指定cloudServiceInfo和过滤的productKey,则参考代码如下:
  7. var gizWifiSDK = api.require('gizWifiSDK');
  8. gizWifiSDK.startWithAppInfo({"appInfo":{"appId":"your_app_id", "appSecret":"your_app_secret"}, "productInfo":[{"productKey":"your_product_key", "productSecret":"your_product_secret"}], "cloudServiceInfo":{"openAPIInfo": "api.gizwits.com", "siteInfo":"site.gizwits.com", "pushInfo":"push.gizwitsapi.com"}}, function(ret, err) {
  9. alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))
  10. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

registerNotifications

注册 SDK 事件通知。通知的事件包括SDK启动失败或成功、设备列表变化上报等

registerNotifications({params}, callback(ret, err))

callback(ret, err)

ret

  • 类型:JSON对象
  • 内部字段

    1. {
    2. GizEventSDK: // SDK事件
    3. {errorCode: xxx, msg: "xxx"}, // 事件码(见GizWifiErrorCode,数字类型),事件描述(字符串类型)
    4. GizEventDevice: // 设备异常事件
    5. {errorCode: xxx, msg: "xxx"}, // 事件码(见GizWifiErrorCode,数字类型),事件描述(字符串类型)
    6. GizEventM2MService: // M2M异常事件
    7. {errorCode: xxx, msg: "xxx"}, // 事件码(见GizWifiErrorCode,数字类型),事件描述(字符串类型)
    8. GizEventToken": // Token失效
    9. {errorCode: xxx, msg: "xxx"}, // 事件码(见GizWifiErrorCode,数字类型),事件描述(字符串类型)
    10. devices: [{ // 设备数组(以下字段是设备对象信息),数组类型
    11. mac: // 设备MAC地址,字符串类型
    12. did: // 设备唯一标识,字符串类型
    13. ip: // 设备IP地址,字符串类型
    14. productKey: // 设备的产品识别码,字符串类型
    15. productName: // 设备的产品名称,字符串类型
    16. remark: // 设备备注信息,字符串类型
    17. alias: // 设备别名,字符串类型
    18. type: // 设备类型(见枚举定义GizWifiDeviceType),数字类型
    19. netStatus: // 设备网络状态(见枚举定义GizWifiDeviceNetStatus),数字类型
    20. isLAN: // 设备是否是局域网设备,布尔类型
    21. isBind: // 设备是否已绑定,布尔类型
    22. isDisabled: // 设备是否已在云端注销,布尔类型
    23. isProductDefined: // 设备是否定义了数据点,布尔类型
    24. isSubscribed: // 设备是否已订阅,布尔类型
    25. }]
    26. }

err

  • 类型:JSON对象
  • 内部字段

    1. {
    2. errorCode: // 错误代码(见枚举定义GizWifiErrorCode),数字类型
    3. msg: // 错误描述,字符串类型
    4. }

示例代码

  1. var gizWifiSDK = api.require('gizWifiSDK');
  2. gizWifiSDK.registerNotifications(function(ret, err) {
  3. alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))
  4. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getVersion

获取SDK版本号

getVersion(callback(ret, err))

callback(ret, err)

ret

  • 类型:JSON对象
  • 内部字段

    1. {
    2. version: // SDK版本号,字符串类型
    3. }

示例代码

  1. var gizWifiSDK = api.require('gizWifiSDK');
  2. gizWifiSDK.getVersion(function(ret, err) {
  3. alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))
  4. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setLogLevel

设置 SDK 日志。 setLogLevel({params})

params

logLevel:

  • 类型: 数字类型,见枚举定义GizLogPrintLevel
  • 默认值:3,为详细日志输出
  • 描述:SDK日志输出级别

示例代码

  1. var gizWifiSDK = api.require('gizWifiSDK');
  2. gizWifiSDK.setLogLevel({"logLevel": 3});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

disableLAN

禁用小循环

disableLAN({params}, callback(ret, err))

params

disabled:

  • 类型: 布尔类型
  • 默认值:false,开启
  • 描述:可禁用局域网下设备发现、设备控制等小循环下的功能

callback(ret, err)

ret

  • 类型:JSON对象
  • 内部字段

    1. {
    2. errorCode: 0, // 执行成功,数字类型
    3. msg: //成功消息的描述,字符串类型
    4. }

err

  • 类型:JSON对象
  • 内部字段

    1. {
    2. errorCode: // 错误代码(见枚举定义GizWifiErrorCode),数字类型
    3. msg: // 错误描述,字符串类型
    4. }

示例代码

  1. var gizWifiSDK = api.require('gizWifiSDK');
  2. gizWifiSDK.disableLAN({"disabled": true}, function(ret, err) {
  3. alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))
  4. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getListInfo

获取设备列表

getListInfo(callback(ret, err))

callback(ret, err)

ret

  • 类型:JSON对象
  • 内部字段

    1. {
    2. devices: [{ // 设备数组(以下字段是设备对象信息),数组类型
    3. mac: // 设备MAC地址,字符串类型
    4. did: // 设备唯一标识,字符串类型
    5. ip: // 设备IP地址,字符串类型
    6. productKey: // 设备的产品识别码,字符串类型
    7. productName: // 设备的产品名称,字符串类型
    8. remark: // 设备备注信息,字符串类型
    9. alias: // 设备别名,字符串类型
    10. type: // 设备类型(见枚举定义GizWifiDeviceType),数字类型
    11. netStatus: // 设备网络状态(见枚举定义GizWifiDeviceNetStatus),数字类型
    12. isLAN: // 设备是否是局域网设备,布尔类型
    13. isBind: // 设备是否已绑定,布尔类型
    14. isDisabled: // 设备是否已在云端注销,布尔类型
    15. isProductDefined: // 设备是否定义了数据点,布尔类型
    16. isSubscribed: // 设备是否已订阅,布尔类型
    17. }]
    18. }

示例代码

  1. var gizWifiSDK = api.require('gizWifiSDK');
  2. gizWifiSDK.getListInfo(function(ret, err) {
  3. alert("ret = " + JSON.stringify(ret))
  4. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getPhoneSSID

获取手机当前Wifi的SSID

getPhoneSSID(callback(ret, err))

callback(ret, err)

ret

  • 类型:JSON对象
  • 内部字段

    1. {
    2. SSID: // 手机当前wifi的SSID,字符串类型
    3. }

err

  • 类型:JSON对象
  • 内部字段

    1. {
    2. errorCode: // 错误代码(见枚举定义GizWifiErrorCode),数字类型
    3. msg: // 错误描述,字符串类型
    4. }

示例代码

  1. var gizWifiSDK = api.require('gizWifiSDK');
  2. gizWifiSDK.getPhoneSSID(function(ret, err) {
  3. alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))
  4. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setDeviceOnboardingDeploy

配置设备路由。设备要能连接到WiFi网络,需要先把设备配置到WiFi路由器上。配置时,需要给设备发送要配置的路由SSID和密码。

设备配置支持两种方式:SoftAP方式、AirLink方式。在设备上按不同的按键,可以使设备进入对应的配置模式。详细的操作方式,请访问机智云网站

进行 SoftAP 配置时,设备要处于 softap 模式。此时模组会产生一个热点名称,手机 wifi 必须连接此热点后才可以配置。如果是机智云提供的固件,模组热点名称前缀为”XPG-GAgent-“,密码为”123456789”。设备处于 airlink 模式时,手机随时都可以开始配置。但无论哪种配置方式,设备上线时,手机要连接到配置的局域网 wifi 上,才能够确认设备已配置成功。设备配置成功时,在回调中会返回设备 mac 地址。如果设备重置了,设备did可能要在设备搜索回调中才能获取。

setDeviceOnboardingDeploy({params}, callback(ret, err))

params

ssid:

  • 类型: 字符串
  • 默认值:无
  • 描述:要配置的Wifi SSID

key:

  • 类型: 字符串
  • 默认值:无
  • 描述:要配置的 Wifi 密码

mode:

  • 类型: 数字类型
  • 默认值:无
  • 描述:设备配置方式(见 GizWifiConfigureMode 枚举定义)

softAPSSIDPrefix:

  • 类型: 字符串
  • 默认值:无
  • 描述:SoftAPMode 模式下SoftAP 的 SSID 全名。机智云的GoKit,默认前缀为”XPG-GAgent-“

timeout:

  • 类型: 数字类型
  • 默认值:30
  • 描述:配置超时时间。超时时间建议设置为60秒

gagentTypes:

  • 类型: 数字类型数组
  • 默认值:4
  • 描述:模组类型(见 GAgentType 枚举定义),若不指定此参数则默认配置乐鑫模组。GizWifiGAgentType定义了 SDK 支持的所有模组类型。GizWifiGAgentType还定义了一个GizGAgentOther枚举值,用于开发者使用自己的配置库进行设备配置,此时参数传GizGAgentOther即可

bind:

  • 类型: 布尔类型
  • 默认值:false
  • 描述:配网时是否自动绑定,自动绑定要求先用户登录。true为自动绑定,false为不绑定

callback(ret, err)

ret

  • 类型:JSON对象
  • 内部字段

    1. {
    2. device:{ // 配置成功的设备,以下字段是设备信息:
    3. "mac": // 设备mac
    4. "did": // 设备did
    5. "productKey":// 设备类型标识码
    6. }
    7. }

err

  • 类型:JSON对象
  • 内部字段

    1. {
    2. errorCode: // 错误代码(见枚举定义GizWifiErrorCode),数字类型
    3. msg: // 错误描述,字符串类型
    4. }

示例代码

  1. var gizWifiSDK = api.require('gizWifiSDK');
  2. // softap配置配置类型模组, 要求配网后自动绑定
  3. GizGAgentESP = 4;
  4. gizWifiSDK.setDeviceOnboardingDeploy({
  5. "ssid": "your_ssid",
  6. "key": "your_key",
  7. "mode": 0,
  8. "softAPSSIDPrefix": "your_prefix",
  9. "timeout": 60,
  10. "gagentTypes": [GizGAgentESP],
  11. "bind": true
  12. }, function(ret, err) {
  13. alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))
  14. });
  15. // airlink配置乐鑫模组, 配网成功后不自动绑定
  16. GizGAgentESP = 4;
  17. gizWifiSDK.setDeviceOnboardingDeploy({
  18. "ssid": "your_ssid",
  19. "key": "your_key",
  20. "mode": 1,
  21. "gagentTypes": [GizGAgentESP],
  22. "timeout": 60
  23. }, function(ret, err) {
  24. alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

stopDeviceOnboarding

停止配网接口。当APP处于配网当中, 需要中止配网, 则调用这个接口;停止后回调中返回的错误为GIZ_SDK_ONBOARDING_STOPPED。

stopDeviceOnboarding(callback(ret, err))

callback(ret, err)

ret

  • 描述:不需要处理

err

  • 类型:JSON对象
  • 内部字段

    1. {
    2. errorCode: // 错误代码(见枚举定义GizWifiErrorCode),数字类型
    3. // errorCode = 8318,表示停止配置成功
    4. msg: // 错误描述,字符串类型
    5. }

示例代码

  1. var gizWifiSDK = api.require('gizWifiSDK');
  2. gizWifiSDK.stopDeviceOnboarding(function(ret, err) {
  3. alert("err = " + JSON.stringify(err));
  4. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getSSIDList

获取设备热点列表。设备 wifi 模组处于 SoftAP 热点模式时,可以获取设备搜索到的 WiFi 热点列表。此接口需要手机当前 Wifi 连上设备模组的 SoftAP 热点后才能工作。

getSSIDList(callback(ret, err))

callback(ret, err)

ret

  • 类型:JSON对象
  • 内部字段

    1. {
    2. wifiSSIDs:[{ // WiFi热点列表,以下字段是热点信息:
    3. "ssid": // WiFi的ssid
    4. "rssi": // WiFi的信号强弱
    5. }]
    6. }

err

  • 类型:JSON对象
    1. {
    2. errorCode: // 错误代码(见枚举定义GizWifiErrorCode),数字类型
    3. msg: // 错误描述,字符串类型
    4. }

示例代码

  1. var gizWifiSDK = api.require('gizWifiSDK');
  2. gizWifiSDK.getSSIDList(function(ret, err) {
  3. alert("ret = " + JSON.stringify(ret) + "err = " JSON.stringify(err))
  4. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getBoundDevices

获取绑定设备列表。在不同的网络环境下,有不同的处理: 当手机能访问外网时,该接口会向云端发起获取绑定设备列表请求; 当手机不能访问外网时,局域网设备是实时发现的,但会保留之前已经获取过的绑定设备; 手机处于无网模式时,局域网未绑定设备会消失,但会保留之前已经获取过的绑定设备;

getBoundDevices({params}, callback(ret, err))

params

uid:

  • 类型: 字符串
  • 默认值:无
  • 描述:用户登录后获取到的uid。uid 和 token 都不传时,将只会得到小循环设备

token:

  • 类型: 字符串
  • 默认值:无
  • 描述:用户登录后获取到的token。uid 和 token 都不传时,将只会得到小循环设备

specialProductKeys:

  • 类型: 字符串数组
  • 默认值:无
  • 描述:指定过滤的产品类型识别码,可同时指定多个要过滤的 Product Key

callback(ret, err)

ret

  • 类型:JSON对象
  • 内部字段

    1. {
    2. devices: [{ // 设备数组(以下字段是设备对象信息),数组类型
    3. mac: // 设备MAC地址,字符串类型
    4. did: // 设备唯一标识,字符串类型
    5. ip: // 设备IP地址,字符串类型
    6. productKey: // 设备的产品识别码,字符串类型
    7. productName: // 设备的产品名称,字符串类型
    8. remark: // 设备备注信息,字符串类型
    9. alias: // 设备别名,字符串类型
    10. type: // 设备类型(见枚举定义GizWifiDeviceType),数字类型
    11. netStatus: // 设备网络状态(见枚举定义GizWifiDeviceNetStatus),数字类型
    12. isLAN: // 设备是否是局域网设备,布尔类型
    13. isBind: // 设备是否已绑定,布尔类型
    14. isDisabled: // 设备是否已在云端注销,布尔类型
    15. isProductDefined: // 设备是否定义了数据点,布尔类型
    16. isSubscribed: // 设备是否已订阅,布尔类型
    17. }]
    18. }

err

  • 类型:JSON对象
  • 内部字段

    1. {
    2. errorCode: // 错误代码(见枚举定义GizWifiErrorCode),数字类型
    3. msg: // 错误描述,字符串类型
    4. }

示例代码

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

bindRemoteDevice

绑定远端设备到云端

bindRemoteDevice({params}, callback(ret, err))

params

uid:

  • 类型: 字符串
  • 默认值:无
  • 描述:用户登录后获取到的uid。

token:

  • 类型: 字符串
  • 默认值:无
  • 描述:用户登录后获取到的token。

mac:

  • 类型: 字符串
  • 默认值:无
  • 描述:待绑定设备的mac

productKey:

  • 类型: 字符串
  • 默认值:无
  • 描述:待绑定设备的productKey。

productSecret:

  • 类型: 字符串
  • 默认值:无
  • 描述:待绑定设备的productSecret

callback(ret, err)

ret

  • 类型:JSON对象
  • 内部字段

    1. {
    2. did: // 设备唯一标识,字符串类型
    3. }

err

  • 类型:JSON对象
  • 内部字段

    1. {
    2. errorCode: // 错误代码(见枚举定义GizWifiErrorCode),数字类型
    3. msg: // 错误描述,字符串类型
    4. }

示例代码

  1. var gizWifiSDK = api.require('gizWifiSDK');
  2. gizWifiSDK.bindRemoteDevice({
  3. "uid": 'your_uid',
  4. "token": 'your_token',
  5. "mac": 'your_device_mac',
  6. "productKey": 'your_product_key',
  7. "productSecret": 'your_product_secret'
  8. }, function (ret, err) {
  9. alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))
  10. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

unbindDevice

把设备从云端解绑。用户登录后,可以将已绑定的设备与云端自己的账户解绑。

unbindDevice({params}, callback(ret, err))

params

uid:

  • 类型: 字符串
  • 默认值:无
  • 描述:用户登录后获取到的uid。

token:

  • 类型: 字符串
  • 默认值:无
  • 描述:用户登录后获取到的token。

did:

  • 类型: 字符串
  • 默认值:无
  • 描述:设备唯一标识。

callback(ret, err)

ret

  • 类型:JSON对象
  • 内部字段

    1. {
    2. did: // 设备唯一标识,字符串类型
    3. }

err

  • 类型:JSON对象
  • 内部字段

    1. {
    2. errorCode: // 错误代码(见枚举定义GizWifiErrorCode),数字类型
    3. msg: // 错误描述,字符串类型
    4. }

示例代码

  1. var gizWifiSDK = api.require('gizWifiSDK');
  2. gizWifiSDK.unbindDevice({
  3. "uid": 'your_uid',
  4. "token": 'your_token',
  5. "did": 'your_device_id'
  6. }, function(ret, err) {
  7. alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))
  8. });

iOS系统,Android系统

可提供的1.0.0及更高版本

userLoginAnonymous

匿名登录。匿名方式登录,不需要注册用户账号

userLoginAnonymous(callback(ret, err))

callback(ret, err)

ret

  • 类型:JSON对象
  • 内部字段

    1. uid: // 用户uid,字符串类型
    2. token: // 登录会话token,字符串类型
    3. }

err

  • 类型:JSON对象
  • 内部字段

    1. {
    2. errorCode: // 错误代码(见枚举定义GizWifiErrorCode),数字类型
    3. msg: // 错误描述,字符串类型
    4. }

示例代码

  1. var gizWifiSDK = api.require('gizWifiSDK');
  2. gizWifiSDK.userLoginAnonymous(function(ret, err) {
  3. alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))
  4. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

userLogin

用户登录。需使用注册成功的用户名、密码进行登录,可以是手机用户名、邮箱用户名或普通用户名

userLogin({params}, callback(ret, err))

params

userName:

  • 类型: 字符串
  • 默认值:无
  • 描述:要登录的用户名。

password:

  • 类型: 字符串
  • 默认值:无
  • 描述:要登录的密码。

callback(ret, err)

ret

  • 类型:JSON对象
  • 内部字段

    1. {
    2. uid: // 用户uid,字符串类型
    3. token: // 登录会话token,字符串类型
    4. }

err

  • 类型:JSON对象
  • 内部字段

    1. {
    2. errorCode: // 错误代码(见枚举定义GizWifiErrorCode),数字类型
    3. msg: // 错误描述,字符串类型
    4. }

示例代码

  1. var gizWifiSDK = api.require('gizWifiSDK');
  2. gizWifiSDK.userLogin({
  3. "userName": 'your_user_name',
  4. "password": 'your_password'
  5. }, function(ret, err) {
  6. alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))
  7. })

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

userLoginWithThirdAccountType

第三方账号登录。第三方账号支持百度、新浪、QQ,需要通过第三方的 shareSDK 工具或各自对应的SDK,获取到 uid 和 token 之后才可以使用此接口。

userLoginWithThirdAccountType({params}, callback(ret, err))

params

uid: 登录第三方账号之后得到的uid

  • 类型: 字符串
  • 默认值:无
  • 描述:要登录的用户id

token: 登录第三方账号之后得到的token

  • 类型: 字符串
  • 默认值:无
  • 描述:要登录的密码

thirdAccountType:

  • 类型: 数字类型
  • 默认值:无
  • 描述:第三方账号类型(见 GizThirdAccountType 枚举定义)

callback(ret, err)

ret

  • 类型:JSON对象
  • 内部字段

    1. {
    2. uid: // 登录机智云后得到的 uid,字符串类型
    3. token: // 登录机智云后得到的 token,字符串类型
    4. }

err

  • 类型:JSON对象
  • 内部字段

    1. {
    2. errorCode: // 错误代码(见枚举定义GizWifiErrorCode),数字类型
    3. msg: // 错误描述,字符串类型
    4. }

示例代码

  1. var gizWifiSDK = api.require('gizWifiSDK');
  2. gizWifiSDK.userLoginWithThirdAccountType({
  3. "thirdAccountType": 0,
  4. "uid": 'your_third_uid',
  5. "token": 'your_third_token'
  6. }, function(ret, err) {
  7. alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))
  8. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

requestSendVerifyCode

通过App secret和手机号请求短信验证码。

requestSendVerifyCode({params}, callback(ret, err))

params

appSecret:

  • 类型: 字符串
  • 默认值:无
  • 描述:应用的 secret 信息,从 site.gizwits.com 中可以看到

phone:

  • 类型: 字符串
  • 默认值:无
  • 描述:手机号

callback(ret, err)

ret

  • 类型:JSON对象
  • 内部字段

    1. {
    2. errorCode: 0, // 验证码获取成功,数字类型
    3. msg: // 消息描述,字符串类型
    4. }

err

  • 类型:JSON对象
  • 内部字段

    1. {
    2. errorCode: // 错误代码(见枚举定义GizWifiErrorCode),数字类型
    3. msg: // 错误描述,字符串类型
    4. }

示例代码

  1. var gizWifiSDK = api.require('gizWifiSDK');
  2. gizWifiSDK.requestSendVerifyCode({
  3. "appSecret": 'your_app_secret',
  4. "phone": 'your_phone_number'
  5. }, function(ret, err) {
  6. alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))
  7. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getCaptchaCode

通过 App Secret 获取图片验证码。

getCaptchaCode({params}, callback(ret, err))

params

appSecret:

  • 类型: 字符串
  • 默认值:无
  • 描述:应用的 secret 信息,是与 AppID 对应的应用签名字符串,从 site.gizwits.com 中可以看到

callback(ret, err)

ret

  • 类型:JSON对象
  • 内部字段

    1. {
    2. token: // 图片验证码 token,图片验证码token在1小时后过期。字符串类型
    3. captchaId: // 图片验证码 id,图片验证码5分钟后过期。字符串类型
    4. captchaURL: // 图片验证码 url,图片验证码 url 在使用后过期。字符串类型
    5. }

err

  • 类型:JSON对象
  • 内部字段

    1. {
    2. errorCode: // 错误代码(见枚举定义GizWifiErrorCode),数字类型
    3. msg: // 错误描述,字符串类型
    4. }

示例代码

  1. var gizWifiSDK = api.require('gizWifiSDK');
  2. gizWifiSDK.getCaptchaCode({
  3. "appSecret": 'your_app_secret'
  4. }, function(ret, err) {
  5. alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))
  6. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

requestSendPhoneSMSCode

通过图形验证码获取手机短信验证码

requestSendPhoneSMSCode({params}, callback(ret, err))

params

token:

  • 类型: 字符串
  • 默认值:无
  • 描述:验证码 token,通过 getCaptchaCode 获取

captchaId:

  • 类型: 字符串
  • 默认值:无
  • 描述:验证码 id,通过 getCaptchaCode 获取

captchaCode:

  • 类型: 字符串
  • 默认值:无
  • 描述:验证码,来自图片的验证内容

phone:

  • 类型: 字符串
  • 默认值:无
  • 描述:手机号

callback(ret, err)

ret

  • 类型:JSON对象
  • 内部字段

    1. {
    2. errorCode: 0, // 验证码获取成功,数字类型
    3. msg: // 消息描述,字符串类型
    4. }

err

  • 类型:JSON对象
  • 内部字段

    1. {
    2. errorCode: // 错误代码(见枚举定义GizWifiErrorCode),数字类型
    3. msg: // 错误描述,字符串类型
    4. }

示例代码

  1. var gizWifiSDK = api.require('gizWifiSDK');
  2. gizWifiSDK.requestSendPhoneSMSCode({
  3. "token": 'your_captcha_code_token',
  4. "captchaId": 'your_captcha_code_id',
  5. "captchaCode": 'your_captcha_code',
  6. "phone": 'your_phone_number'
  7. }, function(ret, err) {
  8. alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))
  9. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

verifyPhoneSMSCode

验证手机短信验证码。注意,验证短信验证码后,验证码就失效了,无法再用于手机号注册

verifyPhoneSMSCode({params}, callback(ret, err))

params

token:

  • 类型: 字符串
  • 默认值:无
  • 描述:验证码 token,通过 getCaptchaCode 获取

phoneCode:

  • 类型: 字符串
  • 默认值:无
  • 描述:手机短信中的验证码内容

phone:

  • 类型: 字符串
  • 默认值:无
  • 描述:手机号

callback(ret, err)

ret

  • 类型:JSON对象
  • 内部字段

    1. {
    2. errorCode: 0, // 验证码获取成功,数字类型
    3. msg: // 消息描述,字符串类型
    4. }

err

  • 类型:JSON对象
  • 内部字段

    1. {
    2. errorCode: // 错误代码(见枚举定义GizWifiErrorCode),数字类型
    3. msg: // 错误描述,字符串类型
    4. }

示例代码

  1. var gizWifiSDK = api.require('gizWifiSDK');
  2. gizWifiSDK.verifyPhoneSMSCode({
  3. "token": 'your_captcha_code_token',
  4. "phoneCode": 'your_phone_sms_code',
  5. "phone": 'your_phone_number'
  6. }, function(ret, err) {
  7. alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))
  8. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

registerUser

用户注册。需指定用户类型注册。手机用户的用户名是手机号,邮箱用户的用户名是邮箱、普通用户的用户名可以是普通用户名

registerUser({params}, callback(ret, err))

params

userName:

  • 类型: 字符串类型
  • 默认值:无
  • 描述:用户名。

password:

  • 类型: 字符串类型
  • 默认值:无
  • 描述:密码。

verifyCode:

  • 类型: 字符串类型
  • 默认值:无
  • 描述:手机短信验证码。短信验证码注册后就失效了,不能被再次使用

accountType:

  • 类型: 字符串类型
  • 默认值:无
  • 描述:用户类型,详细见 GizUserAccountType 枚举定义。注册手机号时,此参数指定为手机用户,注册邮箱时,此参数指定为邮箱用户,注册普通用户名时,此参数指定为普通用户

callback(ret, err)

ret

  • 类型:JSON对象
  • 内部字段

    1. {
    2. uid: // 注册成功后返回的uid,字符串类型
    3. token: // 注册成功后返回的token,字符串类型
    4. }

err

  • 类型:JSON对象
  • 内部字段

    1. {
    2. errorCode: // 错误代码(见枚举定义GizWifiErrorCode),数字类型
    3. msg: // 错误描述,字符串类型
    4. }

示例代码

  1. var gizWifiSDK = api.require('gizWifiSDK');
  2. gizWifiSDK.registerUser({
  3. "userName": 'your_phone_number',
  4. "password": 'your_password',
  5. "verifyCode": 'your_verify_code',
  6. "accountType": 1
  7. }, function(ret, err) {
  8. alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))
  9. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

transAnonymousUser

匿名用户转换,可转换为手机用户或者普通用户。注意,待转换的帐号必须是还未注册过的

transAnonymousUser({params}, callback(ret, err))

params

token:

  • 类型: 字符串
  • 默认值:无
  • 描述:用户登录或注册时得到的 token

userName:

  • 类型: 字符串
  • 默认值:无
  • 描述:待转换的普通账号或手机号

password:

  • 类型: 字符串
  • 默认值:无
  • 描述:转换后的帐号密码

verifyCode:

  • 类型: 字符串
  • 默认值:无
  • 描述:转换为手机用户时要使用的手机短信验证码

accountType:

  • 类型: 数值类型
  • 默认值:无
  • 描述:用户类型,详细见 GizThirdAccountType 枚举定义。待转换的用户名是手机号时,此参数指定为1,待转换用户名是普通账号时,此参数指定为0

callback(ret, err)

ret

  • 类型:JSON对象
  • 内部字段

    1. {
    2. uid: // 注册成功后返回的uid,字符串类型
    3. token: // 注册成功后返回的token,字符串类型
    4. }

err

  • 类型:JSON对象
  • 内部字段

    1. {
    2. errorCode: // 错误代码(见枚举定义GizWifiErrorCode),数字类型
    3. msg: // 错误描述,字符串类型
    4. }

示例代码

  1. var gizWifiSDK = api.require('gizWifiSDK');
  2. gizWifiSDK.transAnonymousUser({
  3. "token": 'your_token',
  4. "userName": 'your_phone_number',
  5. "password": 'your_password',
  6. "verifyCode": 'your_verify_code',
  7. "accountType": 1
  8. }, function(ret, err) {
  9. alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))
  10. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

resetPassword

重置密码

resetPassword({params}, callback(ret, err))

params

userName:

  • 类型: 字符串
  • 默认值:无
  • 描述:待重置密码的手机号或邮箱

verifyCode:

  • 类型: 字符串
  • 默认值:无
  • 描述:重置手机用户密码时需要使用手机短信验证码

newPassword:

  • 类型: 字符串
  • 默认值:无
  • 描述:新密码

accountType:

  • 类型:数值类型
  • 默认值:无
  • 描述:用户类型,详细见 GizThirdAccountType 枚举定义。待重置密码的用户名是手机号时,此参数指定为手机用户,待重置密码的用户名是邮箱时,此参数指定为邮箱用户

callback(ret, err)

ret

  • 类型:JSON对象
  • 内部字段

    1. {
    2. errorCode: 0 // 执行成功,数字类型
    3. msg: // 错误描述,字符串类型
    4. }

err

  • 类型:JSON对象
  • 内部字段

    1. {
    2. errorCode: // 错误代码(见枚举定义GizWifiErrorCode),数字类型
    3. msg: // 错误描述,字符串类型
    4. }

示例代码

  1. var gizWifiSDK = api.require('gizWifiSDK');
  2. gizWifiSDK.resetPassword({
  3. "userName": 'your_phone_number',
  4. "verifyCode": 'your_verify_code',
  5. "newPassword": 'your_new_password',
  6. "accountType": 1
  7. }, function(ret, err) {
  8. alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))
  9. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

changeUserPassword

修改用户密码

changeUserPassword({params}, callback(ret, err))

params

  • 类型: 字符串
  • 默认值:无
  • 描述:用户登录或注册时得到的 token

oldPassword:

  • 类型: 字符串
  • 默认值:无
  • 描述:旧密码

newPassword:

  • 类型: 字符串
  • 默认值:无
  • 描述:新密码

callback(ret, err)

ret

  • 类型:JSON对象
  • 内部字段

    1. {
    2. errorCode: 0 // 执行成功,数字类型
    3. msg: // 错误描述,字符串类型
    4. }

err

  • 类型:JSON对象
  • 内部字段

    1. {
    2. errorCode: // 错误代码(见枚举定义GizWifiErrorCode),数字类型
    3. msg: // 错误描述,字符串类型
    4. }

示例代码

  1. var gizWifiSDK = api.require('gizWifiSDK');
  2. gizWifiSDK.changeUserPassword({
  3. "token": 'your_token',
  4. "oldPassword": 'your_old_password',
  5. "newPassword": 'your_new_password'
  6. }, function(ret, err) {
  7. alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))
  8. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

changeUserInfo

匿名用户转手机用户。手机匿名登录后,可以转换为手机用户,但需要先获取到手机验证码才可以转换。转换后,匿名用户已经绑定的设备,会迁移到转换后的用户账号下。

changeUserInfo({params}, callback(ret, err))

params

token:

  • 类型: 字符串
  • 默认值:无
  • 描述:用户登录或注册时得到的 token

userName:

  • 类型: 字符串
  • 默认值:无
  • 描述:待修改的手机号或邮箱

verifyCode:

  • 类型: 字符串
  • 默认值:无
  • 描述:修改手机号时要使用的手机短信验证码

accountType:

  • 类型: 字符串
  • 默认值:无
  • 描述:用户类型,详细见 GizThirdAccountType 枚举定义。修改手机号时,accountType传1;修改普通用户名时,accountType传2;只修改个人信息时,accountType传0;同时修改用户名和个人信息时,可根据待修改的是手机号还是邮箱来指定

additionalInfo:

  • 类型: 字符串
  • 默认值:无
  • 描述:待修改的个人信息,详细见 GizUserInfo 类定义。如果只修改个人信息,需要指定token,username、code不用传
  • 内部字段:

    1. {
    2. "name": // 昵称,字符串类型
    3. "gender": // 性别,见UserGenderType枚举,数字类型
    4. "birthday": // 生日,字符串类型
    5. "address": // 住址,字符串类型
    6. "remark": // 备注,字符串类型
    7. }

callback(ret, err)

ret

  • 内部字段

    1. {
    2. errorCode: 0, // 转换成功,数字类型
    3. msg: // 消息描述,字符串类型
    4. }

err

  • 类型:JSON对象
  • 内部字段

    1. {
    2. errorCode: // 错误代码(见枚举定义GizWifiErrorCode),数字类型
    3. msg: // 错误描述,字符串类型
    4. }

示例代码

iOS系统,Android系统

可提供的1.0.0及更高版本

getUserInfo

获取用户信息。用户登录后,可以获取用户的个人信息。

getUserInfo({params}, callback(ret, err))

params

token:

  • 类型: 字符串
  • 默认值:无
  • 描述:用户登录或注册时得到的 token

callback(ret, err)

ret

  • 类型:JSON对象
  • 内部字段

    1. {
    2. "uid": // 用户登录的uid,字符串类型
    3. "username": // 用户名,字符串类型
    4. "email": // email信息,字符串类型
    5. "phone": // 电话号码,字符串类型
    6. "isAnonymous": // 是否为匿名用户,布尔类型
    7. "name": // 昵称,字符串类型
    8. "gender": // 性别,UserGenderType枚举类型
    9. "birthday": // 生日,字符串类型
    10. "address": // 住址,字符串类型
    11. "remark": // 备注,字符串类型
    12. }

err

  • 类型:JSON对象
  • 内部字段

    1. {
    2. errorCode: // 错误代码(见枚举定义GizWifiErrorCode),数字类型
    3. msg: // 错误描述,字符串类型
    4. }

示例代码

  1. var gizWifiSDK = api.require('gizWifiSDK');
  2. gizWifiSDK.getUserInfo({
  3. "token": 'your_token'
  4. },function(ret, err) {
  5. alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))
  6. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

gizWifiDevice类接口

机智云 Wi-Fi 的设备类。该类提供了设备登录,控制、接收设备信息功能。

registerNotifications

注册设备状态变化通知。只要得到设备的mac地址和did,就可以注册设备通知。注册后,设备后续的登录状态变化、运行状态变化都会实时上报给APP。设备解绑或断开连接后,就不会再上报数据了。

registerNotifications({params}, callback(ret, err))

params

device:

  • 类型: JSON对象
  • 默认值:无
  • 描述:要注册通知的设备对象,设备对象信息可以在获取设备列表时得到。
  • 内部字段

    1. {
    2. "mac": // 设备mac地址,字符串类型
    3. "did": // 设备did,字符串类型
    4. }

callback(ret, err)

ret

  • 类型:JSON对象
  • 内部字段

    1. {
    2. device: { // 执行成功的设备对象(以下字段是设备对象信息),对象类型
    3. "mac": // 设备mac地址,字符串类型
    4. "did": // 设备did,字符串类型
    5. }
    6. netStatus: // 设备在线状态(见枚举定义GizWifiDeviceNetStatus),数字类型
    7. data: { // 设备状态,字符串类型
    8. "attrName":"attrValue", // 数据点名称: 操作值
    9. }
    10. alerts: { // 报警,数组类型
    11. "attrName": "attrValue" // 数据点名称: 报警内容
    12. }
    13. faults: { // 故障,数组类型
    14. "attrName": "attrValue" // 数据点名称: 故障内容
    15. }
    16. binary: // 二进制透传数据,base64编码字符串,字符串类型
    17. }

err

  • 类型:JSON对象
  • 内部字段

    1. {
    2. errorCode: // 错误代码(见枚举定义GizWifiErrorCode),数字类型
    3. msg: // 错误描述,字符串类型
    4. device:{ // 执行失败的设备对象(以下字段是设备对象信息),对象类型
    5. "mac": // 设备mac地址,字符串类型
    6. "did": // 设备did,字符串类型
    7. }
    8. }

示例代码

  1. var gizWifiDevice = api.require('gizWifiDevice');
  2. gizWifiDevice.registerNotifications({
  3. "device": {
  4. "did": 'your_device_id',
  5. "mac": 'your_device_mac'
  6. }
  7. }, function(ret, err) {
  8. alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))
  9. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setSubscribe

设备订阅或解除订阅。订阅了设备,表示使用者关心这个设备的消息推送。解除订阅,表示使用者不关心这个设备的消息推送。订阅设备后,SDK将自动登录和自动绑定设备。解除订阅后,设备连接将自动断开,但不会自动解绑。一般来说,设备订阅都会成功的,SDK会记住设备是否被订阅了。

setSubscribe({params}, callback(ret, err))

params

subscribed:

  • 类型:布尔类型
  • 默认值:无
  • 描述:订阅或解除订阅。true表示订阅,false表示解除订阅

device:

  • 类型: JSON对象
  • 默认值:无
  • 描述:要登录的设备对象,设备对象信息可以在获取设备列表时得到。
  • 内部字段

    1. {
    2. "mac": // 设备mac地址,字符串类型
    3. "did": // 设备did,字符串类型
    4. }

callback(ret, err)

ret

  • 类型:JSON对象
  • 内部字段

    1. {
    2. isSubscribed: // 设备是被订阅了还是被取消订阅了,布尔类型
    3. device: { // 执行成功的设备对象(以下字段是设备对象信息),对象类型
    4. "mac": // 设备mac地址,字符串类型
    5. "did": // 设备did,字符串类型
    6. }
    7. }

err

  • 类型:JSON对象
  • 内部字段

    1. {
    2. errorCode: // 错误代码(见枚举定义GizWifiErrorCode),数字类型
    3. msg: // 错误描述,字符串类型
    4. device:{ // 执行失败的设备对象(以下字段是设备对象信息),对象类型
    5. "mac": // 设备mac地址,字符串类型
    6. "did": // 设备did,字符串类型
    7. }

示例代码

  1. var gizWifiDevice = api.require('gizWifiDevice');
  2. gizWifiDevice.setSubscribe({
  3. "subscribed": true,
  4. "device": {
  5. "mac": 'your_device_mac',
  6. "did": 'your_device_id'
  7. }
  8. }, function(ret, err) {
  9. alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))
  10. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getDeviceStatus

获取设备状态。已订阅的设备变为可控状态后才能获取到状态,包括设备的运行状态、报警、故障、透传数据等。

getDeviceStatus({params}, callback(ret, err))

params

device:

  • 类型: JSON对象
  • 默认值:无
  • 描述:要查询的设备对象,设备对象信息可以在获取设备列表时得到。
  • 内部字段

    1. {
    2. "mac": // 设备mac地址,字符串类型
    3. "did": // 设备did,字符串类型
    4. }

callback(ret, err)

ret

  • 类型:JSON对象
  • 内部字段

    1. {
    2. device:{ // 操作命令执行成功的设备对象(以下字段是设备对象信息),对象类型
    3. "mac": // 设备mac地址,字符串类型
    4. "did": // 设备did,字符串类型
    5. }
    6. "data": { // 设备状态,对象类型
    7. "attrName":"attrValue", // 数据点名称: 操作值。如果数据点是扩展类型,操作值为base64编码字符串
    8. }
    9. "alerts": { // 报警,对象类型
    10. "attrName": "attrValue" // 数据点名称: 报警内容
    11. }
    12. "faults": { // 故障,对象类型
    13. "attrName": "attrValue" // 数据点名称: 故障内容
    14. }
    15. "binary": // 二进制透传数据,base64编码字符串,字符串类型
    16. }

err

  • 类型:JSON对象
  • 内部字段

    1. {
    2. errorCode: // 错误代码(见枚举定义GizWifiErrorCode),数字类型
    3. msg: // 错误描述,字符串类型
    4. device:{ // 查询失败的设备对象(以下字段是设备对象信息),对象类型
    5. "mac": // 设备mac地址,字符串类型
    6. "did": // 设备did,字符串类型
    7. }
    8. }

示例代码

  1. var gizWifiDevice = api.require('gizWifiDevice');
  2. gizWifiDevice.getDeviceStatus({
  3. "device": {
  4. "did": 'your_device_id',
  5. "mac": 'your_device_mac'
  6. }
  7. }, function(ret, err) {
  8. alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))
  9. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

write

给设备发送控制指令,已订阅的设备变为可控状态后才能发送控制指令。设备控制时也分为大循环和小循环(即远程和局域网环境),SDK会优先进行小循环控制。当设备只能通过大循环访问时,才进行大循环控制。APP的设备控制指令到达设备端后,设备状态变化时会上报当前状态。APP通过回调函数可以得到状态数据,包括设备的运行状态、报警、故障、透传数据等。

硬件产品开发者根据产品功能来定义设备的操作命令集。在APP端,设备的操作命令以数据点形式格式化后发送到设备端。数据点可以定义布尔类型、字符串类型、数字类型、扩展类型的数据。如何定义数据点,请访问。

如果开发者有需要透传的数据指令,可以通过定义扩展类型的数据点实现。如果要透传的是二进制数据,需要先用base64编码转换为字符串再写入write接口的data参数。同样,设备向APP透传的二进制数据,APP接收后,要先经过base64解码为二进制数据才能正确使用。请注意,一定要用base64编解码,否则二进制数据无法正确透传。

要求:下发的指令格式需按照正确的json类型下发。例如,布尔类型的值,下发的是0或1,可能会导致无法下发。

write({params}, callback(ret, err))

params

device:

  • 类型: JSON对象
  • 默认值:无
  • 描述:要发送操作指令的设备对象,设备对象信息可以在获取设备列表时得到。
  • 内部字段

    1. {
    2. "mac": // 设备mac地址,字符串类型
    3. "did": // 设备did,字符串类型
    4. }

sn:

  • 类型: 数字类型
  • 默认值:无
  • 描述:发送操作指令时可以携带指令序号,指令序号由App生成和维护

data:

  • 类型: JSON对象
  • 默认值:无
  • 描述:要发送的操作指令。
  • 内部字段

    1. {
    2. "data": { // 设备数据点对象类型
    3. ……
    4. "attrName": "attrValue",// 操作命令:数据点名称、操作值
    5. // 数据点名称是字符串类型,操作值的类型是在数据点中定义的
    6. // 如果数据点是扩展类型,操作值需为base64编码字符串
    7. ……
    8. }
    9. }

callback(ret, err)

ret

  • 类型:JSON对象
  • 内部字段

    1. {
    2. device:{ // 执行成功的设备对象(以下字段是设备对象信息),对象类型
    3. "mac": // 设备mac地址,字符串类型
    4. "did": // 设备did,字符串类型
    5. }
    6. "sn": // 操作指令下发时的指令序号
    7. "data": { // 状态,对象类型
    8. "attrName": "attrValue", // 数据点名称: 操作值。如果数据点是扩展类型,操作值需为base64编码字符串
    9. }
    10. "alerts": { // 报警,对象类型
    11. "attrName": "attrValue" // 数据点名称: 报警内容
    12. }
    13. "faults": { // 故障,对象类型
    14. "attrName":"attrValue" // 数据点名称: 故障内容
    15. }
    16. "binary": // 二进制透传数据,base64编码字符串,字符串类型
    17. }

err

  • 类型:JSON对象
  • 内部字段

    1. {
    2. errorCode: // 错误代码(见枚举定义GizWifiErrorCode),数字类型
    3. msg: // 错误描述,字符串类型
    4. device:{ // 执行失败的设备对象,对象类型
    5. "mac": // 设备mac地址,字符串类型
    6. "did": // 设备did,字符串类型
    7. }
    8. }

示例代码

  1. var gizWifiDevice = api.require('gizWifiDevice');
  2. gizWifiDevice.write({
  3. "device": {
  4. "did": 'your_device_id',
  5. "mac": 'your_device_mac'
  6. },
  7. "sn": 5
  8. "data": {
  9. "LED_G": 127,
  10. "LED_B":254,
  11. "LED_R":127,
  12. "LED_OnOff":true,
  13. "Motor_Speed":2
  14. }
  15. }, function(ret, err) {
  16. alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))
  17. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getHardwareInfo

获取设备硬件信息。只有在小循环时,设备登录后才能够获取到设备硬件信息。

getHardwareInfo({params}, callback(ret, err))

params

device:

  • 类型: JSON对象
  • 默认值:无
  • 描述:设备对象,设备对象信息可以在获取设备列表时得到。
  • 内部字段

    1. {
    2. "mac": // 设备mac地址,字符串类型
    3. "did": // 设备did,字符串类型
    4. }

callback(ret, err)

ret

  • 类型:JSON对象
  • 内部字段

    1. {
    2. device: { // 执行成功的设备对象(以下字段是设备对象信息),对象类型
    3. "mac": // 设备mac地址,字符串类型
    4. "did": // 设备did,字符串类型
    5. }
    6. hardwareInfo: { // 设备硬件信息,对象类型
    7. "wifiHardVer": // WiFi硬件版本号,字符串类型
    8. "wifiSoftVer": // WiFi软件版本号,字符串类型
    9. "mcuHardVer": // 设备硬件版本号,字符串类型
    10. "mcuSoftVer": // 设备软件版本号,字符串类型
    11. "firmwareId": // 固件fid,字符串类型
    12. "firmwareVer": // 固件版本号,字符串类型
    13. "productKey": // 产品类型识别码
    14. }
    15. }

err

  • 类型:JSON对象
  • 内部字段

    1. {
    2. errorCode: // 错误代码(见枚举定义GizWifiErrorCode),数字类型
    3. msg: // 错误描述,字符串类型
    4. device:{ // 执行失败的设备对象,对象类型
    5. "mac": // 设备mac地址,字符串类型
    6. "did": // 设备did,字符串类型
    7. }
    8. }

示例代码

  1. var gizWifiDevice = api.require('gizWifiDevice');
  2. gizWifiDevice.getHardwareInfo({
  3. "device": {
  4. "did": 'your_device_id',
  5. "mac": 'your_device_mac'
  6. }
  7. }, function(ret, err) {
  8. alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))
  9. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

exitProductionTesting

退出产测模式。不订阅设备就可以调用此接口,设备进入产测模式后会做出响应

exitProductionTesting({params}, callback(ret, err))

params

device:

  • 类型: JSON对象
  • 默认值:无
  • 描述:设备对象,设备对象信息可以在获取设备列表时得到。
  • 内部字段

    1. {
    2. "mac": // 设备mac地址,字符串类型
    3. "did": // 设备did,字符串类型
    4. }

callback(ret, err)

ret

  • 类型:JSON对象
  • 内部字段

    1. {
    2. device: { // 执行成功的设备对象,对象类型
    3. "mac": // 设备mac地址,字符串类型
    4. "did": // 设备did,字符串类型
    5. }
    6. }

err

  • 类型:JSON对象
  • 内部字段

    1. {
    2. errorCode: // 错误代码(见枚举定义GizWifiErrorCode),数字类型
    3. msg: // 错误描述,字符串类型
    4. device:{ // 执行失败的设备对象,对象类型
    5. "mac": // 设备mac地址,字符串类型
    6. "did": // 设备did,字符串类型
    7. }
    8. }

示例代码

  1. var gizWifiDevice = api.require('gizWifiDevice');
  2. gizWifiDevice.exitProductionTesting({
  3. "device": {
  4. "did": 'your_device_id',
  5. "mac": 'your_device_mac'
  6. }
  7. },function(ret, err) {
  8. alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))
  9. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setCustomInfo

修改设备的备注和别名。设备绑定后才能修改

setCustomInfo({params}, callback(ret, err))

params

device:

  • 类型: JSON对象
  • 默认值:无
  • 描述:要修改备注和别名的设备对象
  • 内部字段

    1. {
    2. "mac": // 设备mac地址,字符串类型
    3. "did": // 设备did,字符串类型
    4. }

remark:

  • 类型: JSON对象
  • 默认值:无
  • 描述:待修改的备注信息。不修改可不传

alias:

  • 类型: JSON对象
  • 默认值:无
  • 描述:待修改的别名信息。不修改可不传

callback(ret, err)

ret

  • 类型:JSON对象
  • 内部字段

    1. {
    2. device: { // 执行成功的设备对象,对象类型
    3. "mac": // 设备mac地址,字符串类型
    4. "did": // 设备did,字符串类型
    5. }
    6. }

err

  • 类型:JSON对象
  • 内部字段

    1. {
    2. errorCode: // 错误代码(见枚举定义GizWifiErrorCode),数字类型
    3. msg: // 错误描述,字符串类型
    4. device:{ // 执行失败的设备对象,对象类型
    5. "mac": // 设备mac地址,字符串类型
    6. "did": // 设备did,字符串类型
    7. }
    8. }

示例代码

  1. var gizWifiDevice = api.require('gizWifiDevice');
  2. gizWifiDevice.setCustomInfo({
  3. "device": {
  4. "did": 'your_device_id',
  5. "mac": 'your_device_mac'
  6. },
  7. "remark": "your_remark",
  8. "alias": "your_alias"
  9. }, function(ret, err) {
  10. alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))
  11. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getDeviceInfo

获取设备基本信息。

getDeviceInfo({params}, callback(ret, err))

params

device:

  • 类型: JSON对象
  • 默认值:无
  • 描述:设备对象,设备mac和did可以在获取设备列表时得到。
  • 内部字段

    1. {
    2. "mac": // 中控设备mac地址,字符串类型
    3. "did": // 中控设备did,字符串类型
    4. }

callback(ret, err)

ret

  • 类型:JSON对象
  • 内部字段

    1. {
    2. device: { // 设备对象(以下字段是设备信息),对象类型
    3. mac: // 设备MAC地址,字符串类型
    4. did: // 设备唯一标识,字符串类型
    5. ip: // 设备IP地址,字符串类型
    6. productKey: // 设备的产品识别码,字符串类型
    7. productName: // 设备的产品名称,字符串类型
    8. remark: // 设备备注信息,字符串类型
    9. alias: // 设备别名,字符串类型
    10. type: // 设备类型(见枚举定义GizWifiDeviceType),数字类型
    11. netStatus: // 设备网络状态(见枚举定义GizWifiDeviceNetStatus),数字类型
    12. isLAN: // 设备是否是局域网设备,布尔类型
    13. isBind: // 设备是否已绑定,布尔类型
    14. isDisabled: // 设备是否已在云端注销,布尔类型
    15. isProductDefined: // 设备是否定义了数据点,布尔类型
    16. isSubscribed: // 设备是否已订阅,布尔类型
    17. }
    18. }

err

  • 类型:JSON对象
  • 内部字段

    1. {
    2. errorCode: // 错误代码(见枚举定义GizWifiErrorCode),数字类型
    3. msg: // 错误描述,字符串类型
    4. device: { // 设备对象(以下字段是设备对象信息),对象类型
    5. "mac": // 设备mac地址,字符串类型
    6. "did": // 设备did,字符串类型
    7. }
    8. }

示例代码

  1. var gizWifiDevice = api.require('gizWifiDevice');
  2. gizWifiDevice.getDeviceInfo({
  3. "device": {
  4. "did": 'your_device_id',
  5. "mac": 'your_device_mac'
  6. }
  7. }, function(ret, err) {
  8. alert("ret = " + JSON.stringify(ret) + "err = " + JSON.stringify(err))
  9. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

gizWifiBinary类接口

二进制数据base64编解码类。

encode

base64编码函数。

encode({params}, callback(ret, err))

params

binaryData:

  • 类型: JSON数组
  • 默认值:无
  • 描述:需要做base64编码的数据

callback(ret, err)

ret

  • 类型:JSON对象
  • 内部字段

    1. {
    2. binary: // 经过base64编码之后的字符串,例如:AQIDBA==
    3. }

err

  • 类型:JSON对象
  • 内部字段

    1. {
    2. errorCode: // 错误代码(见枚举定义GizWifiErrorCode),数字类型
    3. msg: // 错误描述,字符串类型
    4. }

示例代码

  1. var GizWifiBinary = api.require("gizWifiBinary");
  2. //数组编码字符串
  3. var src = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18];
  4. GizWifiBinary.encode({"binaryData": src}, function(ret, err) {
  5. alert("ret = " + JSON.stringify(ret));
  6. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

decode

base64解码函数。

decode({params}, callback(ret, err))

params

binary:

  • 类型: 字符串
  • 默认值:无
  • 描述:需要做base64解码的字符串

callback(ret, err)

ret

  • 类型:JSON对象
  • 内部字段

    1. {
    2. binaryData: // 经过base64解码之后的数值数组,例如:[1, 2, 3, 4]
    3. }

err

  • 类型:JSON对象
  • 内部字段

    1. {
    2. errorCode: // 错误代码(见枚举定义GizWifiErrorCode),数字类型
    3. msg: // 错误描述,字符串类型
    4. }

示例代码

  1. var GizWifiBinary = api.require("gizWifiBinary");
  2. //数组编码字符串
  3. var src2 = "AQIDBAUGBwgJCgsMDQ4PEBES";
  4. GizWifiBinary.decode({"binary": src2}, function(ret, err) {
  5. alert("ret = " + JSON.stringify(ret));
  6. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

常量定义

Json字段名及常量说明:

GizLogPrintLevel日志级别
GizLogPrintNone原生SDK无日志输出:0
GizLogPrintI错误日志输出:1
GizLogPrintII一般日志输出:2
GizLogPrintAll全部日志输出:3
GizWifiDeviceType设备分类
GizDeviceNormal普通设备:0
GizDeviceCenterControl中控设备:1
GizEventType事件类型
GizEventSDKSDK系统事件:0
GizEventDevice设备异常事件:1
GizEventM2MServiceM2M异常事件:2
GizEventTokenToken失效事件:2
GizUserAccountType用户账号类型
GizUserNormal普通用户:0
GizUserPhone手机用户:1
GizUserEmail邮箱用户:2
GizUserOther邮箱用户:3
GizThirdAccountType第三方账号类型
GizThirdBAIDU百度账号:0
GizThirdSINA新浪账号:1
GizThirdQQ腾讯账号:2
GizThirdWeChat微信账号:3
GizUserGenderType用户性别
GizUserGenderMale男:0
GizUserGenderFemale女:1
GizUserGenderUnknow其他:2
GizPushType第三方推送类型
GizPushBaiDu百度推送:0
GizPushJiGuang极光推送:1

错误码描述

errorCodemsgdiscribe
0GIZ_SDK_SUCCESSSDK接口执行成功
8001GIZ_SDK_PARAM_FORM_INVALIDSDK内部通讯数据格式无效
8002GIZ_SDK_CLIENT_NOT_AUTHENSDK未启动
8003GIZ_SDK_CLIENT_VERSION_INVALID无效的SDK版本号
8004GIZ_SDK_UDP_PORT_BIND_FAILEDUDP端口绑定失败
8005GIZ_SDK_DAEMON_EXCEPTIONSDK后台服务发生异常
8006GIZ_SDK_PARAM_INVALID接口参数无效
8007GIZ_SDK_APPID_LENGTH_ERRORAppID长度错误
8008GIZ_SDK_LOG_PATH_INVALIDSDK日志路径无效
8009GIZ_SDK_LOG_LEVEL_INVALID日志级别无效
8020GIZ_SDK_NO_AVAILABLE_DEVICE(批量设置设备域名信息时)没有可用设备
8021GIZ_SDK_DEVICE_CONFIG_SEND_FAILED设备配网信息发送失败
8022GIZ_SDK_DEVICE_CONFIG_IS_RUNNING设备配网正在执行
8023GIZ_SDK_DEVICE_CONFIG_TIMEOUT设备配网超时
8024GIZ_SDK_DEVICE_DID_INVALID设备DID无效
8025GIZ_SDK_DEVICE_MAC_INVALID设备MAC无效
8026GIZ_SDK_SUBDEVICE_INVALID子设备无效
8027GIZ_SDK_DEVICE_PASSCODE_INVALID设备验证码无效
8028GIZ_SDK_DEVICE_NOT_CENTERCONTROL设备不是中控,不支持中控功能
8029GIZ_SDK_DEVICE_NOT_SUBSCRIBED设备还未订阅
8030GIZ_SDK_DEVICE_NO_RESPONSE设备无响应
8031GIZ_SDK_DEVICE_NOT_READY设备还未就绪
8032GIZ_SDK_DEVICE_NOT_BINDED设备还未绑定
8033GIZ_SDK_DEVICE_CONTROL_WITH_INVALID_COMMAND设备操作指令中包含无效指令
8034GIZ_SDK_DEVICE_CONTROL_FAILED设备操作失败
8035GIZ_SDK_DEVICE_GET_STATUS_FAILED设备状态获取失败
8036GIZ_SDK_DEVICE_CONTROL_VALUE_TYPE_ERROR设备操作指令参数类型错误
8037GIZ_SDK_DEVICE_CONTROL_VALUE_OUT_OF_RANGE设备操作指令参数值不在有效范围内
8038GIZ_SDK_DEVICE_CONTROL_NOT_WRITABLE_COMMAND设备操作指令中包含不可写指令
8039GIZ_SDK_BIND_DEVICE_FAILED设备绑定失败
8040GIZ_SDK_UNBIND_DEVICE_FAILED设备解绑失败
8041GIZ_SDK_DNS_FAILEDDNS解析失败
8042GIZ_SDK_M2M_CONNECTION_SUCCESSM2M服务器连接成功
8043GIZ_SDK_SET_SOCKET_NON_BLOCK_FAILEDsocket非阻塞设置失败
8044GIZ_SDK_CONNECTION_TIMEOUT连接超时
8045GIZ_SDK_CONNECTION_REFUSED连接被拒绝
8046GIZ_SDK_CONNECTION_ERROR发生了连接错误
8047GIZ_SDK_CONNECTION_CLOSED连接被对端关闭
8048GIZ_SDK_SSL_HANDSHAKE_FAILEDssl握手失败
8049GIZ_SDK_DEVICE_LOGIN_VERIFY_FAILED设备登录验证失败
8050GIZ_SDK_INTERNET_NOT_REACHABLE手机外网无法访问
8051GIZ_SDK_M2M_CONNECTION_FAILEDM2M服务器连接失败
8095GIZ_SDK_HTTP_SERVER_NOT_SUPPORT_API云服务不支持此API
8096GIZ_SDK_HTTP_ANSWER_FORMAT_ERRORHTTP应答格式错误
8097GIZ_SDK_HTTP_ANSWER_PARAM_ERRORHTTP应答参数错误
8098GIZ_SDK_HTTP_SERVER_NO_ANSWERHTTP服务端无应答
8099GIZ_SDK_HTTP_REQUEST_FAILEDHTTP请求失败
8100GIZ_SDK_OTHERWISE保留的错误字
8101GIZ_SDK_MEMORY_MALLOC_FAILED内存分配失败
8102GIZ_SDK_THREAD_CREATE_FAILED线程创建失败
8150GIZ_SDK_GROUP_ID_INVALID组ID无效
8151GIZ_SDK_GROUP_PRODUCTKEY_INVALID组类型无效
8152GIZ_SDK_GROUP_FAILED_DELETE_DEVICE删除组设备失败
8153GIZ_SDK_GROUP_FAILED_ADD_DEVICE添加组设备失败
8154GIZ_SDK_GROUP_GET_DEVICE_FAILED组设备列表更新失败
8155GIZ_SDK_GROUP_CREATE_FAILED创建组失败
8156GIZ_SDK_GROUP_DELETE_FAILED删除组失败
8157GIZ_SDK_GROUP_EDIT_FAILED编辑组失败
8158GIZ_SDK_GROUP_LIST_UPDATE_FAILED组列表更新失败
8159GIZ_SDK_GROUP_COMMAND_WRITE_FAILED组操作执行失败
8201GIZ_SDK_DATAPOINT_NOT_DOWNLOAD设备数据点配置文件还未下载
8202GIZ_SDK_DATAPOINT_SERVICE_UNAVAILABLE设备数据点配置服务不可用
8203GIZ_SDK_DATAPOINT_PARSE_FAILED设备数据点解析失败
8300GIZ_SDK_SDK_NOT_INITIALIZEDSDK还未初始化
8301GIZ_SDK_APK_CONTEXT_IS_NULLAndroid context为空,无法启动SDK
8302GIZ_SDK_APK_PERMISSION_NOT_SET使用SDK所需要的Android权限还没有设置
8303GIZ_SDK_CHMOD_DAEMON_REFUSEDSDK后台服务进程的执行权限修改失败
8304GIZ_SDK_EXEC_DAEMON_FAILEDSDK后台服务进程启动失败
8305GIZ_SDK_EXEC_CATCH_EXCEPTIONSDK后台服务进程启动发生异常
8306GIZ_SDK_APPID_IS_EMPTYAppID为空,无法使用SDK
8307GIZ_SDK_UNSUPPORTED_API此API已废弃,不再提供支持
8308GIZ_SDK_REQUEST_TIMEOUTSDK接口执行超时
8309GIZ_SDK_DAEMON_VERSION_INVALIDSDK接口执行超时
8310GIZ_SDK_PHONE_NOT_CONNECT_TO_SOFTAP_SSID手机没有连接设备热点
8311GIZ_SDK_DEVICE_CONFIG_SSID_NOT_MATCHED手机当前Wifi与设备配网SSID不匹配,无法完成设备配网
8312GIZ_SDK_NOT_IN_SOFTAPMODE设备没有在softap配网模式下
8313GIZ_SDK_CONFIG_NO_AVAILABLE_WIFI手机当前不是Wifi网络
8314GIZ_SDK_RAW_DATA_TRANSMIT当前为原始数据透传方式
8315GIZ_SDK_PRODUCT_IS_DOWNLOADING正在下载设备数据点配置文件
8316GIZ_SDK_START_SUCCESSSDK启动成功
8318GIZ_SDK_ONBOARDING_STOPPED设备配网被中断
9001GIZ_OPENAPI_MAC_ALREADY_REGISTERED设备MAC已经注册
9002GIZ_OPENAPI_PRODUCT_KEY_INVALID产品类型标识码无效
9003GIZ_OPENAPI_APPID_INVALIDAppID无效
9004GIZ_OPENAPI_TOKEN_INVALID用户token无效
9005GIZ_OPENAPI_USER_NOT_EXIST用户不存在
9006GIZ_OPENAPI_TOKEN_EXPIRED用户token已过期
9007GIZ_OPENAPI_M2M_ID_INVALIDM2M ID无效
9008GIZ_OPENAPI_SERVER_ERROR服务发生错误
9009GIZ_OPENAPI_CODE_EXPIRED验证码已过期
9010GIZ_OPENAPI_CODE_INVALID验证码无效
9011GIZ_OPENAPI_SANDBOX_SCALE_QUOTA_EXHAUSTED未发布状态下没有配额
9012GIZ_OPENAPI_PRODUCTION_SCALE_QUOTA_EXHAUSTED发布状态下没有配额
9013GIZ_OPENAPI_PRODUCT_HAS_NO_REQUEST_SCALE发布状态下没有设置配额
9014GIZ_OPENAPI_DEVICE_NOT_FOUND找不到对应的设备
9015GIZ_OPENAPI_FORM_INVALID请求数据格式无效
9016GIZ_OPENAPI_DID_PASSCODE_INVALID设备的DID或验证码无效
9017GIZ_OPENAPI_DEVICE_NOT_BOUND设备未绑定
9018GIZ_OPENAPI_PHONE_UNAVALIABLE手机号已注册
9019GIZ_OPENAPI_USERNAME_UNAVALIABLE用户名已注册
9020GIZ_OPENAPI_USERNAME_PASSWORD_ERROR用户名或密码错误
9021GIZ_OPENAPI_SEND_COMMAND_FAILED指令发送失败
9022GIZ_OPENAPI_EMAIL_UNAVALIABLE邮箱已注册
9023GIZ_OPENAPI_DEVICE_DISABLED设备已注销
9024GIZ_OPENAPI_FAILED_NOTIFY_M2MM2M通知失败
9025GIZ_OPENAPI_ATTR_INVALID属性无效
9026GIZ_OPENAPI_USER_INVALID用户名无效
9027GIZ_OPENAPI_FIRMWARE_NOT_FOUND找不到设备固件
9028GIZ_OPENAPI_JD_PRODUCT_NOT_FOUND找不到京东产品信息
9029GIZ_OPENAPI_DATAPOINT_DATA_NOT_FOUND找不到对应的设备数据点数据
9030GIZ_OPENAPI_SCHEDULER_NOT_FOUND找不到计划任务
9031GIZ_OPENAPI_QQ_OAUTH_KEY_INVALIDQQ登录授权key无效
9032GIZ_OPENAPI_OTA_SERVICE_OK_BUT_IN_IDLEOTA升级服务闲置或被禁用
9033GIZ_OPENAPI_BT_FIRMWARE_UNVERIFIEDBT固件未验证
9034GIZ_OPENAPI_BT_FIRMWARE_NOTHING_TO_UPGRADEBT固件不需要升级
9035GIZ_OPENAPI_SAVE_KAIROSDB_ERRORkairosdb存储错误
9036GIZ_OPENAPI_EVENT_NOT_DEFINED事件未定义
9037GIZ_OPENAPI_SEND_SMS_FAILED手机短信发送失败
9038GIZ_OPENAPI_APPLICATION_AUTH_INVALID应用授权无效
9039GIZ_OPENAPI_NOT_ALLOWED_CALL_API不允许使用已废弃的API
9040GIZ_OPENAPI_BAD_QRCODE_CONTENTQRCode内容已损坏
9041GIZ_OPENAPI_REQUEST_THROTTLED请求频率过高,请稍后再试
9042GIZ_OPENAPI_DEVICE_OFFLINE设备已离线
9043GIZ_OPENAPI_TIMESTAMP_INVALID时间戳无效
9044GIZ_OPENAPI_SIGNATURE_INVALID应用签名无效
9045GIZ_OPENAPI_DEPRECATED_APIAPI已废弃
9046GIZ_OPENAPI_REGISTER_IS_BUSY正在注册
9999GIZ_OPENAPI_RESERVED不能标记其他人的消息
10003GIZ_SITE_PRODUCTKEY_INVALID产品类型标识码无效
10010GIZ_SITE_DATAPOINTS_NOT_DEFINED产品数据点未定义
10011GIZ_SITE_DATAPOINTS_NOT_MALFORME产品数据点无效

新旧设备配置方式对照表

GizWifiConfigureMode设备配置方式(old)设备配置方式(new)
GizWifiSoftAP软AP配置方式:1软AP配置方式:0
GizWifiAirLink一键配置方式:2一键配置方式:1

新旧错误码对照表

新旧错误码转换函数

errorCodeConversion

该函数是专为App做错误码兼容提供的,可以节省App修改代码的时间。输入新错误码,按照上面对照表返回旧错误码。

errorCodeConversion({params}, callback(ret, err))

params

errorCode:

  • 类型: JSON对象
  • 默认值:无
  • 描述:新错误码,上面错误码

callback(ret, err)

ret

  • 类型:JSON对象
  • 内部字段

  1. var gizWifiSDK = api.require('gizWifiSDK');
  2. gizWifiSDK.errorCodeConversion({
  3. "errorCode": 8033
  4. }, function(ret, err) {
  5. alert("ret = " + JSON.stringify(ret))

可用性

可提供的1.0.0及更高版本