所需檔案

  • Mosquitto fow Windows: 下載最新的 mosquitto-<version>-install-win32.exe。
  • Win32 OpenSSL: 安裝 Win32 OpenSSL v1.0.x Light 版本,不要抓最新的 1.1.x。需要 libeay32.dll 及 ssleay32.dll 這倆個檔案。
  • pthreads-win32: 下載最新的 pthreads-w32-<version>-release.zip,需要 pthreadVC2.dll。

安裝步驟

  • 安裝 mosquitto-<version>-install-win32.exe。
  • 拷貝 libeay32.dll,ssleay32.dll,pthreadVC2.dll 到 C:\Program Files (x86)\mosquitto。
  • 重新開機即可。

測試步驟

  • 打開 cmd.exe,執行 "C:\Program Files (x86)\mosquitto\mosquitto.exe" -v,-v 會顯示 log 訊息。
  • 打開 cmd.exe,執行 "C:\Program Files (x86)\mosquitto\mosquitto_sub.exe" -h 127.0.0.1 -t test,-h 主機IP位置,-t 訂閱主題。
  • 打開 cmd.exe,執行 "C:\Program Files (x86)\mosquitto\mosquitto_pub.exe" -h 127.0.0.1 -t test -m "test123",-h 主機IP位置,-t 訂閱主題,-m 發佈訊息。
  • mosquitto_pub 執行後,在 mosquitto_sub 視窗會顯示收到的訊息,而 mosquitto 視窗則會顯示 log 訊息。
  • mosquitto 執行後會常駐,用來接受訂閱及發佈訊息。
  • mosquitto_sub 執行後會常駐,用來接受 mosquitto 所發佈的訊息。

身份驗證

  • 修改 "C:\Program Files (x86)\mosquitto\mosquitto.conf",加入 allow_anonymous false。
  • 新增密碼檔,執行 fsutil file createnew "C:\Program Files (x86)\mosquitto\pwfile" 0
  • 新增使用者,執行 "C:\Program Files (x86)\mosquitto\mosquitto_passwd.exe" -b "C:\Program Files (x86)\mosquitto\pwfile" username password
  • 修改 "C:\Program Files (x86)\mosquitto\mosquitto.conf",加入 password_file C:\Program Files (x86)\mosquitto\pwfile,不可加上雙引號。
  • 打開 cmd.exe,執行 "C:\Program Files (x86)\mosquitto\mosquitto.exe" -v -c "C:\Program Files (x86)\mosquitto\mosquitto.conf"。
  • 打開 cmd.exe,執行 "C:\Program Files (x86)\mosquitto\mosquitto_sub.exe" -h 127.0.0.1 -t test -u username -P password。
  • 打開 cmd.exe,執行 "C:\Program Files (x86)\mosquitto\mosquitto_pub.exe" -h 127.0.0.1 -t test -m "test123" -u username -P password。

TLS-PSK 加密

  • 修改 "C:\Program Files (x86)\mosquitto\mosquitto.conf",加入 psk_hint pass_required。
  • 新增使用者,執行 echo identity:abcde12345> "C:\Program Files (x86)\mosquitto\pskfile",psk password 只能用 16 進位數字,也不能包含空格,所以 5> 中間不能有空格。
  • 修改 "C:\Program Files (x86)\mosquitto\mosquitto.conf",加入 psk_file C:\Program Files (x86)\mosquitto\pskfile,不可加上雙引號。
  • 打開 cmd.exe,執行 "C:\Program Files (x86)\mosquitto\mosquitto.exe" -v -c "C:\Program Files (x86)\mosquitto\mosquitto.conf"。
  • 打開 cmd.exe,執行 "C:\Program Files (x86)\mosquitto\mosquitto_sub.exe" -h 127.0.0.1 -t test -u username -P password --psk abcde12345 --psk-identity identity。
  • 打開 cmd.exe,執行 "C:\Program Files (x86)\mosquitto\mosquitto_pub.exe" -h 127.0.0.1 -t test -m "test123" -u username -P password --psk abcde12345 --psk-identity identity。

參考資料


台南小新 發表在 痞客邦 PIXNET 留言(0) 人氣()

  • Mar 17 Fri 2017 09:58
  • OMCI

  1. OMCI
  2. OLT (Optical line termination)
  3. ONT (Optical network terminals)
  4. G.983.2 : ONT management and control interface specification for B-PON
  5. G.983.7 : ONT management and control interface specification for Dynamic Bandwidth Assignment (DBA) B-PON system
  6. G.984.4 : Gigabit-capable passive optical networks (G-PON): ONT management and control interface specification

台南小新 發表在 痞客邦 PIXNET 留言(0) 人氣()

  • Feb 16 Thu 2017 17:28
  • Qos


台南小新 發表在 痞客邦 PIXNET 留言(0) 人氣()

  • Update your system
    sudo apt-get update
    sudo apt-get upgrade
    
  • Create a git user for GitLab

台南小新 發表在 痞客邦 PIXNET 留言(0) 人氣()

  • Feb 10 Fri 2017 18:42
  • MQTT

MQTT 結構

  • Fixed header: 固定表頭,必需。
  • Variable header: 可變表頭,不必需。
  • Payload: 資料,不必需。

Fixed header 固定表頭

定義 傳輸方向 說明 7 6 5 4 3 2 1 0
Reserved 禁止 保留 0 0 0 0 0 0 0 0 0x00
CONNECT Client→Server 客戶端請求連接 0 0 0 1 0 0 0 0 0x10
CONNACK Server→Client 請求連接確認回覆 0 0 1 0 0 0 0 0 0x20
PUBLISH Client↹Server 發佈消息 0 0 1 1 DUP QOS 0 0x3?
PUBACK Client↹Server QoS1消息發佈收到確認 0 1 0 0 0 0 0 0 0x40
PUBREC Client↹Server QoS2消息發佈收到確認 0 1 0 1 0 0 0 0 0x50
PUBREL Client↹Server QoS2消息發佈釋放 0 1 1 0 0 0 1 0 0x62
PUBCOMP Client↹Server QoS2消息發佈完成 0 1 1 1 0 0 0 0 0x70
SUBSCRIBE Client→Server 客戶端訂閱請求 1 0 0 0 0 0 1 0 0x82
SUBACK Server→Client 訂閱請求確認回覆 1 0 0 1 0 0 0 0 0x90
UNSUBSCRIBE Client→Server 客戶端取消訂閱請求 1 0 1 0 0 0 1 0 0xA2
UNSUBACK Server→Client 取消訂閱請求確認回覆 1 0 1 1 0 0 0 0 0xB0
PINGREQ Client→Server 客戶端心跳請求 1 1 0 0 0 0 0 0 0xC0
PINGRESP Server→Client 心跳請求確認回覆 1 1 0 1 0 0 0 0 0xD0
DISCONNECT Client→Server 客戶端中斷連接 1 1 1 0 0 0 0 0 0xE0
Reserved 禁止 保留 1 1 1 1 0 0 0 0 0xF0

....

參考資料


台南小新 發表在 痞客邦 PIXNET 留言(0) 人氣()