前言
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 控制台,具体操作可查看官方文档