gizWifiSDK

来自于:机智云立即使用

gizWifiSDK类

startWithAppInfo registerNotifications getVersion setLogLevel disableLAN getListInfo

设备配置入网

getPhoneSSID setDeviceOnboardingDeploy stopDeviceOnboarding getSSIDList

设备搜索和绑定

getBoundDevices bindRemoteDevice unbindDevice

用户登录注册相关

userLoginAnonymous userLogin userLoginWithThirdAccountType requestSendVerifyCode getCaptchaCode requestSendPhoneSMSCode verifyPhoneSMSCode registerUser transAnonymousUser resetPassword changeUserPassword changeUserInfo getUserInfo

gizWifiDevice类

设备控制相关

registerNotifications setSubscribe getDeviceStatus write

设备基本信息相关

getHardwareInfo exitProductionTesting setCustomInfo getDeviceInfo

gizWifiBinary类

encode 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冲突编译失败。

APICloud机智云模块更新说明

当前版本对上一个版本的变更内容:

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

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

废弃接口:

gizWifiSDK类

  • setDeviceWifi

    1. 废弃说明:更换接口名称
    2. 替代接口: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))
  25. });

可用性

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. }

示例代码

  1. var gizWifiSDK = api.require('gizWifiSDK');
  2. gizWifiSDK.getBoundDevices({
  3. "uid": 'your_uid',
  4. "token": 'your_token',
  5. "specialProductKeys": ['your_product_key']
  6. }, function (ret1, err1) {
  7. alert("ret1 = " + JSON.stringify(ret1) + "err1 = " + JSON.stringify(err1))
  8. });

可用性

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. {
    2. uid: // 用户uid,字符串类型
    3. token: // 登录会话token,字符串类型
    4. }

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:

  • 类型: 字符串
  • 默认值:无
  • 描述:用户登录或注册时得到的 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

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

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

err

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

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

示例代码

  1. // 修改手机号
  2. var gizWifiSDK = api.require('gizWifiSDK');
  3. gizWifiSDK.changeUserInfo({
  4. "token": 'your_token',
  5. "userName": 'your_phone_number',
  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及更高版本

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. }
    8. }

示例代码

  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字段名及常量说明:

GizWifiConfigureMode设备配置方式
GizWifiSoftAP软AP配置方式:0
GizWifiAirLink一键配置方式:1
GizLogPrintLevel日志级别
GizLogPrintNone原生SDK无日志输出:0
GizLogPrintI错误日志输出:1
GizLogPrintII一般日志输出:2
GizLogPrintAll全部日志输出:3
GizWifiDeviceType设备分类
GizDeviceNormal普通设备:0
GizDeviceCenterControl中控设备:1
GizEventType事件类型
GizEventSDKSDK系统事件:0
GizEventDevice设备异常事件:1
GizEventM2MServiceM2M异常事件:2
GizEventTokenToken失效事件:2
GAgentType模组类型
GizGAgentMXCHIPMXCHIP 3162 模组(庆科3162):0
GizGAgentHFHF 模组(汉枫):1
GizGAgentRTKRTK 模组(瑞昱):2
GizGAgentWMWM 模组(联盛德):3
GizGAgentESPESP 模组(乐鑫):4
GizGAgentQCAQCA 模组(高通):5
GizGAgentTITI 模组(TI):6
GizGAgentFSKFSK 模组(宇音天下):7
GizGAgentMXCHIP3MXCHIP V3:8
GizGAgentBLBL 模组(古北):9
GizGAgentAtmelEEAtmel 模组:10
GizGAgentOther其他模组:11
GizGAgentFlyLink芯海模组:12
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
GizWifiDeviceNetStatus设备网络状态
GizDeviceOffline离线:0
GizDeviceOnline在线:1
GizDeviceControlled可控: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

新旧错误码对照表

errorCode(new)errorCode(old)msg(old)
8002-49GizWifiError_START_SDK_FAILED
8004-30GizWifiError_UDP_PORT_BIND_FAILED
8006-20GizWifiError_INVALID_PARAM
8021-41GizWifiError_CONFIGURE_SENDFAILED
8022-46GizWifiError_IS_RUNNING
8023-40GizWifiError_CONFIGURE_TIMEOUT
8024-61GizWifiError_DEVICE_IS_INVALID
8029-11GizWifiError_NOT_CONNECTED
8033-20GizWifiError_INVALID_PARAM
8036-20GizWifiError_INVALID_PARAM
8037-20GizWifiError_INVALID_PARAM
8038-20GizWifiError_INVALID_PARAM
8041-27GizWifiError_DNS_FAILED
80420GizWifiError_SUCCESS
8044-21GizWifiError_CONNECT_TIMEOUT
8045-45GizWifiError_CONNECTION_REFUSED
8046-19GizWifiError_CONNECTION_ERROR
8047-7GizWifiError_CONNECTION_CLOSED
8049-9GizWifiError_LOGIN_VERIFY_FAILED
8099-25GizWifiError_HTTP_FAIL
8100-1GizWifiError_GENERAL
8101-23GizWifiError_INSUFFIENT_MEM
8102-15GizWifiError_THREAD_CREATE
8153-62GizWifiError_GROUP_IS_INVALID
8300-60GizWifiError_SDK_INIT_FAILED
8307-47GizWifiError_UNSUPPORTED_API
8308-40GizWifiError_CONFIGURE_TIMEOUT
8310-39GizWifiError_CONFIGURE_SSID_NOT_MATCHED
8311-39GizWifiError_CONFIGURE_SSID_NOT_MATCHED
8312-42GizWifiError_NOT_IN_SOFTAPMODE
8315-46GizWifiError_IS_RUNNING
83160GizWifiError_SUCCESS
其他-1GizWifiError_GENERAL

新旧错误码转换函数

errorCodeConversion

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

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

params

errorCode:

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

callback(ret, err)

ret

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

    1. {
    2. errorCode: // 旧错误码,数值类型
    3. }

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本