机智云3版SDK主要流程
本帖最后由 风扬蛮子 于 2015-1-9 17:53 编辑设备配置
AirLink
硬件触发->3.4.1
->AirLink (庆科 Easy Link 或者汉枫 Smart Link SDK)
->onEasyLinkResp(XpgEndpoint *)
->xpgcConnectAsync()
->onConnectEvent()
->SendPasscodeReq()
->onPasscodeResp()
->或者(60秒后)超时
SoftAP
(切换到热点XPG-GAGENT-????)
->xpgcConnectAsync()
->onConnectEvent()
->SendWifiListReq()
->OnWifiListResp()
->SendOnboardingSetReq() - 备注:这个指令为广播发送,可能出现丢包,建议重发5次以上
->onOnboardingSetResp()
(切换到目标的wifi里)
->onEasyLinkResp()
本帖最后由 风扬蛮子 于 2015-1-6 23:52 编辑
用户注册
xpgcRegister(uid, pwd)
->onUserRegisterResp(ERROR_NONE/...)
用户登录
xpgcConnectAsync(XpgEndpoint *)
->onConnectEvent(connId)
->xpgcLogin(connId, uid, pwd)
->onLoginCloudResp(LOGINED/...)
->SendBindingGetV2Req(connId)
[->onDeviceFound(XpgEndpoint *)]
* endpoint 包含 ip+port+...等信息,参见SDK 附带 demo 里的onLan()/onWan()/onDeviceFound()
* onLoginCloudResp(参数值),参见 XPG_LOGIN_RESULT 枚举
本帖最后由 风扬蛮子 于 2015-1-6 17:09 编辑
完整控制(新流程,推荐)
xpgcStartDiscovery()->onDeviceFound(XpgEndpoint *)
(小循环找到需要控制的设备,或者超时)
->xpgcStopDiscovery()
(找到,尝试小循环控制)
->xpgcLogin2Lan(addr, passcode)
->OnLanLoginResp(ERROR_NONE/...)
(超时,尝试大循环控制)
->xpgcLogin2Wan(uid, password, did, passcode)
->onWanLoginResp(XPG_LOGIN_RESULT)
本帖最后由 风扬蛮子 于 2015-1-4 16:02 编辑
手机端主动断开
xpgcDisconnect()->onConnectEvent()
连接异常处理
onConnectEvent()->->re-connect()
判断一个连接是大循环还是小循环
XpgEndpoint * pEndpoint = GetEndpoint(nConnid);
pEndpoint->mode = (LAN ? MQTT)
本帖最后由 风扬蛮子 于 2015-1-7 19:15 编辑
小循环控制(旧流程1,不推荐)
xpgcFindDevice()->onDeviceFound(XpgEndpoint *)
->xpgcConnectAsync(XpgEndpoint *)->onConnectEvent()
[->SendPasscodeReq()->onPasscodeResp()]
->xpgcLogin()->onLanLoginResp(ERROR_NONE/...)
xpgcFindDevice()是单次发送,需要App定时重发以避免广播包丢失和提高可靠性
大循环控制(旧流程1,不推荐)
xpgcConnectAsync(XpgEndpoint *)->onConnectEvent()
->xpgcLogin()->onLoginCloudResp()
->xpgcEnableCtrl(did, passcode)->onLoginCloudResp(0/1)
Doxygen生成的API参考 本帖最后由 Sailor_Moon 于 2015-1-16 15:33 编辑
3版SDK增加机智云open-api对应用户、设备接口及流程
用户注册
xpgc4GetMobileAuthCode((AppId, phone)
->onV4GetMobileAuthCode(errorCode)
->xpgc4CreateUserByPhone(AppId, phone, psw, code)
->onV4CreateUserByPhone(errorCode/...)
用户登录
xpgc4Login(AppId, uId, psw)
->onV4Login(errorCode,uid,token/...)
->xpgcLogin2Wan(userName,password,did,passcode)
->onWanLoginResp(result,connId)
*userName = 2$+AppId+$+uid ,password = token
获取绑定设备列表
xpgc4GetMyBindings(AppId, token, limit, skip)
->onV4GetMyBindings(errorCode/...)
绑定设备
xpgc4BindDevice(AppId, token, did, passcode, remark)
->onV4BindDevce(errorCode/...)
解除绑定
xpgc4UnbindDevice(AppId, token, did)
->onV4UnbindDevice(errorCode/...)
旧3版SDK接口升级新3版SDK,要更改的地方
1、改用新注册接口;
2、用户登录改为;
xpgc4Login(AppId, uId, psw)->onV4Login(errorCode,uid,token/...)
->xpgcConnectAsync(XpgEndpoint *)
->onConnectEvent(connId)
->xpgcLogin(connId, uid, pwd)
->onLoginCloudResp(LOGINED/...)
->SendBindingGetV2Req(connId)
[->onDeviceFound(XpgEndpoint *)
*uid= 2$+AppId+$+uid ,pwd= token
3、绑定设备、解绑设备、获取绑定设备列表改用新版接口。
不懂c语言用什么底板好 三版现在上线了吗? johnvuong1999 发表于 2015-6-15 08:24
三版现在上线了吗?
3版已经被不推荐,只保持对已应用项目的继续支持。
新项目请使用4版。 评心而论 发表于 2015-4-27 22:54
不懂c语言用什么底板好
不会c语言,底板不重要
页:
[1]