物聯網架構成長之路(4)-EMQ插件創建


1. 說明
  以下用到的知識,是建立在我目前所知道的知識領域,以后如果隨着知識的拓展,不一定會更新內容。由於不是EMQ公司的人,EMQ的文檔又很少,很多知識點都是靠猜的。
2. 一些資料
  架構設計 http://emqtt.com/docs/v2/design.html
  擴展插件 http://emqtt.com/docs/v2/plugins.html  一些自帶的插件
3. 寫插件
  經過上一篇博客講解的,編譯_relx后,在deps目錄下就會包含了所有依賴包以及插件包,在這個目錄下有個emq_plugin_template,這個就是插件模版
  cp -r emp_plugin_template emp_plugin_wunaozai
  在./emq-relx/relx.config 文件中 52行增加
  {emq_plugin_wunaozai, load}
  在./emq-relx/data/loaded_plugins 文件 可以配置一些默認啟動的插件
  在./emq-relx/Makefile 文件中 13行,可以增加emq_plugin_wunaozai 這樣在make的時候會調用編譯
  先 rm -rf _rel 清空之前編譯的結果,注意之前沒有停止的先進行停止服務。

1 ./_rel/mqttd/bin/meqqd stop
2 rm -rf _rel
3 make clean
4 make

  嗯,這個時候肯定編譯不過,因為剛才復制的 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
  這里我通過網頁進行加載插件。

  到這里,插件的創建就完成了。
  下一小節,講一下插件里的一些配置。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM