iOS x IoT ( 4 ) — 建立 MQTT Broker
本系列文旨在實驗一個用iOS App接收資料的微型物聯網(IoT)架構。
上個章節我們成功建立了一個 Ubuntu 系統的 Server,接下來要在這台 Server 裡面建立 MQTT Broker。
忘記 Broker 是什麼?可以點回去連結複習一下!
我們將會使用 Eclipse 的 mosquitto 來建立 Broker。
mosquitto 是一個非常有名的 open source ( Github連結 ),你可以用它建立一個 MQTT Broker,甚至可以在作業系統裡建立一個 MQTT 客戶端 ( client )。它還提供了 Windows、Mac 以及各種主流 Linux 系統 ( ex:Debian、FreeBSD、Ubuntu 等) 的安裝方法。
mosquitto 提供了 4 種 Broker 認證方法:無認證、帳號 / 密碼、預先共享金鑰( Pre-shared Key )、憑證加密,這篇文章會先採用無認證的方式建立。
大致了解一下,我們就開始建立 Broker 吧!
請注意!以下步驟務必使用 Chrome 瀏覽器,方能順利進行。
📕 使用 mosquitto 建立 Broker
1. 在瀏覽器開啟命令列視窗:
打開 Chrome 瀏覽器,進入 GCP 專案的 VM 執行個體頁面,點選連線底下的:在瀏覽器視窗中開啟選項,就能打開命令列介面 ( 終端機 )。
2. 在命令列視窗中,依序執行以下 command:
📍 下載 mosquitto 程式庫:
sudo apt-add-repository ppa:mosquitto-dev/mosquitto-ppa
📍 更新程式庫:
sudo apt-get update
📍 安裝 mosquitto:
sudo apt-get install mosquitto
📍 確認運行:安裝好後,Broker 會自動開始運行。
sudo service mosquitto status
📗 開啟 Server 防火牆的 Port : 1883
這個步驟非常重要,mosquitto 的 Broker 通訊埠號 ( Port ) 預設為 1883,因此,我們要在 Server 的防火牆上開個通道,允許外界透過這個通道跟 MQTT Broker 溝通。
1. 左上方打開資訊欄 ▶️ VPC 網路 ▶️ 防火牆規則。
2. 建立防火牆規則。
3. 如下圖詳細設定後,點擊建立。
4. 等待一小段時間後,便會建立成功。
5. 測試:
如果想要測試 Broker 是否能正常運行,可以使用 MQTTLens,它是一個 Chrome 瀏覽器的應用程式,使用方式請參考另一位大大的文章:
📝 小結
完成上面的步驟,我們成功在雲端的 Server 裡面建立了 MQTT Broker,下一章,我們將進入 Arduino 裝置的部分,建立一個簡易的溫溼度感測電路!
如果您覺得這篇文章還不錯或有幫助請幫我按個一兩下[拍手👏]給我點鼓勵吧!另外,您對文章內容有任何問題或發現錯誤,請不吝指正,強烈歡迎留言討論💬!
系列文章連結:
iOSxIoT(1) — Overview
iOSxIoT(2) — MQTT簡介
iOSxIoT(3) — 建立雲端Server
iOSxIoT(4) — 建立MQTT Broker
iOSxIoT(5) — Arduino Uno+ESP8266+DHT-22
iOSxIoT(6) — iOS溫濕度顯示器&總結