【物联网07】创建EMQ插件

高手博客传送门(https://www.cnblogs.com/wunaozai/p/8120075.html)

接下来是我参照高手博客的步骤

做以下步骤的前提是我已经成功编译了EMQ3.0,并且可以在windows端通过IP和端口来访问EMQ的DashBoard。
1.进入/emq-relx/deps目录,里面有个emqx_plugin_template是插件模板
执行以下命令:

cp -r emqx_plugin_template emqx_plugin_kafka		//复制一份出来进行修改
cd ..							//返回上级目录
vi relx.config			//修改./emq-relx/relx.config

----------------------------------------------------------------------------
{emqx_plugin_kafka,load}		//文件第52行增加该语句
-----------------------------------------------------------------------------

cd /usr/local/emq-relx/data/
vi loaded_plugins			//配置默认启动插件

----------------------------------------------------------
emqx_plugin_kafka.				//末尾添加这句
-----------------------------------------------------------

cd /usr/local/emq-relx
vi Makefile

--------------------------------------------------------------------------
emqx-plugin-kafka			//在第13行OUR_APPS =...后面添加该语句
---------------------------------------------------------------------------

rm -rf _rel
make clean
make

此时出现的问题

第一次make时出现的问题

继续执行以下步骤

2.修改emqx_plugin_kafka插件
进入/usr/local/emq-relx/deps/emqx_plugin_kafka/目录下:执行make clean

  • 修改etc文件夹:emqx_plugin_template.config标题和内容的“template”为“kafka”
  • 修改src文件夹:首先修改文件名;
    然后修改三个demo中的引用为修改后的名字,如:-module(emqx_acl_demo_kafka).;
    最后内容中给的“template”修改为“kafka”;

文件名修改前
文件名修改前
文件名修改后:
文件名修改后

  • 修改test文件夹:emqx_plugin_template_SUITE.erl文件名与文件中的“template”修改为“kafka”

3.修改/usr/local/emq-relx/deps/emqx_plugin_kafka/中Makefile文件内容中的“template”修改为“kafka”

4.继续执行下列命令

cd /usr/local/emq-relx
make

出现和上面相同的问题(该问题是因为我移动了安装好后的otp_src_21.0却没有设置环境变量)
解决如下:

vi /etc/profile		//设置以下环境变量
---------------------------------------------------------------
#erl enviroment
export PATH=/home/erl/bin/:$PATH

#emq enviroment
export PATH=/usr/local/emq-relx/_rel/emqx/bin/:$PATH
----------------------------------------------------------------

cd .. (返回local目录下)
git clone git://github.com/rebar/rebar.git
cd rebar
./bootstrap
vi /etc/profile

------------------------------------
//增加的内容
#rebar enviroment
export PATH=/usr/local/rebar:$PATH
-------------------------------------

//接下来重新编译
cd /usr/local/emq-relx
make clean
make

编译成功后如图:
在这里插入图片描述
6.启动EMQ,打开windows浏览器查看,可以看到我们自己的插件已经被添加进去了。

在这里插入图片描述

7.测试一下

修改:/usr/local/emq-relx/deps/emqx_plugin_kafka/src/emqx_plugin_kafka.er
添加语句: io:format(“start kafka Hello World~n,[]”).

回到目录:/usr/local/emq-relx/deps/emqx_plugin_kafka/
执行:make clean && make

此时生成新的ebin文件
执行:cp -r ebin /usr/local/emq-relx/_rel/emqx/lib/emqx_plugin_kafka-3.0/
(覆盖原来的ebin)

执行:emqx console
打印了我们刚才添加输出的语句:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值