由于毕业设计需要一个本地的局域网内智能家居中控,经过多方考虑,翻出了吃灰已久的树莓派3b+,同时EMQ是一款国产的高性能消息代理服务器。功能也挺强大,使用也挺简单。

类别

性能

License

EMQ X Broker

十万级

开源免费

EMQ X Enterprise

百万级

官网免费30天

EMQ X Platform

千万级

付费、享受技术支持

软硬件准备

本文记录如何在树莓派中搭建EMQX,硬软件背景如下:

  • 树莓派3b+
  • 输入arm64架构的系统,(原因是官方没有提供amd64的系统,本文刷入了Ubuntu Mate 18.04

安装Docker Engine-Ubuntu

控诉血泪史,由于技术不到位,EMQX提供的Ubuntu的安装都是amd64位系统架构的,arm64无法安装,期间还试过了下载ZIP文件解压使用和下载EMQ源码编译都以失败告终,最后选择Docker.

Docker

Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。

Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

Docker的应用场景
  • Web 应用的自动化打包和发布。
  • 自动化测试和持续集成、发布。
  • 在服务型环境中部署和调整数据库或其他的后台应用。
  • 从头编译或者扩展现有的 OpenShiftCloud Foundry 平台来搭建自己的 PaaS 环境

安装步骤

  1. 为确保安装顺利,卸载旧的版本:
sudo apt-get remove docker docker-engine docker.io containerd runc

更新apt包索引:

sudo apt-get update
  1. 在新主机上首次安装Docker Engine-Community之前,需要设置Docker存储库。之后,您可以从存储库安装和更新Docker,通过HTTP获取并设置存储库:
sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common
  1. 更新apt索引:
sudo apt-get update
  1. 添加Docker的官方GPG密钥:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88通过搜索指纹的后8个字符,验证您现在是否拥有带有指纹的密钥

  1. 验证密钥:
sudo apt-key fingerprint 0EBFCD88

会有如下反应:

pub   rsa4096 2017-02-22 [SCEA]
      9DC8 5822 9FC7 DD38 854A  E2D8 8D81 803C 0EBF CD88
uid           [ unknown] Docker Release (CE deb) <docker@docker.com>
sub   rsa4096 2017-02-22 [S]
  1. 设置稳定的存储库:

To add the nightly or test repository, add the word nightly or test (or both) after the word stable in the commands below. Learn about nightly and test channels.

sudo add-apt-repository \
   "deb [arch=arm64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"

注意:下面的lsb_release -cs子命令返回Ubuntu发行版的名称,例如xenial。有时,在Linux Mint等发行版中,您可能需要更改$(lsb_release -cs) 为父Ubuntu发行版。例如,如果您使用 Linux Mint Tessa,则可以使用bionic。Docker不对未经测试和不受支持的Ubuntu发行版提供任何保证。

  1. 更新apt索引:
sudo apt-get update
  1. 安装最新版本的Docker Engine-Community和containerd,或者转到下一步安装特定版本:
sudo apt-get install docker-ce docker-ce-cli containerd.io

7.5 要安装特定版本的Docker Engine-Community,请在存储库中列出可用版本,然后选择并安装:

一种。列出您的仓库中可用的版本:

apt-cache madison docker-ce

  docker-ce | 5:18.09.1~3-0~ubuntu-xenial | https://download.docker.com/linux/ubuntu  xenial/stable amd64 Packages
  docker-ce | 5:18.09.0~3-0~ubuntu-xenial | https://download.docker.com/linux/ubuntu  xenial/stable amd64 Packages
  docker-ce | 18.06.1~ce~3-0~ubuntu       | https://download.docker.com/linux/ubuntu  xenial/stable amd64 Packages
  docker-ce | 18.06.0~ce~3-0~ubuntu       | https://download.docker.com/linux/ubuntu  xenial/stable amd64 Packages
  ...
  1. 检查是否成功安装v
docker -v

更多的Docker命令

安装EMQX

  1. 下载所需版本的EMQX版本
  2. 下载对应的.zip后:
unzip emqx-xxxxxxx.zip
  1. 导入本地镜像:
docker load < "解压出来的包名"
  1. 运行容器:
docker run -d --name emqx31 -p 1883:1883 -p 8083:8083 -p 8883:8883 -p 8084:8084 -p 18083:18083 "此处是容器名"

如:

emby硬解 950_emby硬解 950

sudo docker run -d --name emqx31 -p 1883:1883 -p 8083:8083 -p 8883:8883 -p 8084:8084 -p 18083:18083 emqx/emqx:v3.2.7-alpine3.9-arm64v8
  1. 启动emqx
sudo docker start emqx31
  1. 检验是否成功安装:
树莓派ip:18083

初始账号:admin,密码:public