Skip to content

Home_zh

Samson Chen edited this page May 13, 2021 · 11 revisions

TLS-IoT-Tools

open-tls-iot-client

關於本計畫

Open TLS IoT Client 開源計畫的是建立一個高度安全的點對點 MQTT 通信來控制終端物聯網裝置。例如你想用手機控制你的電動門,一個絕對安全的通訊控制方法是必要的,這個開源計畫就是為了達成這個目的,其目標是建立一個手機 app 可以支援下列功能:

  • 僅能透過 X.509 憑證金鑰組來驗證與通信加密 (不支援傳統非加密 MQTT)
  • 可對 MQTT Broker 進行 Root CA 驗證
  • 支援 Face ID / Touch ID
  • 可防止中間人攻擊
  • IoT 裝置無需透過 NAT Port Forward 來控制

Conceptual Architecture

本開源計畫由串雲科技官方支持。

本計畫包含下列主要子計畫

Folder Description
esp32 以 ESP32 做為範例,可被控制的 IoT 裝置原始程式碼
ios iOS app TLS IoT Tool 原始程式碼
test_tools 可模擬 IoT 裝置的測試工具原始程式碼
ifttt_webhook 可整合 IFTTT 用於 AWS IoT 的 Lambda 函數原始程式碼

其它相關資訊

各子計畫皆有各自的 README, 請參考各自的頁面。版權與計畫貢獻者名單請參考計畫主頁。

The project page (in English)

Back to Open TLS IoT Wiki (in English)

App

Open TLS MQTT Client in iOS

Open TLS iOS App

目前尚無 Android 版,若您有興趣成為 Contributor,請與我們聯繫。

使用範例與源起

最原本的計畫,只是想要改裝一個可以透過手機來控制車庫大門的裝置,裝置本身並不困難,然而,找遍了所有的 app,找不到一個夠安全的通訊方法可以控置那個裝置,畢竟控制的是大門。大部份的通用型的 app,控制的方法不外乎是 Restful 或者是一般的 MQTT,但是那兩種方法都非常的不安全,如果是 Restful,還需要把路由器 NAT Port Forward 開啟,那更是不安全中的不安全。最終,為了達成我心中理想的通訊方法,創造一個簡單易用且使用高等級安全通訊方法的 app,乾脆重啟整個計畫,重新開發一整套系統。既然重新開發,不如把整套系統開源出來供獻給社群,不論是要拿來自用,或者開發另一個商品,甚至只是學習或教學用,都沒有關係。也希望未來有更多的社群朋友可以將這個開源方案發揚光大。

這是 app 的主畫面:

The app main screen

是是用 ESP32-PICO-MINI-02 打造出來的控制裝置:

The remote control box

簡單的展示影片看看這整套系統可以怎麼運作:

final testing

更多的影片資料,請參考完整的影片記錄資料.

使用說明與技術資料