收藏官网首页
查看: 10772|回复: 10

机智云3版SDK主要流程

跳转到指定楼层
楼主
发表于 2014-11-11 18:02:24 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
校园创客福利
本帖最后由 风扬蛮子 于 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()

沙发
 楼主| 发表于 2014-11-11 18:03:00 | 显示全部楼层
本帖最后由 风扬蛮子 于 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 枚举

板凳
 楼主| 发表于 2014-11-11 18:04:08 | 显示全部楼层
本帖最后由 风扬蛮子 于 2015-1-6 17:09 编辑

完整控制(新流程,推荐)
    xpgcStartDiscovery()->onDeviceFound(XpgEndpoint *)
        (小循环找到需要控制的设备,或者超时)
        ->xpgcStopDiscovery()
        (找到,尝试小循环控制)
        ->xpgcLogin2Lan(addr, passcode)
                ->OnLanLoginResp(ERROR_NONE/...)
        (超时,尝试大循环控制)
        ->xpgcLogin2Wan(uid, password, did, passcode)
                ->onWanLoginResp(XPG_LOGIN_RESULT)

地板
 楼主| 发表于 2014-11-11 18:04:29 | 显示全部楼层
本帖最后由 风扬蛮子 于 2015-1-4 16:02 编辑

手机端主动断开
    xpgcDisconnect()->onConnectEvent()

连接异常处理
    onConnectEvent()->[UI interaction]->re-connect()

判断一个连接是大循环还是小循环
    XpgEndpoint * pEndpoint = GetEndpoint(nConnid);
    pEndpoint->mode = (LAN ? MQTT)
5#
 楼主| 发表于 2014-11-11 18:04:47 | 显示全部楼层
校园创客福利
本帖最后由 风扬蛮子 于 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)

6#
 楼主| 发表于 2014-12-4 11:11:12 | 显示全部楼层
Doxygen生成的API参考

机智云3版SDK参考手册 html.zip

328.37 KB, 下载次数: 37, 下载积分: 威望 1

7#
 楼主| 发表于 2015-6-29 18:05:01 | 显示全部楼层
johnvuong1999 发表于 2015-6-15 08:24
三版现在上线了吗?

3版已经被不推荐,只保持对已应用项目的继续支持。
新项目请使用4版。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

加入Q群 返回顶部

版权与免责声明 © 2006-2024 Gizwits IoT Technology Co., Ltd. ( 粤ICP备11090211号 )

快速回复 返回顶部 返回列表