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

接入示例(一方認證)

本文以使用Github開源工程為例,介紹使用GB/T 32960協議的車輛設備,通過物聯網平臺云網關接入阿里云物聯網平臺進行通信。

前提條件

  • 已購買尊享型企業版實例。

    本示例購買華東2(上海)地域的尊享型實例。具體操作,請參見購買企業版實例

  • 自定義證書。

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

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

背景信息

物聯網平臺提供GB/T 32960協議云網關功能,支持通過TCP(安全性低,不推薦)和TLS兩種方式接入設備。采用TLS方式接入時,支持使用服務端單向認證、設備端OCSP、設備和服務端雙向安全接入等能力。

本文使用一方認證的TLS方式,介紹GB/T 32960協議設備的接入示例。

GB/T 32960協議云網關設備認證和通信說明,請參見GB/T 32960協議云網關概述

Github上已有GB/T 32960協議客戶端的開源代碼。具體內容,請參見Github的開源項目

準備環境

  • 本示例使用Git命令下載開源代碼,并使用Patch命令進行補丁。因此,您的操作系統需安裝支持使用Git和Patch命令。

  • 本示例使用Java語言開發設備程序,準備Java開發環境如下:

下載開源代碼

本示例對開源的Demo做了簡化,需要打上Patch文件。具體操作如下:

  1. 執行以下命令,獲取到Demo文件tsp

    git clone https://github.com/zhengyishan/tsp.git
    cd tsp
    git checkout 5ef2907b7160f74cf4948b641d75fccd50c5dd6a -b demo_branch
  2. 下載Patch文件gb32960.patch,保存在Demo文件tsp目錄下。

  3. 繼續執行以下命令,完成Demo文件tsp補丁。

    patch -p1 < gb32960.patch

創建云網關產品和設備

  1. 登錄物聯網平臺控制臺

  2. 在控制臺左上方,選擇物聯網平臺所在地域。

  3. 實例概覽頁面,單擊目標尊享型實例。

  4. 在左側導航欄,選擇設備管理>云網關,單擊添加云網關

  5. 在對話框中配置如下參數,如下圖所示,服務端證書私鑰server.key服務端證書server.crt

    參數詳細說明,請參見添加云網關

    image..png
  6. 單擊確認

  7. 云網關創建完成后,在云網關列表,復制網關URL保存。

    image..png

添加云網關設備

  1. 在左側導航欄選擇設備管理>產品,找到已創建的云網關產品,單擊右側操作列的管理設備

  2. 設備頁面,單擊批量添加

  3. 批量添加設備對話框,單擊下載.csv模板下載表格模板。

    image..png
  4. 在模板中填寫VIN值(例如:device10000000001),然后保存為.csv后綴文件。

    重要

    VIN為車輛識別代碼,支持英文字母和數字,長度限制為17個字符。

  5. 回到批量添加設備對話框,單擊上傳文件,將填好的文件上傳至物聯網平臺控制臺,單擊確認

    image..png

    設備身份導入成功后,物聯網平臺會以上傳的VIN值,作為設備名稱創建對應設備,設備列表顯示已創建的設備信息。

    image..png

開發設備端程序

創建設備信息后,需開發設備端程序,將設備接入物聯網平臺。本示例以接入設備device10000000001為例,使用Java SDK開發設備連接物聯網平臺。

  1. 打開IntelliJ IDEA,導入已獲取的Demo:tsp

  2. 在工程的/dyy-gateway-tcu/src/main/resources路徑下導入根證書文件:root-ca.crt

  3. 打開工程的/dyy-gateway-tcu/src/main/java/com/dyy/tsp/gateway/tcu/config/TcuProperties.java文件,修改設備接入的相關參數。

    以下參數必須修改為實際參數值,其他參數值根據實際需要自定義。

        //網關域名 TODO:需要替換為您的云網關實例的域名
        private String gatewayHost = "iot-*******.igw.iothub.aliyuncs.com";
    
        //網關端口 TODO:需要替換為您的云網關實例的端口號
        private Integer gatewayPort = 8999;
        
        //是否使用TLS TODO:如果使用了TCP直連,需要將其設置為FALSE
        private boolean useSSL = Boolean.TRUE;
        
        //如果沒有使用TLS,請忽略;如果用到了,請設置根證書root-ca.crt的路徑位置
        private String CA_PATH = "dyy-gateway-tcu/src/main/resources/root-ca.crt";
    
        //車輛識別代碼. 長度為17個字節。TODO: 需要替換為您車輛的vin號,并在控制臺以此vin號創建設備
        private String vin = "device10000000001";

    參數

    示例

    說明

    gatewayHost

    iot-*******.igw.iothub.aliyuncs.com

    GB/T 32960協議云網關的接入地址。

    即已創建云網關產品的網關URL中域名。

    gatewayPort

    8999

    云網關接入地址的自定義端口號,默認為8999

    即已創建云網關產品的網關URL中端口號。

    useSSL

    Boolean.TRUE

    是否使用TLS方式接入。取值:

    • Boolean.TRUE(默認):表示使用TLS。

    • Boolean.FALSE:表示使用TCP。

    CA_PATH

    dyy-gateway-tcu/src/main/resources/root-ca.crt

    使用TLS方式接入時,需要設置根證書文件root-ca.crt在工程下的絕對路徑。

    vin

    device10000000001

    車輛識別代碼,即已創建云網關設備的VIN

  4. 在工程的/dyy-gateway-tcu/src/main/java/com/dyy/tsp/gateway/tcu/handler/BusinessHandler.java文件中,提供了車輛登入、上報心跳、上報實時數據、車輛注銷的邏輯代碼。您可以修改此文件,實現更多功能。

運行設備程序

  1. 在IntelliJ IDEA中,選擇File>Project Structure

  2. 選擇Project SDK為1.8 版本,單擊Apply

    image.png
  3. 單擊OK

  4. 運行文件TcuApplication.java的主程序。

    設備與服務端進行雙向認證成功,設備在線。

    image..png

查看運行日志

設備端運行日志

設備程序運行后,會打印設備上下行報文的詳細信息:

  • 車輛登入(login)的請求報文,其中報文的第三、第四字節01 fe表示車輛請求登入。

             +-------------------------------------------------+
             |  0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f |
    +--------+-------------------------------------------------+----------------+
    |00000000| 23 23 01 fe 31 32 33 34 35 36 37 38 39 30 31 32 |##..device100000|
    |00000010| 33 34 35 36 37 01 00 1e 17 05 06 10 23 19 00 01 |00001.......#...|
    |00000020| 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 |1234567890123456|
    |00000030| 37 38 39 30 00 00 ee                            |7890...         |
    +--------+-------------------------------------------------+----------------+
  • 服務端對設備login的回復報文,其中報文的第三、第四字節01 01表示車輛登入成功。

             +-------------------------------------------------+
             |  0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f |
    +--------+-------------------------------------------------+----------------+
    |00000000| 23 23 01 01 31 32 33 34 35 36 37 38 39 30 31 32 |##..device100000|
    |00000010| 33 34 35 36 37 01 00 1e 17 05 06 10 23 19 00 01 |00001.......#...|
    |00000020| 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 |1234567890123456|
    |00000030| 37 38 39 30 00 00 11                            |7890...         |
    +--------+-------------------------------------------------+----------------+
  • 設備上報心跳的報文,其中報文的第三、第四字節07 fe表示該報文為上行的心跳。

             +-------------------------------------------------+
             |  0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f |
    +--------+-------------------------------------------------+----------------+
    |00000000| 23 23 07 01 31 32 33 34 35 36 37 38 39 30 31 32 |##..device100000|
    |00000010| 33 34 35 36 37 01 00 00 36                      |00001...6       |
    +--------+-------------------------------------------------+----------------+
  • 服務端對心跳報文的回復,其中報文的第三、第四字節07 01表示該報文為下行的心跳。

             +-------------------------------------------------+
             |  0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f |
    +--------+-------------------------------------------------+----------------+
    |00000000| 23 23 07 01 31 32 33 34 35 36 37 38 39 30 31 32 |##..device100000|
    |00000010| 33 34 35 36 37 01 00 00 36                      |00001...6       |
    +--------+-------------------------------------------------+----------------+
  • 設備上報實際數據,其中報文的第三、第四字節02 fe表示實時數據上報。

             +-------------------------------------------------+
             |  0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f |
    +--------+-------------------------------------------------+----------------+
    |00000000| 23 23 02 fe 31 32 33 34 35 36 37 38 39 30 31 32 |##..device100000|
    |00000010| 33 34 35 36 37 01 00 14 17 05 06 10 23 23 08 01 |00001.......##..|
    |00000020| 01 00 05 00 06 00 04 00 07 01 00 0a df          |.............   |
    +--------+-------------------------------------------------+----------------+

云端運行日志

物聯網平臺控制臺實例下的監控運維 > 日志服務頁面,查看設備上報數據。

具體操作,請參見云端運行日志

image..png