zoukankan      html  css  js  c++  java
  • 物联网架构成长之路(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
      这里我通过网页进行加载插件。

      到这里,插件的创建就完成了。
      下一小节,讲一下插件里的一些配置。

  • 相关阅读:
    paip.提升性能---- 网站并发数的总结.txt
    paip.mysql 5.6 安装总结
    UIView上添加了一个按钮和一个单击手势的事件相应,互相不影响的处理方法。。
    paip.mysql备份慢的解决
    paip.输入法编程---词频顺序order by py
    paip.超实用 360浏览器最近频繁奔溃解决流程.
    hdu 4044 GeoDefense (树形dp | 多叉树转二叉树)
    给定一个字符串,仅由a,b,c 3种小写字母组成。
    汉语-词语:心境2
    汉语-词语:休咎
  • 原文地址:https://www.cnblogs.com/wunaozai/p/8120075.html
Copyright © 2011-2022 走看看