本帖最后由 Genius 于 2018-5-7 11:13 编辑
通过社群,客服,邮箱等等渠道。我们收集了许多开发者在开发使用过程中遇到的问题、有烧写过程遇到的、APP编译运行时报错的、云服务平台使用时遇到的、甚至是涉及到代码细节的等等。特开此贴汇总问题并附上答案。
根据分类,准备了以下四个FAQ,如有任何问题,可直接留言给我。每天都在线
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参数,注册邮箱时,此参数指定为邮箱用户。详情请参考下面的文档:
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能登录的账号,并且绑定设备的,这个怎么操作可以得到
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、绑定设备 [POST] 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都是支持的。
40.最近想尝试把设备接入到平台上去,设备本身带以太网接口,请问下如何通过以太网接口,连接到平台 然后把数据上传, 比如通过TCP链接到平台之后,吧数据通过JS格式上传,请熟悉平台的同学回答下 答:以太网接口的话,机智云没有现成的参考代码,只能通过x86的代码做移植了:
43.无法使用float ,double(补充说明,在定义一两个没问题,但用函数传递double,或float时候会报错) 答:乐鑫的SDK里面是没法使用double和float型来做运算的,建议使用整形数据。
44.Ssid xpg-Gagent-xxx 无法更改 答:为了配合开源框架里面的softap配置,目前softap的名字是没法修改的,后续会考虑把softap的修改放进去。
46.无法重新实现smartlink,比如我在gizwitsUserTask函数中将gizSetMode(2);换成乐鑫原来的smartlink,却配置不上 答:在gagent代码里面,配网函数都是被封装好的,不能额外重新调用乐鑫的配置库。
|