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