天天看點

【MQTT】MQTT.fx連接配接OneNet平台

今天心血來潮想通過MQTT協定連接配接中移物聯網OneNet。然後找了個MQTT用戶端——MQTT.fx。

MQTT.fx 是目前主流的mqtt用戶端,可以快速驗證是否可以與IoT Hub 服務交流釋出或訂閱消息。裝置将目前所處的狀态作為MQTT主題發送給IoT Hub,每個MQTT主題topic具有不同等級的名稱,如“小區/區域/車位閑置” 。MQTT代理伺服器将接收到的主題topic發送給給所有訂閱的用戶端。

☛ 點選下載下傳MQTT.fx ☚
☞ 轉到中移物聯網OneNet ☜
1. 建立物聯網裝置
  • 注冊–>登入–>開發者中心–> 添加産品
    【MQTT】MQTT.fx連接配接OneNet平台
  • 添加裝置
【MQTT】MQTT.fx連接配接OneNet平台

然後大概就是醬紫咯

【MQTT】MQTT.fx連接配接OneNet平台
2. MQTT.fx連接配接OneNet
  • 設定–>名稱–>伺服器位址/端口–>産品的名稱或ID

服務位址

MQTTS 接入套件支援标準 MQTT V3.1.1 版本,支援TLS加密,接入服務位址如下

連接配接協定 證書 位址 端口
MQTTS 證書下載下傳 183.230.40.16 8883

注意:要下載下傳證書

裝置安全認證

裝置建立時,平台為每個裝置配置設定了唯一的 key,裝置登入時需要使用 通過 key 計算出的通路token 來進行通路安全認證。

裝置可通過MQTT connnect封包進行登入,connect封包中三要素填寫方法如下:

參數 是否必須 參數說明 示例
clientId 裝置名稱 A2-Area
username 平台配置設定的産品ID 288XXX
password 填寫經過 key 計算的 token Trc9tlrmS18v**************************1BQt756wfPE=
  • 如何檢視password

    注:需要經過處理才能在MQTT.fx 中使用

    【MQTT】MQTT.fx連接配接OneNet平台
    【MQTT】MQTT.fx連接配接OneNet平台
MQTT.fx中Password的處理
  • 直接上代碼吧
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 檔案名:OneNet.py

import base64
import hmac
import time
from urllib.parse import quote

def token(name,access_key):
    version = '2018-10-31'
    res = id  
    et = str(int(time.time()) + 3600)
    method = 'sha1'
    key = base64.b64decode(access_key)
    # 計算sign
    org = et + '\n' + method + '\n' + res + '\n' + version
    sign_b = hmac.new(key=key, msg=org.encode(), digestmod=method)
    sign = base64.b64encode(sign_b.digest()).decode()
    sign = quote(sign, safe='')
    res = quote(res, safe='')
    token = 'version=%s&res=%s&et=%s&method=%s&sign=%s' % (version, res, et, method, sign)
    return token


if __name__ == '__main__':
    id = 'products/288XXX/devices/A2-Area'	#裝置目錄,根據自己的目錄修改
    access_key = 'Trc9tlrmS18v**************************1BQt756wfPE='

    print(token(id,access_key))
           

運作,得到Password然後複制到MQtt.fx 中的Password即可。

【MQTT】MQTT.fx連接配接OneNet平台
  • MQTT.fx設定
【MQTT】MQTT.fx連接配接OneNet平台

插入證書

【MQTT】MQTT.fx連接配接OneNet平台
  • 連接配接
【MQTT】MQTT.fx連接配接OneNet平台

連接配接成功

【MQTT】MQTT.fx連接配接OneNet平台

消息的釋出/訂閱下周再繼續調試吧,18:36下班咯,拜!!!!

繼續閱讀