收藏官网首页
查看: 4642|回复: 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)
 楼主| 发表于 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)

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

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

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

11

主题

29

帖子

255

积分

版主

Rank: 7Rank: 7Rank: 7

积分
255
发表于 2015-1-6 18:15:27 | 显示全部楼层
本帖最后由 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、绑定设备、解绑设备、获取绑定设备列表改用新版接口。

0

主题

1

帖子

12

积分

新手上路

Rank: 1

积分
12
发表于 2015-4-27 22:54:17 | 显示全部楼层
不懂c语言用什么底板好

9

主题

66

帖子

235

积分

中级会员

Rank: 3Rank: 3

积分
235
发表于 2015-6-15 08:24:26 | 显示全部楼层
三版现在上线了吗?
 楼主| 发表于 2015-6-29 18:05:01 | 显示全部楼层
汉枫LPB120模块
johnvuong1999 发表于 2015-6-15 08:24
三版现在上线了吗?

3版已经被不推荐,只保持对已应用项目的继续支持。
新项目请使用4版。

2

主题

8

帖子

84

积分

注册会员

Rank: 2

积分
84
发表于 2015-12-6 01:35:59 | 显示全部楼层
评心而论 发表于 2015-4-27 22:54
不懂c语言用什么底板好

不会c语言,底板不重要
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

加入Q群 返回顶部

© 2011-2017 Gizwits ( 粤ICP备11090211号 )

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