boboP 发表于 2016-9-23 17:52:42

开发者反馈问题汇总帖(FAQ,每周更新)

本帖最后由 Genius 于 2018-5-7 11:13 编辑

通过社群,客服,邮箱等等渠道。我们收集了许多开发者在开发使用过程中遇到的问题、有烧写过程遇到的、APP编译运行时报错的、云服务平台使用时遇到的、甚至是涉及到代码细节的等等。特开此贴汇总问题并附上答案。


[*]Gokit3 介绍、开发指南、资料下载(不定时更新)http://club.gizwits.com/thread-2764-1-1.html
[*]Gokit2历代资料整理(新)http://club.gizwits.com/thread-3721-1-1.html
根据分类,准备了以下四个FAQ,如有任何问题,可直接留言给我。每天都在线

[*]FAQ之api云平台使用
[*]FAQ之appSDK应用端
[*]FAQ之硬件设备端
[*]FAQ 之 Web Socket
[*]GOKIT FAQS   http://club.gizwits.com/thread-2874-1-1.html
[*]Gagent FAQShttp://club.gizwits.com/thread-2873-1-1.html

1、局域网登录设备时,一直显示等待设备就绪,无法进入控制界面,这是怎么回事啊?
答:App没有正常登陆设备,所以一直在等待。需要重启设备或者重新配网。

2、设备的运行记录数据可以保存多久?
答:7天

3、8266最多可以保存几组WIFI?
答:现在只能保存一组。

4.gokit2 app 绑定设备,提示下载配置文件失败
答:检查手机的外网是否正常。可以尝试切换成4G网络再下载文件。

5、极光推送申请的时候要填写包名,这个是填什么呢?是自己定义么?然后开发的时候用这个包名么?
答:包名是Android应用的包名,详情请参考极光的开发文档。

6、airlink配置的地方一直不通。
@Override
public void didSetDeviceWifi(int error, XPGWifiDevice device) {
返回 error -40 提示超时
答:-40表示“配置on-boarding超时”,APP没有收到模组的配置成功包。

7、是否写SD卡。如果指定true,则日志会写到:手机SD卡目录/GizLog/包名/,如果指定false则不写入SD卡
示例 XPGWifiSDK.sharedInstance().setLogLevel(GizLogPrintLevel.GizLogPrintAll, true);
已废弃 public void setLogLevel(XPGWifiLogLevel logLevel, String logFile, boolean bPrintDataInDebug)
我用安信可模块的,提供的apk 在手机 内部存储 下有BassApp.log日记,但自己编译的apk 以上两种方法都试过,在手机里都没有. log日记,不知为何?
答:SD卡上的日志文件目录为:/手机SD卡路径/GizLog/,把手机通过数据线连接电脑,电脑上会出现一个U盘,log就在那个U盘里面了,


8、现在我这边有点问题,想看看日志,从哪个文件夹里面可以看到呢?
android的。
// 设定日志打印级别
XPGWifiSDK.sharedInstance().setLogLevel(XPGWifiSDK.XPGWifiLogLevel.XPGWifiLogLevelAll, "GoKitDemo.log", true);
答:SD卡上的日志文件目录为:/手机SD卡路径/GizLog/


9、app运行的时候经常提示设备断开是什么原因?一般应该是不会提示的啊。就是自己做的app,app应该跟设备有交互尽管在没有写数据的时候,就是心跳吧,但是app端会自己就断开连接,不知道为什么
答:原因有两个:(1)网络环境频繁切换引起,可能是有两个同名的热点;(2)设备频繁掉线,路由器把设备给踢下线;

10、"用户注册界面点击发送验证码失败。。回调didRequestSendPhoneSMSCode(GizWifiErrorCode result, String token)返回的result的值是:GizWifiErrorCode.GIZ_SDK_CLIENT_NOT_AUTHEN ,枚举id:8002 , 描述:Client与Daemon之间如果没有通过摆手认证,任何数据交互都无效。。Daemon是什么?握手认证如何实现? "
答:可能是pk,appid,app-secret不对。Daemon是SDK里面的server部分,Client是SDK里面的客户端。Daemon和Client之间的握手,需要appid。

11、开源app中 我修改好了开源项目的ProductKey和AppId为我的项目对应的ProductKey和AppId。
然后依然不能安装
我用的是android studio run的按钮是灰的 无法使用。
可能会有什么原因
报错有:
Android studio AssertionError: Don't invoke waitForSmartMode from inside read action in dumb mode
答:开源APP项目都是eclipse的工程。elipse项目转Android studio项目,需要做转换,但是没法保证兼容性,建议还是使用eclipse做编译。

12、AirLink配置入网提示:配置超时! SoftAP配置入网也运行不了。
答:原因有两种:(1)确认ssid和密码是正确的;(2)设备必须进入配网模式,如果模组进不了配网模式,可能是模组损坏。

13、APP发送指令的时候老实提示GIZ_SDK_DEVICE_NOT_READY?答:(1)要看模组有没有限制绑定时间,如果限制了绑定时间,就没法登录设备了;(2)可能是局域网里面手机SDK没有拿到模组的passcode,导致没法登陆;(3)之前发现SDK的内部机制有问题,也会导致这个问题,但是bug已经修复,建议使用最新版本的SDK。
14、请问下一个product key最多可以添加多少个数据点答:目前服务器端对这个没有限制,现在有一个客户添加了200个数据点,都是可以正常工作的。
15、新产品可以添加多少个数据点答:目前服务器对这个没有限制。
17、机智云怎样判断当前模块和终端是局域网还是广域网,要理论答:手机SDK里面是这样判断的:SDK每隔1秒会在局域网发出广播包,模组如果在局域网的话,收到了广播包就会给SDK回复passcode,这时候SDK就能通过passcode来登录设备了。如果SDK收不到回复,就会判断设备列表里面的设备是远程的,会通过广域网查询设备状态。
18、apicloud gizWifiSDK支持邮箱注册接口吗?答:支持的。可以用registerUser({params}, callback(ret, err))这个函数,里面的accountType参数,注册邮箱时,此参数指定为邮箱用户。详情请参考下面的文档:http://docs.apicloud.com/Client-API/Open-SDK/gizWifiSDK#a21
19、设备接入SDK中,当注册为普通用户时怎么找回密码啊答:可以的,可以通过下面的函数实现:
20、请问,增加了数据点以后,怎么样重新生成协议答:增加数据点以后,协议就会自动重新生成了,到“产品开发资源”里面下载就可以了。
21、ESP6288烧录了机智云固件GAgent for ESP8266 04020013,是否有指令可读写ESP8266的GPIO,及读取ADC值?答:目前机智云的固件只包含和MCU,手机SDK以及云端通信功能,并没有接口可以通过GPIO控制设备。需要做的话,只能通过乐鑫的二次开发包,自己添加了。
22、.用的GSM模块连接机制云的,在上传数据时按照生成的手册设备状态的所有设备状态数据只能打包一次性上传,由于移动设备流量限制希望每次只上传变化的设备状态数据或者将设备状态数据分类后每次上传一类设备状态数据,不知现在能否实现?答:目前机智云的数据点上报都是全部上报的,暂时不支持可变长度数据点。这个需求正在讨论可行性。
23、机智云数据最大可以多少bps?答:机智云数据上传和下载的速率是没有限制的,速度取决于设备所处的网络。
24、接入我们机智云,用户不是扫描二维码添加设备么?问题1 这个二维码我自己给,还是依据机智云;2 如果依据机制云,具体规则在哪里?答:二维码里面需要包含设备的PK,pk_secret和mac地址,二维码的规则可以自己定义,比方说可以定义成一段字符串:“<pk>+<pk_secret>+<mac>”。得到这些数据以后,可以调用下面的函数进行设备绑定:GizWifiSDK.sharedInstance().bindRemoteDevice ("your_uid", "your_token", "your_device_mac", "your_device_product_key", "your_product_secret");
25、Gagent还有wifi密码的长度,最大能去到哪里?答:Gagent里面ssid最长支持32个字符,密码最长支持64个字符。
26、Open api注册的账号和APP注册的账号有什么区别?答:用这两个方法注册的账号是通用的。
27、我现在需要一个用open api能登录的账号,并且绑定设备的,这个怎么操作可以得到答:可以通过open api来创建手机号码账户:http://site.gizwits.com/zh-cn/do ... _05_openapi/#post_3
28、大神,能告诉我如何修改productkey吗?答:设备创建以后,pk是不能被修改的。想换pk,可以把数据点导出成模板,然后重新创建一个新设备。
29、productkey是硬件连接的时候,和某个product绑定,可以理解。但appid还是没用啊?app连接设备的时候,只需要did和passcode?答:appid是用来操作和用户相关的业务的,比方说app启动,用户登录,获取验证码和消息推送。app在局域网登录设备的时候,只需要passcode就可以了,在新版本的SDK里面,这些都是封装好的,用户不需要考虑。
30、XPGWifiSDK.sharedInstance().bindDevice(String uid, String token, String did, String passCode, String remark);这里uid和token不是必须的吧?答:绑定设备的时候,uid和token都是必须的。
31、在设备列表只能进入单个设备查看单个设备的状态。达到这种数组这种效果请问要怎么做。。我发现GizWifiDevice不能建数组。答:这种效果只能在APP的逻辑里面实现了。
32、绑定设备 X-Gizwits-Timestamp 与服务器相差不能超过 5 分钟 X-Gizwits-Signature = MD5(product_secret + X-Gizwits-Timestamp).lower() lower是什么?答:lower的意思是大写字符转成小写字符。
33.获取失败。错误号:GIZ_SDK_CONNECTION_ERROR答:网络状况差的时候,app连不上机智云会出这个error。
34、使用IOE Demo还要另外用手机号注册一个账号,不能用开发者的邮箱账号登录,这两个账号的区别是什么?为什么不用同一个呢?为什么机智云开发者账号和IOE demo的账号是不同的?答:因为开发者中心的账户域名还没有和APP的账户域名打通,所以两边的账号是不能互通互用的。后续已经有计划做这个事情了。
35、机智云ESP8266有内置airkiss协议吗答:官网最新版本的ESP8266固件是支持airkiss2.0协议的。
36、设备passcode是由谁生成的,在哪里生成的?答:passcode是在wifi模组里面生成的,当设备reset以后,passcode会重新生成一次。
37、XPGWifiSDK.sharedInstance().bindDevice(String uid, String token, String did, String passCode, String remark);请问这个remark应该怎么填?作用是什么?答:这个remark属于客户的自定义字段,客户可以随意使用,比方说可以用来定义设备的分组信息,对同一组的设备,可以用一样的remark字段。
38.你好,想问下关于OTA升级固件的问题,包括MCU与WIFI的固件,我一直升级不成功,是机智云现在不支持还是什么?MCU固件升级时,WIFI没有任务数据从串口输出,能说明一下关于OTA的流程与我现在问题的解决方案吗,谢谢答:MCU OTA和wifi模组的OTA都是支持的。OTA升级请参照快速入门的文档:http://docs.gizwits.com/hc/kb/article/141464/
40.最近想尝试把设备接入到平台上去,设备本身带以太网接口,请问下如何通过以太网接口,连接到平台 然后把数据上传, 比如通过TCP链接到平台之后,吧数据通过JS格式上传,请熟悉平台的同学回答下答:以太网接口的话,机智云没有现成的参考代码,只能通过x86的代码做移植了:https://github.com/gizwits/Gizwits-GAgent。

43.无法使用float ,double(补充说明,在定义一两个没问题,但用函数传递double,或float时候会报错)答:乐鑫的SDK里面是没法使用double和float型来做运算的,建议使用整形数据。
44.Ssid xpg-Gagent-xxx 无法更改答:为了配合开源框架里面的softap配置,目前softap的名字是没法修改的,后续会考虑把softap的修改放进去。

46.无法重新实现smartlink,比如我在gizwitsUserTask函数中将gizSetMode(2);换成乐鑫原来的smartlink,却配置不上‍ 答:在gagent代码里面,配网函数都是被封装好的,不能额外重新调用乐鑫的配置库。






boboP 发表于 2017-2-17 18:45:09

本帖最后由 boboP 于 2017-5-10 17:35 编辑

48.应用发送扩展数据点透传与纯透传的格式分别是怎样的?答:应用做扩展数据点透传格式与普通数据点相同,不同的是扩展数据点需要做base64加密再下发数据。纯透传下发格式@{@“binary”:data}, 这里的data也是纯透传数据做base64加密获取的。扩展数据点透传格式与普通数据点透传完全相同,对于透传数据不需要再做加密处理。
49.在从设备列表进入主控界面时,会判断设备是否可控,不可控则弹框直到设备可控弹框则取消,不过基于用户体验考虑,设置了一个超时时间,在这个时间范围内,设备还不可控,则取消订阅,并返回设备列表。将超时时间设置为2s或者4s时均会发现设备高概率出现不可控并返回设备列表的情况。

答:SDK订阅接口的设计是,在小循环内若10s内设备还不可控,则认为设备订阅失败;在大循环内,则是30s。基于此,插座APP设计在进入控制界面后,小循环给10s的超时时间,大循环由于考虑到用户体验问题,给予20s的超时时间。这样更改后,插座APP基本不会出现设备不可控的现象。

50.SDK在什么情况下会定时去获取一次设备状态?答:SDK在小循环控制设备时,不会定时去获取设备状态;在大循环控制设备状态时,若是wifi下,则1分钟获取一次设备状态,在2G/3G网络下,则10分钟获取一次

51.SDK在订阅设备成功后,会去登陆设备直到登陆成功, 则在什么情况下会停止登陆?答:设备订阅成功后,Deamon会尝试登陆设备,只有在登陆成功或者取消订阅之后,Deamon才会停止登陆尝试。这跟订阅的超时设置无关,就算达到超时限制了,Deamon仍会在后台尝试登陆。

52.同时向设备下发多个控制指令,部分指令下发失败答:设备处理控制指令需要一定时间,在这段时间内再向设备下发控制指令不会生效。
53.模组烧写完固件后,可以连上wifi,但是一直不能成功被绑定,即不能成功与云端建立连接?答:Soc源码当中没有填写ProductKey,填写即可。
54.烧写固件时串口工具没有任务提示信息输出答:1. WiFi模块的引脚没有接对, BootLoader没有被启动起来         2. 在烧固件的过程,误操作,把BootLoader烧掉了,需要重新烧写BootLoader,才能重新烧写固件。
55.在iOS SDK中,APP进入后台,日志为什么会一输出client连接超时?答:当APP退到后台后,client会与deamon断开连接,并且client还会一直去尝试连接deamon,此时由于APP在后台,
               client连接deamon失败,会打印超时错误,一直持续连接请求连接超时错误这个过程,直到APP进入前台,
               client与deamon正常创建连接才结束。
56.deamon搜索到了本地的设备,并且与APP过滤的PK相同,但是却回调了一个空的设备列表?答:client采取了一个机制,就是当加载不到设备的JSON文件时,就算搜索到了设备,也不做回调,所以,可能是JSON文件没被成功加载导致的。
57.调用SDK配置接口做配置入网后,SDK接收到配置成功包后,是否还会继续发送配置包?答:会,SDK会一直发送配置包直到达到配置超时时间结束。

sunricher 发表于 2018-12-28 09:25:07

Android 最新版本 SDK 在网关中添加定时,以场景作为 Tasks,然后请求这个定时的信息,Tasks 中不会包含已经设置的场景,但是这个场景定时会被触发,而且用 iOS SDK 请求这个定时,Tasks 中包含已经设置的场景。

// 创建场景定时的接口 GizDeviceSchedulerCenter

public static void createScheduler(String uid, String token, GizWifiDevice schedulerOwner, GizDeviceSchedulerSuper scheduler, List<GizDeviceSchedulerTask> schedulerTasks)


// 请求定时的接口 GizDeviceSchedulerCenter

public static List<GizDeviceSchedulerGateway> getSchedulerListGateway(GizWifiDevice schedulerOwner)

其实有你们 App 问题负责人的微信,也沟通过,好几天了没有回复,来这试试运气。

bigfanofloT 发表于 2016-9-23 18:43:14

沙发:lol:lol

Smit 发表于 2016-9-26 11:40:10

K:\机智云问题.bmp

Smit 发表于 2016-9-26 11:45:20

我们需要发送230Byte,然后实现?

soso123 发表于 2016-9-26 17:48:00

都是干货,必须赞

许许 发表于 2016-10-6 22:09:07

太好了,占个位置:):):):)

shsxg 发表于 2016-10-18 23:00:28

建议增加对CC3200开发板的支持。:'(

Genius 发表于 2016-10-27 18:55:10

Bobo记得把问题归类啊~~

智商拙计 发表于 2016-12-27 15:37:02

谢谢楼主分享

智商拙计 发表于 2016-12-27 15:37:44

谢谢楼主分享

besti 发表于 2017-1-8 11:19:59

机智云客服电话为什么一直打不通,还有,淘宝的店铺也之一没人,买的板子也没有发货,求解决~

sss2 发表于 2017-2-21 23:22:50

与airKiss类似的技术机智云也有做吧,机智云在8266上实现的wifi热点和密码获取方式有没有介绍?

boboP 发表于 2017-2-22 11:30:34

sss2 发表于 2017-2-21 23:22
与airKiss类似的技术机智云也有做吧,机智云在8266上实现的wifi热点和密码获取方式有没有介绍? ...

这方面是8266那边的技术吧,airkiss是微信的,airlink就是smartlink

地方 发表于 2017-5-31 12:24:16

干货,赞一个,日常设备连接使用有啥问题,基本上也可以在这里找到答案了

Lin 发表于 2017-6-1 12:18:42

谢谢楼主分享:lol

SamHo 发表于 2017-6-2 10:18:20

顶一个。

南戈 发表于 2017-9-14 13:37:32

楼主大大,我的固件刷好后变成这样啦,串口没有数据,这是怎么回事

学哥哥 发表于 2017-12-6 16:43:10

啥时候有对CC3220开发板的支持:lol

jj羯仔 发表于 2017-12-28 17:49:17

什么时候推出安信可的A9G模块的GAgent呢
页: [1] 2
查看完整版本: 开发者反馈问题汇总帖(FAQ,每周更新)