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

机智云3版SDK主要流程

跳转到指定楼层
楼主
发表于 2014-11-11 18:02:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
汉枫LPB120模块
本帖最后由 风扬蛮子 于 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 | 只看该作者
汉枫LPB120模块
本帖最后由 风扬蛮子 于 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

11

主题

29

帖子

255

积分

版主

Rank: 7Rank: 7Rank: 7

积分
255
7#
发表于 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
8#
发表于 2015-4-27 22:54:17 | 只看该作者
不懂c语言用什么底板好

9

主题

66

帖子

235

积分

中级会员

Rank: 3Rank: 3

积分
235
9#
发表于 2015-6-15 08:24:26 | 只看该作者
三版现在上线了吗?
10#
 楼主| 发表于 2015-6-29 18:05:01 | 只看该作者
免费使用STM32、APP自动代码生成工具
johnvuong1999 发表于 2015-6-15 08:24
三版现在上线了吗?

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

2

主题

8

帖子

84

积分

注册会员

Rank: 2

积分
84
11#
发表于 2015-12-6 01:35:59 | 只看该作者
评心而论 发表于 2015-4-27 22:54
不懂c语言用什么底板好

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

本版积分规则

加入Q群 返回顶部

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

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