前言

EMQ 是一款开源的物联网 MQTT 消息服务器,使用 Erlang/OTP 语言平台设计,在 DIY 智能家居时可以作为网关,前几天摸索了一下在树莓派中安装 EMQ 的方法,记录一下。

步骤

安装 Erlang

sudo apt-get install erlang-dev erlang-edoc erlang-eunit erlang-reltool erlang-crypto erlang-eldap erlang-public-key erlang-runtime-tools erlang-ssl -y
sudo apt-get install wget libssl-dev ncurses-dev -y

从源码编译安装 OTP,编译需要安装 Java 运行环境,参考这篇

sudo apt-get install libssl1.0-dev unixodbc unixodbc-dev xsltproc fop libxml2-utils -y
wget http://www.erlang.org/download/otp_src_19.3.tar.gz
tar -zxvf otp_src_19.3.tar.gz
cd otp_src_19.3/
./configure

提示“wxWidgets not found, wx will NOT be usable”

sudo apt-get install libgtk2.0-dev -y
sudo apt-get install libglw1-mesa libglw1-mesa-dev -y
sudo apt-get install freeglut3-dev -y
wget https://github.com/wxWidgets/wxWidgets/releases/download/v3.0.4/wxWidgets-3.0.4.tar.bz2
tar jxvf wxWidgets-3.0.4.tar.bz2
cd wxWidgets-3.0.4/
./configure --enable-unicode --with-opengl
make -j4
sudo make install

回到 OTP 的编译和安装

cd otp_src_19.3/
./configure
make -j4
sudo make install

下载 emq 源码编译安装,make 过程需要联网下载,所以可能需要重试几次

git clone https://github.com/emqtt/emq-relx.git
cd emq-relx
make
sudo cp -r ./_rel/emqttd /usr/local/lib

添加 emq 的 systemd 启动

sudo vim.tiny /lib/systemd/system/emqttd.service

添加内容

[Unit]
Description=emqttd
After=network-online.target [Service]
Type=forking
User=root
Group=root
WorkingDirectory=/usr/local/lib/emqttd
ExecStart=/usr/local/lib/emqttd/bin/emqttd start
ExecStop=/usr/local/lib/emqttd/bin/emqttd stop
Restart=always [Install]
WantedBy=multi-user.target

允许开机启动和启动 emq

sudo systemctl enable emqttd.service
sudo systemctl start emqttd.service

启动成功后在浏览器输入树莓派 IP:18083 即可看到 Dashboard 控制台,具体操作可查看官方文档

树莓派编译安装 EMQ 服务器的更多相关文章

  1. shopnc编译安装IM服务器node.js

    编译安装IM服务器node.js下载地址http://www.nodejs.org/download/ 选择Source Code node-v0.12.0 #  ./configure # make ...

  2. Windows 编译安装 nginx 服务器 + rtmp 模块

    有关博客: <Windows 编译安装 nginx 服务器 + rtmp 模块>.<Ubuntu 编译安装 nginx>.<Arm-Linux 移植 Nginx> ...

  3. 在树莓派1B上编译安装lnmp服务器

    最近一周给部门内部搭建考试系统,选择使用PHPEMS.这是个开源的系统,唯一缺点是PHP的版本比较低,只能使用5.2或5.3.而我的树莓派系统更新后使用apt-get安装得到的PHP版本为5.4.由于 ...

  4. CentOS7 编译安装 Git 服务器 Centos 7.0 + Git 2.2.0 + gitosis (实测 笔记)

    环境: 系统硬件:vmware vsphere (CPU:2*4核,内存2G,双网卡) 系统版本:CentOS-7.0-1406-x86_64-DVD.iso 服务器IP:192.168.1.31 域 ...

  5. 树莓派编译安装opencv3 (2019.1.6更新)

    一.更新系统 sudo apt-get update sudo apt-get upgrade sudo rpi-update #重启系统 sudo reboot 二.安装依赖库及程序 sudo ap ...

  6. 树莓派编译安装 FFmpeg(添加 H.264 硬件编解码器支持)

    说明 FFmpeg 是一套开源的音视频编解码库,有非常强大的功能,包括视频采集功能.视频格式转换等.众所周知视频编解码是一个非常消耗系统资源的过程,而树莓派自带了 H.264 的硬件编解码器,因此本文 ...

  7. linux软件管理之------编译安装nginx服务器并手动编写自动化运行脚本

    红帽系列的 linux软件管理分为三类:1. rpm 安装软件.2. yum 安装软件.3. 源码包编译安装.前面两种会在相关专题给出详细讲解.源码包的编译安装是非常关键的,我们知道linux的相关版 ...

  8. CentOs7.2编译安装Nginx服务器

    1. 安装nginx依赖 首先安装nginx的依赖 yum install gcc gcc-c++ openssl openssl-devel cyrus-sasl-md5 2,创建nginx用户 如 ...

  9. Windows安装EMQ服务器(mqtt)

    先去EMQ官网下载安装包 https://www.emqx.io/downloads#broker 注意:此处一定不能下错成企业版的,不然EMQ会由于缺少企业license无法启动服务 解压到任意路径 ...

随机推荐

  1. javascript——正则表达式(RegExp、String)(未完工)

    在 javascript 中,正则表达式由两部分组成:正则表达式的匹配模式文本:匹配模式文本的修饰符: 修饰符: 修饰符 说明 i 忽略大小写 g 执行全局匹配 m 执行多行匹配 匹配模式文本包括以下 ...

  2. DDD学习笔录——领域驱动设计DDD概念总结

  3. 回调函数(callback)经典解答

    著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处.作者:常溪玲链接:http://www.zhihu.com/question/19801131/answer/13005983来源: ...

  4. Android远程服务(AIDL)实现步骤

    AIDL是安卓接口定义语言的缩写 由于笔者使用的是android studio所以建立AIDL文件的位置也需要注意,要在APPNAME->main->aidl->packagenam ...

  5. [patl2-007]家庭房产

    题目大意:求并查集中集合的个数,及每个集合的详细信息 解题关键:只要不进行unite,集合的根是不会变化的. #include<cstdio> #include<cstring> ...

  6. GitHub Blog创建以及本地管理(转)

    GitHub Blog创建以及本地管理   创建 注册GitHub账户 首页点击新建仓库 New repository repository name必须为 Owner.github.io EX:我的 ...

  7. ArcGIS10拓扑规则-面规则(转)

    ArcGIS10拓扑规则-面规则 原创 2013年12月27日 10:20:44 标签: ArcGIS 1879 ARCGIS 10 里提供的拓扑规则共32种,下面一一介绍: 首先介绍的对于面图层的拓 ...

  8. 获取当前设备的CPU个数

    public class Test { public static void main(String[] args) { //获取当前设备的CPU个数 int availableProcessors ...

  9. 添加超级链接为什么用a标签

    a是anchor的简写,中文意思是锚点,而锚点的引申意思是连接,link已经被html占用了,只能用a来表示连接了.

  10. 数字图像处理实验(5):Proj03-01 ~ Proj03-06 标签: 图像处理matlab 2017-04-30 10:39 184人阅读

    PROJECT 03-01 : Image Enhancement Using Intensity Transformations 实验要求: Objective To manipulate a te ...