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嗯,這個時候肯定編譯不過,因為剛才複製的 emq_plugin_wunaozai 裡面很多檔案都要進行修改。2rm -rf _rel
3make
clean
4make
下圖是修改前
具體修改如下:
(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 前言
自從工作後,特別是最近一年,都沒有怎麼更新過部落格,主要是本身工作內部沒有什麼高大上的內容,就是一些簡單的企業級開發,沒有多少技術含量,更多的是對業務的了解和抽象,所以就不怎麼想寫。其實呢,平時也有多當今前沿技術進行了解,所以更主要的原因是因為自己懶。現在好了,公司有意嚮往物聯網發展了,讓我先調研一...