该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
1.问:为什么不能绑定我的设备?
答:绑定不成功一般有两种情况,具体可查看输出的日志:{"error_message": "token invalid!","error_code": 9004,"detail_message": null}
该种情况为token输入错误的字段。{"error_message": "token expired!","error_code": 9006,"detail_message": null}该种情况为token已过期。遇到这两种情况,请重新调用账号登录接口,获取到正确的token后再执行设备绑定。
2.问:配置成功后,App设备列表找不到设备?
答:因为开源的app里面都做了设备列表过滤,只能显示当前App对应的ProductKey的设备,因此不同Productkey的设备是没办法在列表中显示的。要显示目标设备,需要修改源代码的ProductKey与目标设备一致。
3.问:IOE Demo显示“未知设备\不支持该设备\下载配置文件失败”是什么?怎么处理?
答:IOE Demo加载了设备列表以后,会自动下载设备的配置文件,SDK通过该配置文件进行JSON和二进制数据的解析,这样才能正确的控制设备和获取设备状态。如果IOE Demo因为网络问题未下载到对应设备的配置文件,或者云端无法找到该设备的配置文件,就会出现该句提示,或者提示“下载配置文件失败”。
4.问:App怎样更新JSON配置文件?
答:更新有两种方式:
一是SDK调用获取设备列表的接口getBoundDevices,SDK会根据传入的ProductKey自动下载配置文件,如果已下载,SDK不会自动更新。
二是调用更新配置文件接口updateDeviceFromServer,SDK会根据传入的ProductKey下载配置文件,每次下载成功都会覆盖原文件。
5.问:开源App要怎样改动才能控制我的设备?
答:1.修改源码的ProductKey和AppID与自己的设备一致。
2.修改源码的数据点标识名与自己的设备一致。3.根据自己的设备功能修改UI。
6.问:如何发送控制设备指令?
答:机智云App发送设备控制指令的流程如下:App写入JSON格式指令->SDK按照配置文件转换为二进制指令->发给设备。控制指令JSON格式如下,以控制gokit的红色灯开关为例:
{“entity0”:{"LED_OnOff":true},“cmd":1}
该条指令控制gokit的红色灯开启,其中”entity0”代表设备名关键字,目前所有设备都一样,每一条控制指令都应带上该字段。“LED_OnOff”代表gokit设备控制红色灯开关的数据点标识名。”cmd”为该条指令类型,1代表写入,通常情况下,所有设备都一样,每一条控制指令都应带上该字段。
7.问:为什么发{“cmd”:2}获取不到设备状态?
答:只要设备按照机智云生成的mcu串口协议文档实现了以后,就能正常获取到设备状态。出现这个问题,要检查一下自己的mcu是否正确实现了机智云的串口协议文档哦。
8.问:App怎么获取和写入binary数据?
答:获取binary数据:获取Binary数据通过didReceiveData回调中获取”binary”关键字下的数据,获取到的值是一个byte数组。发送binary数据:发送Binary较之获取比较麻烦,把需要发送的指令字节数组,通过系统原生的Base64转换以后,再调用设备的write方法发送。 如Android发送“binary”的代码:byte []input = ByteUtils.StringToBytes(sendvalue);String value = new String(Base64.encode(input));final JSONObject jsonsend = new JSONObject();JSONObject jsonparam = new JSONObject();jsonsend.put("cmd", 1);jsonparam.put(key, value);jsonsend.put(action, jsonparam);xpgWifiDevice.write(jsonsend.toString());
9.问:开发Andrdoid App时候遇到崩溃,日志提示找不到库文件?
答:机智云的SDK由XPGWifiSDK.jar和libXPGConnect.so组成。使用的的时候要注意是否正确加载了SDK包。libXPGConnect.so需要放置在”工程/libs/armeabi/“目录下。
10.问:gokit的针脚定义是什么?
答:请参考机智云官方说明:http://www.gizwits.com/zh-cn/gokit