物聯網架構成長之路 4 EMQ外掛程式建立

2022-04-19 11:26:43 字數 1755 閱讀 6645

1. 說明

以下用到的知識,是建立在我目前所知道的知識領域,以後如果隨著知識的拓展,不一定會更新內容。由於不是emq公司的人,emq的文件又很少,很多知識點都是靠猜的。

2. 一些資料

架構設計

擴充套件外掛程式  一些自帶的外掛程式

3. 寫外掛程式

cp -r emp_plugin_template emp_plugin_wunaozai

在./emq-relx/relx.config 檔案中 52行增加

在./emq-relx/data/loaded_plugins 檔案 可以配置一些預設啟動的外掛程式

在./emq-relx/makefile 檔案中 13行,可以增加emq_plugin_wunaozai 這樣在make的時候會呼叫編譯

先 rm -rf _rel 清空之前編譯的結果,注意之前沒有停止的先進行停止服務。

1 ./_rel/mqttd/bin/meqqd stop

2rm -rf _rel

3make

clean

4make

嗯,這個時候肯定編譯不過,因為剛才複製的 emq_plugin_wunaozai 裡面很多檔案都要進行修改。

下圖是修改前

具體修改如下:

(1) 首先把所有的檔名都修改,具體如下

其中 ebin 目錄通過 make clean 進行清除即可。

(2) 修改makefile 檔案

可以修改專案名稱,描述,版本之類的資訊,後面外掛程式功能變多了的話, 就可以在這裡增加必要的依賴包。

(3)修改./etc/emq_plugin_wunaozai.config 配置檔案,這些就是一些配置資訊。進行修改。

(4)修改./test/emq_plugin_wunaozai_suite 這個是單元測試檔案,進行修改。

(5)修改./src/*.erl 所有檔案

上述檔案的修改,還是比較簡單的,就是把template改為wunaozai即可。沒什麼難度,編譯不通過,就表示沒有修改全。

4. 編譯外掛程式

回到 emq_relx 目錄,執行rm -rf _rel && make clean && make 然後就看效果了。看到如下介面就表示外掛程式編譯通過。這個過程,可能會出現各式各樣的編譯不通過,就是外掛程式修改的不徹底,再看看,就可以了。

如下圖所示,就是外掛程式編譯好了。

我們啟動一下emqttd

./_rel_emqttd/bin/emqttd console

預設我們自己的外掛程式是沒有載入的,可以通過dashboard網頁管理介面進行載入,也可以通過 emqttd_ctl plugin load emq_plugin_wunaozai

這裡我通過網頁進行載入外掛程式。

到這裡,外掛程式的建立就完成了。

下一小節,講一下外掛程式裡的一些配置。

物聯網架構成長之路 1 前言

自從工作後,特別是最近一年,都沒有怎麼更新過部落格,主要是本身工作內部沒有什麼高大上的內容,就是一些簡單的企業級開發,沒有多少技術含量,更多的是對業務的了解和抽象,所以就不怎麼想寫。其實呢,平時也有多當今前沿技術進行了解,所以更主要的原因是因為自己懶。現在好了,公司有意嚮往物聯網發展了,讓我先調研一...

物聯網架構成長之路 0 目錄

零 說明 說明一下,我寫的部落格,都是我自己實踐後,寫下記錄,方便以後自己看而已。沒有什麼系統的教學教程。也沒有對底層的原理進行講解,我覺得這些目前不是我需要注重的,作為乙個開發人員,快速實現好需求才是最重要的。而作為一名合格的架構負責人,又必須了解底層,因此需要系統學習的,建議讀者看官方文件或者對...

物聯網架構成長之路 1 前言

自從工作後,特別是最近一年,都沒有怎麼更新過部落格,主要是本身工作內部沒有什麼高大上的內容,就是一些簡單的企業級開發,沒有多少技術含量,更多的是對業務的了解和抽象,所以就不怎麼想寫。其實呢,平時也有多當今前沿技術進行了解,所以更主要的原因是因為自己懶。現在好了,公司有意嚮往物聯網發展了,讓我先調研一...