MQTT筆記
Contents
什麼是 MQTT ?
一種在應用層的比HTTP還輕量之通訊協議,常常被物聯網所使用。至於他的核心在於有一個名詞名為Broker
,負責讓大家subscribe
和publish
。
作為 Client 端一旦與這個Broker
連結之後,他可以sub
也可以pub
。
使用 Dockerfile 起 MQTT Broker
其實網路上有很多教學再告訴你怎麼架設一個 MQTT Broker, 目前市面上分佈最廣的的是開源專案:Mosquitto
, 不過我這裡為了方便示例與教學,就使用Dockerfile
來快速啟動,而他也是Mosquitto
提供的image。
|
|
Let’s Try MQTT, 以 Python 為例
我們這邊就需要有人去訂閱以及發布它,建立兩個python
檔案分別做subscribe
和publish
建立subscribe.py
|
|
建立publish.py
|
|
然後讓我們先在終端機上面執行subscribe.py
: python subscribe.py
之後再開一個新終端機或者另一個tab執行publish.py
: python publish.py
之後你會在subscribe.py
那個畫面看到publish
的訊息喔
啊publish
不只是可以傳送文字、也可以傳送bytearray
,當sub
端接收到這些bytearray
時就可以實現建立檔案,這樣 MQTT 也可以傳送檔案了。
關於 MQTT & Security
至於 MQTT 肯定是要考慮一些安全的部分。老實講我在MQTT
是個初心者。。。
但有上網找到這一篇文章,值得大家參考 [物聯網協定與資安的距離] MQTT 通訊協定淺談
小君曰: 第一次碰 MQTT 耶