物聯網好幫手,COOLPY7帶你進入物聯網的世界

在物聯網通訊中先要解決的就是通訊協議的選擇。

MQTT無異是目前應用的比較廣範的一種。

MQTT是一個基於客戶端-服務器的消息發佈/訂閱傳輸協議。

MQTT協議輕量、簡單、開放和易於實現,這些特點使它適用範圍非常廣泛。

在很多情況下,包括受限的環境中,如:機器與機器(M2M)通信和物聯網(IoT)。

其實,在衛星鏈路通信傳感器、智能家居、及一些小型化設備中已廣泛使用。

物聯網好幫手,COOLPY7帶你進入物聯網的世界

MQTT採用發佈訂閱模式,是消息隊列中最典型的。

怎麼理解發布訂閱呢?其實可以簡單的用一個例子來說明。

譬如說朋友圈,小搜關注了我的一個朋友(這就是訂閱),然後我的朋友發了一條朋友圈(這就是發佈),那麼所有關注了我這個朋友的所有人(當然也包括小搜我)都會看到TA發的這條朋友圈。

物聯網好幫手,COOLPY7帶你進入物聯網的世界

相信大家對這種模式並不陌生。

那麼在我們的物聯網通訊中,雲端服務器和線下硬件(串口服務器)其實也可以基於這種模式進行開發。

目前提供MQTT的雲服務商很多,幾大雲服務商基本上都有提供,費用也各不相同。如果同學們想省去這一塊的費用,那麼下面小搜就展開講述一下,如何利用COOLPY7建立自己的MQTT Broker。

COOLPY7是國人開發的一系列基於 Golang 語言的開源 MQTT 消息服務器。

下文主要講述如何利用COOLPY7搭建MQTT服務器。

首先,我們先去下載COOLPY7,在下載頁,我們Linux的操作系統進行安裝啟動演示:

# 下載服務器端
git clone https://github.com/Coolpy7/Coolpy7.git && cd Coolpy7
# 解壓文件
unzip go_build_Coolpy7_go_linux.zip
# 提權
chmod -R 777 go_build_Coolpy7_go_linux
# 啟動Coolpy7 啟動參數
# l 當前服務Host地址 (默認為:1883即本地1883端口,此參數一般默認即可,無需配置)
# a 連接接入調度器最大線程,此值可防止暴力連接攻擊,對已連接客戶端進行優先保護 (默認值128)

./go_build_Coolpy7_go_linux
# 啟動成功後會打印如下信息,即說明服務端已正常啟動,host於1883端口,請確保相關防火牆配置可用
2018/10/29 12:59:55 Coolpy7 tcp is listening on [::]:1883
  • 一般需為程序提權才可以運行Linux服務,指令:chmod -R 777 go_build_Coolpy7_go_linux

好啦,MQTT Broker有了,我們該怎麼調試呢?

這裡介紹一個小工具mqtt.fx

mqtt.fx是一款小巧的桌面級應用, 可以快速簡單的對mqtt協議進行調試和測試。

物聯網好幫手,COOLPY7帶你進入物聯網的世界

安裝mqtt.fx完畢後,啟動,出現以下界面

物聯網好幫手,COOLPY7帶你進入物聯網的世界

基本上我們用到的軟件部分就是上圖箭頭所指的幾個區域功能。

分別是連接broker,發佈者頁,訂閱者頁。下面上個動圖看下效果

物聯網好幫手,COOLPY7帶你進入物聯網的世界

這期就到這裡啦,有問題的同學可以私信我,下一期我們開始要更加深入了,物聯網需要用到的知識點很多。持續關注小搜讓您對物聯網基礎技術瞭解得更完整。


分享到:


相關文章: