MQTT實作

說在前面-MQTT概念

請先閱讀趙大師對於MQTT的概念教學。

https://swf.com.tw/?p=1002

接下來的實作為依用publisher/MQTT Broker/Subscriber三個區塊來進行實作。

軟硬體選擇

軟體

這次的實作教學是利用ArduBlock來進行教學。

下載網址:http://duinoedu.com/dl/logiciels/arduino/arduino_augmente/version_duinoedu/DERNIERE_VERSION/2_EXPERIMENTAL_VERSION/

請下載最新版本。

cp2102 driver下載:

https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers

硬體選擇:

NodeMcu(cp2102)

引用自:http://www.ifuturetech.org/product/amica-nodemcu-esp8266-lua-cp2102-wifi-development-module-iot-ifuture-baroda-vadodara-gujarat-india/

(

註:說明板子一共有二顆LED可直接由IO控制

D0--GPIO16

D4--GPIO2

選擇腳位時,為避免混淆,請點使用板子正面的腳位加註,並多加一個"D"

)

接線說明

利用D4接一個LED模組或者是利用NodeMCU板上的LED來作觀察.

MQTT Broker註冊

選擇至https://io.adafruit.com/註冊一個帳號

至網頁最下面點選

點選CREATE ACCOUNT

建立控制界面

註冊完畢後,再重回https://io.adafruit.com/

建立一個新的dashboard(儀表板)

對所建立的儀表板,選擇名稱及描述。

建立模組時,會要求一個feed。

在BLOCK設定時 ,因為ArduBlock接收時,是數字。所以在下行設定時,需改用1及0。

.

ArduBlock的操作

打開所下載的Arduino IDE,後開啓ArduBlock ESP

登入WIFI,請輸入帳密。

接下來要輸入Adafruit所以申請的帳號及key

接下來開始設定接收由Adfruit 所發送過的訊

並由所接收的訊息,判斷後執行相應的燈光動作。

上傳完成的ArdBlock程式碼後,回到io.adfuit.com,執行按鈕控制燈光動作。

溫溼度顯示設定

接線是D2腳位 ,接上溫溼度模組。

創建新模組

選擇feed,因為我們之前並沒有先建立,所以選擇新建。

建立溫度及溼度的feed

輸入溫溼度模組設定

調整模組版面

設定版面

輸入溫溼度模組設定

上傳之後,回到io.adfuit.com,即可以看到執行情況