日本精品久久-日本精品二区-日本精品二区-日本极品少妇-成人欧美一区二区三区黑人免费-成人欧美一区二区三区黑人免费

AbleCloud物聯網云平臺開發指導Android篇3

來源:網絡

點擊:1231

A+ A-

所屬頻道:新聞中心

關鍵詞: AbleCloud,物聯網,云平臺

    設備控制

    下面以開關燈為例,通過二進制、json兩種格式簡要介紹與安卓設備通訊的例子。實際開發請只選擇以下其中一種消息格式。

    注意:msgCode從[64,200)范圍代表控制查詢及響應,[200,255]范圍代表消息主動上報,其他范圍為AbleCloud內部使用,不允許重復定義。

    1 使用二進制消息格式進行通訊

    1.1 設備控制

    以開關燈為例,協議如下:

    //請求數據包

    { 68 :[

    //關燈(二進制流,由廠商自己解析)

    { 0 , 0 , 0 , 0 },

    //開燈(二進制流,由廠商自己解析)

    { 1 , 0 , 0 , 0 }

    ]}

    //響應數據包

    { 102 :[

    //失?。ǘM制流,由廠商自己解析)

    { 0 , 0 , 0 , 0 },

    //成功(二進制流,由廠商自己解析)

    { 1 , 0 , 0 , 0 }

    ]}

    -------------------------------------

    private static final int CODE_SWITCH_REQ = 68;

    private static final int CODE_SWITCH_RESP = 102;

    private static final int OFF = 0;

    private static final int ON = 1;

    AC.handleMsg(new ACMsgHandler() {

    @Override

    public void handleMsg(ACDeviceMsg req, ACDeviceMsg resp) {

    switch (reqMsg.getMsgCode()) {

    case CODE_SWITCH_REQ:

    //請求消息體

    byte[] payload = reqMsg.getPayload();

    if (payload[0] == ON) {

    if (Light.turnLightOn()) {

    respMsg.setPayload(new byte[]{1, 0, 0, 0}); //開燈成功

    } else

    respMsg.setPayload(new byte[]{0, 0, 0, 0}); //開燈失敗

    } else {

    if (Light.turnLightOff()) {

    respMsg.setPayload(new byte[]{1, 0, 0, 0}); //關燈成功

    } else

    respMsg.setPayload(new byte[]{0, 0, 0, 0}); //關燈失敗

    respMsg.setMsgCode(CODE_SWITCH_RESP);

    break;

    });

    2 使用JSON消息格式進行通訊

    2.1 設備控制

    以開關燈為例,協議如下:

    //請求數據包

    { 70 :[

    //關燈

    {"switch", 0}

    //開燈

    {"switch", 1}

    ]}

    //響應數據包--JSON格式的resp不需要設置msgCode

    //失敗

    {"result", false},

    //成功

    {"result", true}

    ]}

    -----------------------------

    private static final int CODE_JSON = 70;

    private static final int OFF = 0;

    private static final int ON = 1;

    AC.handleMsg(new ACMsgHandler() {

    @Override

    public void handleMsg(ACDeviceMsg req, ACDeviceMsg resp) {

    //JSON格式的resp不需要設置msgCode

    switch (reqMsg.getMsgCode()) {

    case CODE_JSON:

    //請求消息體

    JSONObject req = new JSONObject(reqMsg.getJsonPayload());

    //請求操作類型,關燈或開燈

    int value = req.getInt("switch");

    //響應消息體

    JSONObject resp = new JSONObject();

    if (value == ON) {

    if (Light.turnLightOn()) {

    resp.put("result", true);

    respMsg.setJsonPayload(resp.toString()); //開燈成功

    } else {

    resp.put("result", false);

    respMsg.setJsonPayload(resp.toString()); //開燈失敗

    } else if (value == OFF) {

    if (Light.turnLightOff()) {

    resp.put("result", true);

    respMsg.setJsonPayload(resp.toString()); //關燈成功

    } else {

    resp.put("result", false);

    respMsg.setJsonPayload(resp.toString()); //關燈失敗

    break;

    });


    (審核編輯: 林靜)

    聲明:除特別說明之外,新聞內容及圖片均來自網絡及各大主流媒體。版權歸原作者所有。如認為內容侵權,請聯系我們刪除。

    主站蜘蛛池模板: 杨贵妃电视剧| 电影电车| 08版包青天狸猫换太子| 那些花儿吉他谱原版| 厕所英雄| 二年级下册数学期末考试试卷可打印| 刘越| 哥哥的女人电影| 黑暗女监日本电影完整版叫什么| 红旗车驾驶员个人主要事迹材料| 欧美13| 久纱野水萌| 林峰电影| 驾驶证三力测试题库| 娇喘视频在线观看| 相识在线观看| 第一财经直播电视直播| 髋关节置换术后护理ppt | 秦江池姜小说免费阅读全文最新章节| 91自拍网| 羞羞答答av| 怎么操女人| 烽火流金电视剧全集免费观看| tbbt| 四角号码| studio9| 张小婉身高体重| 电影井冈山| 课课帮| 无锡电视台| 郭馨钰| 赵士杰| 漂亮孕妇独自在家肚子疼叫个不停| bbbbbbbbb免费毛片视频| 小镇姑娘高清电影| 第一财经在线直播今日股市| 李妍杜| 那年秋天| 打美女屁股视频| 新子| 泥视频|