1. 前言
  上一小结说了插件的创建,这一节主要怎么编写代码,以及具体流程之类的。
2. 增加一句Hello World
  修改 ./deps/emq_plugin_wunaozai/src/emq_plugin_wunaozai.erl 增加一行Hello World

  增加后,保存

 make clean
make
cp -r ebin ../../_rel/emqttd/lib/emq_plugin_wunaozai-2.3.

  这样就把最新版本复制到_rel 目录下了。

  回到eqm-relx 目录

 ./_rel/emqttd/bin/emqttd console

3. 重新加载/卸载插件

 ./_rel/emqttd/bin/emqttd_ctl plugins unload emq_plugin_wunaozai
./_rel/emqttd/bin/emqttd_ctl plugins load emq_plugin_wunaozai

  下面是运行效果,可以看见,重新打印Hello World ,表示重新加载了

4. 开启热加载
  启动官方提供的热加载插件,可以通过上面那种./emqttd_ctl 进行加载,或者管理界面加载

  我们重新修改./emq-relx/deps/emq_plugin_wunaozai/src/emq_plugin_wunaozai.erl 把刚才的Hello World 改成 Test Reload.
  然后

 make clean
make
cp -r ebin ../../_rel/emqttd/lib/emq_plugin_wunaozai-2.3.

  然后看emq-relx/_rel/emqttd/log/reloader.log

  下面红框圈住的就是我执行 cp 复制是触发的重新加载。
  注意,如果此时你有看刚才 ./_rel/emqttd/bin/emqttd console 启动后的那个打印,就知道,这个热启动,是没有打印 start wunaozai Test Reload. 这一行信息的。
  通过 ./_rel/emqttd/bin/emqttd_ctl reload emq_plugin_wunaozai 这个命令,也是只打印log/reloader.log 日志,而不触发load事件。
  而通过

 ./_rel/emqttd/bin/emqttd_ctl plugins unload emq_plugin_wunaozai
./_rel/emqttd/bin/emqttd_ctl plugins load emq_plugin_wunaozai

  或者在 web控制台,

  点击stop 然后start 就会打印 Test Reload. 触发load事件

5. 说明
  通过上述说明一个事,就是在开发过程中, 可以先用console模式开启EMQ服务,然后开启热加载模块插件,然后在emq-relx/deps 写插件代码,然后通过脚本make clean && make && cp 把插件拷贝到运行环境中。Erlang 是支持热部署的。

物联网架构成长之路(5)-EMQ插件配置的更多相关文章

  1. 物联网架构成长之路(4)-EMQ插件创建

    1. 说明 以下用到的知识,是建立在我目前所知道的知识领域,以后如果随着知识的拓展,不一定会更新内容.由于不是EMQ公司的人,EMQ的文档又很少,很多知识点都是靠猜的.2. 一些资料 架构设计 htt ...

  2. 物联网架构成长之路(31)-EMQ基于HTTP权限验证

    看过之前的文章就知道,我之前是通过搞插件,或者通过里面的MongoDB来进行EMQ的鉴权登录和权限验证.但是前段时间发现,还是通过HTTP WebHook 方式来调用鉴权接口比较适合实际使用.还是实现 ...

  3. 物联网架构成长之路(33)-EMQ数据存储到influxDB

    一.前言 时隔一年半,技术变化特别快,学习也要跟上才行.以前写过EMQ数据转存问题,当时用了比较笨的方法,通过写插件的方式,把MQTT里面的数据发送到数据库进行存储.当时也是为了学习erlang和em ...

  4. 物联网架构成长之路(3)-EMQ消息服务器了解

    1. 了解 物联网最基础的就是通信了.通信协议,物联网协议好像有那么几个,以前各个协议都有优劣,最近一段时间,好像各大厂商都采用MQTT协议,所以我也不例外,不搞特殊,采用MQTT协议,选定了协议,接 ...

  5. 物联网架构成长之路(6)-EMQ权限控制

    1. 前言 EMQTT属于一个比较小众的开源软件,很多资料不全,很麻烦,很多功能都是靠猜测,还有就是看官方提供的那几个插件,了解. 2. 说明 上一小节的插件 emq_plugin_wunaozai ...

  6. 物联网架构成长之路(7)-EMQ权限验证小结

    1. 前言 经过前面几小节,讲了一下插件开发,这一小节主要对一些代码和目录结构进行讲解,这些都是测试过程中一些个人经验,不一定是官方做法.而且也有可能会因为版本不一致导致差异. 2. 目录结构 这个目 ...

  7. 物联网架构成长之路(25)-Docker构建项目用到的镜像1

    0. 前言 现在项目处于初级阶段,按照规划,先构建几个以后可能会用到的Image,并上传到阿里云的Docker仓库.以后博客中用到的Image,大部分都会用到这几个基础的Image,构建一个简单的物联 ...

  8. 物联网架构成长之路(32)-SpringBoot集成MQTT客户端

    一.前言 这里虽然是说MQTT客户端.其实对于服务器来说,这里的一个具有超级权限的MQTT客户端,就可以做很多事情.比如手机APP或者网页或者第三方服务需要发送数据到设备,但是这些又不是设备,又不能让 ...

  9. 物联网架构成长之路(8)-EMQ-Hook了解、连接Kafka发送消息

    1. 前言 按照我自己设计的物联网框架,对于MQTT集群中的所有消息,是要持久化到磁盘的,这里采用一个消息队列中间件Kafka作为数据缓冲,缓冲结果存到数据仓库中,以供后续作为数据分析.由于MQTT集 ...

随机推荐

  1. Laravel 核心概念

    工欲善其事,必先利其器.在开发Xblog的过程中,稍微领悟了一点Laravel的思想.确实如此,这篇文章读完你可能并不能从无到有写出一个博客,但知道Laravel的核心概念之后,当你再次写起Larav ...

  2. 使用metasploit做SNMP扫描和利用

    使用MSF用于SNMP扫描 auxiliary/scanner/snmp/snmp_login 介绍 补充知识: 在执行SNMP扫描之前,需要了解几件事情.首先,“只读”和“读写”团体名(commun ...

  3. 【随笔】借鉴 & KPI式设计

    1. 别人(某成功案例)是这么做的,我们也就这么做吧 刚来组里一会就目睹了需求讨论会上的一场争执,大概就是某产品经理在解释需求解释到后面有些说不通了就说“xxx App是这么做的我觉得我们也可以这样做 ...

  4. VB.NET只允许打开一个实例

    If UBound(Diagnostics.Process.GetProcessesByName(Diagnostics.Process.GetCurrentProcess.ProcessName)) ...

  5. grpc 使用总结

    1.grpc支持多种语言,需要根据pb文件创建出相应java文件. 2.构建服务端. 3.构建客户端. 4.grpc对象基于创建者模式.

  6. 5.27 Test

    1.COGS.2039. 树的统计 思路: 各种方法. 代码: 1.遍历树1   时间 0.314 s   平均内存 2.96 MB #include<cstdio> using name ...

  7. 洛谷.2219.[HAOI2007]修筑绿化带(单调队列)

    题目链接 洛谷 COGS.24 对于大的矩阵可以枚举:对于小的矩阵,需要在满足条件的区域求一个矩形和的最小值 预处理S2[i][j]表示以(i,j)为右下角的C\(*\)D的矩阵和, 然后对于求矩形区 ...

  8. RouterOS双线进行IP分流上网

    环境: 1.第一条:电信静态IP,一级路由分配的IP:第二条:移动光纤 2.通过指定某些IP走电信,某些走移动 注意: 1.当有多条线路进行NAT伪装时,Out. Interface这个必须选择具体的 ...

  9. 奇怪吸引子---GenesioTesi

    奇怪吸引子是混沌学的重要组成理论,用于演化过程的终极状态,具有如下特征:终极性.稳定性.吸引性.吸引子是一个数学概念,描写运动的收敛类型.它是指这样的一个集合,当时间趋于无穷大时,在任何一个有界集上出 ...

  10. C#中Split用法【转】

    https://www.cnblogs.com/webenh/p/6570801.html 1.用字符串分隔: using System.Text.RegularExpressions;string  ...