日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

MQTT協(xié)議云網(wǎng)關(guān)設(shè)備使用MQTT.fx接入

本文以Windows系統(tǒng)下MQTT.fx為例,介紹如何將MQTT協(xié)議云網(wǎng)關(guān)設(shè)備模擬接入物聯(lián)網(wǎng)平臺,并上報(bào)數(shù)據(jù)。

前提條件

已完成以下操作:

  • 購買企業(yè)版實(shí)例:本示例購買華東2(上海)地域的尊享型實(shí)例。

  • 下載并安裝MQTT.fx軟件。MQTT.fx軟件安裝和使用說明,請參見MQTT.fx。

    本文操作以mqttfx-5.2.0-windows-x64版本為例演示具體操作。由于第三方軟件不定期更新,建議您以實(shí)際頁面為準(zhǔn)。

  • 自定義證書。

    本文示例需自定義證書包含:根證書root-ca.crt、服務(wù)端證書私鑰server.key和服務(wù)端證書server.crt。

    您可以使用OpenSSL工具生成自定義證書,制作方法,請參見生成自定義證書。

背景信息

MQTT.fx是一款基于Eclipse Paho使用Java語言編寫的MQTT客戶端,支持Windows、Mac和Linux操作系統(tǒng),可用于驗(yàn)證設(shè)備是否可與物聯(lián)網(wǎng)平臺正常連接,并通過Topic通信。

MQTT協(xié)議云網(wǎng)關(guān)提供一方認(rèn)證和三方認(rèn)證兩種認(rèn)證方式,設(shè)備可選擇任一認(rèn)證方式,使用自定義證書、服務(wù)端認(rèn)證和自定義Topic通信等能力,實(shí)現(xiàn)與物聯(lián)網(wǎng)平臺連接并進(jìn)行通信。

MQTT協(xié)議云網(wǎng)關(guān)設(shè)備認(rèn)證和通信說明,請參見MQTT協(xié)議云網(wǎng)關(guān)概述。

設(shè)備使用MQTT.fx接入(一方認(rèn)證)

步驟一:創(chuàng)建云網(wǎng)關(guān)產(chǎn)品和設(shè)備

  1. 創(chuàng)建云網(wǎng)關(guān)產(chǎn)品(MQTT):配置如下圖所示,服務(wù)端證書私鑰server.key服務(wù)端證書server.crt。

    image
  2. 在云網(wǎng)關(guān)列表,復(fù)制網(wǎng)關(guān)URL保存。

    image
  3. 批量添加設(shè)備:本示例添加一個設(shè)備,MQTT Usernamedevice_01,MQTT Passwordhello123。

步驟二:配置MQTT.fx接入

  1. 打開MQTT.fx軟件,單擊菜單欄中的Extras,選擇Edit Connection Profiles。

  2. Edit Connection Profiles頁面,完成以下參數(shù)的設(shè)置。

    1. 設(shè)置以下基本信息,其他參數(shù)使用默認(rèn)值。

      參數(shù)

      說明

      Profile Name

      輸入您的自定義名稱。

      Profile Type

      MQTT服務(wù)器連接,選擇MQTT Broker。

      Broker Address

      MQTT云網(wǎng)關(guān)接入地域,即已創(chuàng)建云網(wǎng)關(guān)產(chǎn)品的網(wǎng)關(guān)URL中域名。

      Broker Port

      設(shè)置為自定義端口號,默認(rèn)為1883。

      Client ID

      (可選)客戶端ID,需自定義,長度不可超過64個字符。建議使用設(shè)備的MAC地址或SN碼,方便您識別區(qū)分不同的客戶端。

    2. 單擊User Credentials,選中Use Username/Password復(fù)選框,設(shè)置User NamePassword。

      User NamePassword分別對應(yīng)已添加云網(wǎng)關(guān)設(shè)備的MQTT UsernameMQTT Password。

    3. 單擊SSL/TLS,選中Enable SSL/TLS,設(shè)置ProtocolTLSv1.2

    4. 選中CA certificate file,然后選擇根證書文件root-ca.crt的路徑。image

  3. 設(shè)置完成后,單擊右下角的OK。

  4. 單擊Connect。

    右側(cè)亮綠燈,表示連接成功。在物聯(lián)網(wǎng)平臺控制臺實(shí)例下的設(shè)備管理 > 設(shè)備頁面,設(shè)備device_01狀態(tài)顯示為在線。image

設(shè)備使用MQTT.fx接入(三方認(rèn)證)

步驟一:創(chuàng)建設(shè)備認(rèn)證的FC函數(shù)

  1. 登錄函數(shù)計(jì)算控制臺,在左側(cè)導(dǎo)航欄,單擊服務(wù)及函數(shù)

  2. 在頂部菜單欄,選擇華東2(上海)地域,然后在服務(wù)列表頁面,單擊創(chuàng)建服務(wù)。

  3. 創(chuàng)建服務(wù)面板,填寫服務(wù)名稱,例如:IoT_Service,然后單擊確定。

  4. 函數(shù)管理頁面,單擊創(chuàng)建函數(shù)

  5. 創(chuàng)建函數(shù)頁面,配置以下配置項(xiàng),然后單擊創(chuàng)建。

    image
  6. 函數(shù)詳情頁面,將示例代碼替換為以下代碼,單擊部署代碼

    認(rèn)證函數(shù)將UserName作為deviceName返回。

    # -*- coding: utf-8 -*-
    import logging
    import json
    import time
    import enum
    import random
    import string
    
    class Request:
        def __init__(self, json_str):
            self.clientId = None
            self.username = None
            self.password = None
            self.certificateCommonName = None
    
            for key, value in json.loads(json_str).items():
                setattr(self, key, value)
    
    class Response:
        def __init__(self):
            self.deviceName = None
            self.result = 'true'
            self.message = 'success'
    
        def handler(self, request):
            # 按照業(yè)務(wù)需求驗(yàn)證UserName和Password的合法性
        
            self.deviceName = request.username
            
            
            return json.dumps(self.__dict__)
    
    def handler(event, context):
        request = Request(event)
        return Response().handler(request)

步驟二:創(chuàng)建云網(wǎng)關(guān)產(chǎn)品

  1. 創(chuàng)建云網(wǎng)關(guān)產(chǎn)品(MQTT):配置如下圖所示,其中服務(wù)端證書私鑰server.key服務(wù)端證書server.crt,設(shè)備認(rèn)證FC服務(wù)和設(shè)備認(rèn)證FC函數(shù),選擇為已添加的IoT_Servicethree_part_auth

    image
  2. 在云網(wǎng)關(guān)列表,復(fù)制網(wǎng)關(guān)URL保存。

    image

步驟三:配置MQTT.fx接入

  1. 打開MQTT.fx軟件,單擊菜單欄中的Extras,選擇Edit Connection Profiles。

  2. Edit Connection Profiles頁面,完成以下參數(shù)的設(shè)置。

    1. 設(shè)置以下基本信息,其他參數(shù)使用默認(rèn)值。

      參數(shù)

      說明

      Profile Name

      輸入您的自定義名稱。

      Profile Type

      MQTT服務(wù)器連接,選擇MQTT Broker。

      Broker Address

      MQTT云網(wǎng)關(guān)接入地域,即已創(chuàng)建云網(wǎng)關(guān)產(chǎn)品的網(wǎng)關(guān)URL中域名。

      Broker Port

      設(shè)置為自定義端口號,默認(rèn)為1883

      Client ID

      (可選)客戶端ID,需自定義,長度不可超過64個字符。建議使用設(shè)備的MAC地址或SN碼,方便您識別區(qū)分不同的客戶端。

    2. 單擊User Credentials,選中Use Username/Password復(fù)選框,設(shè)置User Name(例如:threeParty_device_001Password

      說明
      • User Name支持英文字母、數(shù)字、短劃線(-)、下劃線(_)、at(@)、英文句號(.)和英文冒號(:),長度限制為4~32個字符。User Name在產(chǎn)品維度下不可重復(fù)。

      • Password支持英文字母、數(shù)字、短劃線(-)、下劃線(_)、at(@)、英文句號(.)和英文冒號(:),長度限制為1~32個字符。

    3. 單擊SSL/TLS,選中Enable SSL/TLS,設(shè)置ProtocolTLSv1.2。

    4. 選中CA certificate file,然后選擇根證書文件root-ca.crt的路徑。image

  3. 設(shè)置完成后,單擊右下角的OK。

  4. 單擊Connect

    右側(cè)亮綠燈,表示連接成功。通過FC認(rèn)證函數(shù)返回的deviceNamethreeParty_device_001會作為物聯(lián)平臺設(shè)備的DeviceName,在物聯(lián)網(wǎng)平臺控制臺實(shí)例下的設(shè)備管理 > 設(shè)備頁面,自動創(chuàng)建設(shè)備threeParty_device_001,設(shè)備狀態(tài)顯示為在線。image

設(shè)備使用自定義Topic上報(bào)數(shù)據(jù)

  1. 在MQTT.fx上,單擊Publish,在Publish文本框中,輸入自定義Topic:/home/garden/fountain

  2. 在文本編輯頁面,輸入要發(fā)送的消息內(nèi)容,然后單擊Publish。

  3. 登錄物聯(lián)網(wǎng)平臺控制臺,在對應(yīng)實(shí)例下的監(jiān)控運(yùn)維 > 日志服務(wù)頁面,查看設(shè)備到云消息日志消息。具體操作,請參見查詢云端運(yùn)行日志image