【自用】云服务器 使用 docker 搭建 HomeAssistant + MQTT 物联网平台

这篇具有很好参考价值的文章主要介绍了【自用】云服务器 使用 docker 搭建 HomeAssistant + MQTT 物联网平台。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

总览

1.搭建流程概述
2.准备工作
3.开始搭建!
4.总结
如果想看 ESP32 或其他使用 MicroPython 编程的单片机如何连接到该云服务器,实现 HomeAssistant 控制 单片机的内容,请看我这篇博客的下一篇。

一、搭建流程概述

0.总体流程

我们需要先有一台云服务器,然后在上面搭建 docker(用宝塔傻瓜式搭建就行了,一会儿我会写怎么搭建),再用 docker 创建 2个 容器,它们分别装着 HomeAssistant 和 MQTT,这相当于我们在 1个 云服务器 上 运行了 2个 “服务(服务器)”。MQTT 网络信协议的具体内容如下,可以把它想象成一个 用于连接 ESP32物联网终端 和 HomeAssistant 平台 的 中转站:

【自用】云服务器 使用 docker 搭建 HomeAssistant + MQTT 物联网平台,ESP32-S3,Linux,服务器,服务器,docker,物联网,嵌入式硬件,单片机,ESP32

【自用】云服务器 使用 docker 搭建 HomeAssistant + MQTT 物联网平台,ESP32-S3,Linux,服务器,服务器,docker,物联网,嵌入式硬件,单片机,ESP32


二、准备工作

0.购买云服务器

0.1 买一台云服务器(什么阿某云、腾某云、华某云随便,轻量型服务器应该就够用了,看自己。不会买的自己搜去)

1.个人PC上暂时需要下载的软件或服务

1.1 Xshell(用于访问云服务器,没有安装的话自己去搜安装xshell的安装和使用教程,想要控制云服务器没有xshell…除非你用其他的终端访问软件)

2.云服务器上暂时需要下载的软件和服务

2.1 宝塔(用于更简便地使用docker和其他操作)


三、搭建工作开始

1.使用宝塔,访问你的云服务器,并傻瓜式安装 docker

点击左侧栏的 docker,你的页面上应该有一个“安装”。点击后,就进行安装,时间可能会较长,请耐心等待直到安装完成。

【自用】云服务器 使用 docker 搭建 HomeAssistant + MQTT 物联网平台,ESP32-S3,Linux,服务器,服务器,docker,物联网,嵌入式硬件,单片机,ESP32

2.docker 安装完成后,直接拉取 HomeAssistant 镜像

2.1 拉取 HomeAssistant
docker -> 镜像 -> 从仓库中拉取 -> 填入内容:homeassistant/home-assistant:latest -> 确认
【自用】云服务器 使用 docker 搭建 HomeAssistant + MQTT 物联网平台,ESP32-S3,Linux,服务器,服务器,docker,物联网,嵌入式硬件,单片机,ESP32

2.2 安装 HomeAssistant 步骤:

【自用】云服务器 使用 docker 搭建 HomeAssistant + MQTT 物联网平台,ESP32-S3,Linux,服务器,服务器,docker,物联网,嵌入式硬件,单片机,ESP32【自用】云服务器 使用 docker 搭建 HomeAssistant + MQTT 物联网平台,ESP32-S3,Linux,服务器,服务器,docker,物联网,嵌入式硬件,单片机,ESP32

3.创建 docker 容器

3.1 创建容器文件夹
文件 -> 进入到 根目录下的 home/你的用户名/ 路径下,新建一个文件夹“homeassistant-config”,如图所示。
【自用】云服务器 使用 docker 搭建 HomeAssistant + MQTT 物联网平台,ESP32-S3,Linux,服务器,服务器,docker,物联网,嵌入式硬件,单片机,ESP323.2 打开终端,开始创建容器

【自用】云服务器 使用 docker 搭建 HomeAssistant + MQTT 物联网平台,ESP32-S3,Linux,服务器,服务器,docker,物联网,嵌入式硬件,单片机,ESP32

3.3 输入创建容器命令,并回车:

sudo docker run -d --name="homeassistant-v1" -v xxx:/config -p 8123:8123 homeassistant/home-assistant:latest

请注意!上面的命令中“xxx”是创建容器的路径,应替换为你自己的路径!!!如我的命令改为了:

sudo docker run -d --name="homeassistant-v1" -v /home/admin/homeassistant-config:/config -p 8123:8123 homeassistant/home-assistant:latest

3.4 创建容器成功

运行命令没有报错,去看看你刚才创建的空文件夹,现在如果已经有东西了则创建成功。如下面这样:

【自用】云服务器 使用 docker 搭建 HomeAssistant + MQTT 物联网平台,ESP32-S3,Linux,服务器,服务器,docker,物联网,嵌入式硬件,单片机,ESP32

4.开放 云服务器 防火墙 8123 端口

4.1 开放端口
我也懒得写了,你直接在宝塔的终端里或者其他什么软件xshell之类的,只要能进到云服务器终端里就行,依次运行如下命令:

firewall-cmd --add-port=8123/tcp --permanent
firewall-cmd --reload

4.2 查看端口是否开放,你能看到 8123/tcp 代表开放成功

firewall-cmd --list-ports

【自用】云服务器 使用 docker 搭建 HomeAssistant + MQTT 物联网平台,ESP32-S3,Linux,服务器,服务器,docker,物联网,嵌入式硬件,单片机,ESP324.3 在云平台上开放端口

这个根据你使用的是什么云,自已找找,你的服务器的防火墙选项,添加端口即可(我演示的是阿里云):

【自用】云服务器 使用 docker 搭建 HomeAssistant + MQTT 物联网平台,ESP32-S3,Linux,服务器,服务器,docker,物联网,嵌入式硬件,单片机,ESP32

5.配置 HomeAssistant

5.1 访问 HomeAssistant

使用你的ip:8123的方式来访问 HomeAssistant 网页。如你的云服务器外网ip如果是182.96.213.203,那么你就在浏览器里访问如下网址:(我只是举个例子,你别填182.96.213.203,填你自己的服务器外网IP!)

182.96.213.203:8123

【自用】云服务器 使用 docker 搭建 HomeAssistant + MQTT 物联网平台,ESP32-S3,Linux,服务器,服务器,docker,物联网,嵌入式硬件,单片机,ESP32

6.安装 MQTT 服务器

6.1 访问 EMQX 官网下载区
https://www.emqx.io/zh/downloads
6.2 运行命令 将 EMQX 放入 docker 中
分别在服务器终端上执行下面图中的“获取Docker镜像”和“启动Docker容器”的两段代码。

代码片1:

docker pull emqx/emqx:5.1.4

代码片2:

docker run -d --name emqx -p 1883:1883 -p 8083:8083 -p 8084:8084 -p 8883:8883 -p 18083:18083 emqx/emqx:5.1.4

【自用】云服务器 使用 docker 搭建 HomeAssistant + MQTT 物联网平台,ESP32-S3,Linux,服务器,服务器,docker,物联网,嵌入式硬件,单片机,ESP32

6.3 EMQX 下载完成后,查看是否 EMQX 已经在 docker 中:

使用命令:

sudo docker ps

【自用】云服务器 使用 docker 搭建 HomeAssistant + MQTT 物联网平台,ESP32-S3,Linux,服务器,服务器,docker,物联网,嵌入式硬件,单片机,ESP32

6.4 开放防火墙上的 18083 和 1883 端口

6.4.1 依次运行命令,开放端口并重启防火墙使其生效:

firewall-cmd --add-port=18083/tcp --permanent

firewall-cmd --add-port=1883/tcp --permanent

firewall-cmd --reload

6.4.2 运行如下命令,看是否我们已经开放了 18083 和 1883 端口:

firewall-cmd --list-ports

【自用】云服务器 使用 docker 搭建 HomeAssistant + MQTT 物联网平台,ESP32-S3,Linux,服务器,服务器,docker,物联网,嵌入式硬件,单片机,ESP32

6.4.3 在服务器控制台上开放 18083 和 1883 端口:

【自用】云服务器 使用 docker 搭建 HomeAssistant + MQTT 物联网平台,ESP32-S3,Linux,服务器,服务器,docker,物联网,嵌入式硬件,单片机,ESP32

6.5 访问 EMQX 网站
6.5.1 URL :
http://xxx.xxx.xxx.xxx:18083
xxx.xxx.xxx.xxx 代表你云服务器的公网IP地址

【自用】云服务器 使用 docker 搭建 HomeAssistant + MQTT 物联网平台,ESP32-S3,Linux,服务器,服务器,docker,物联网,嵌入式硬件,单片机,ESP32

6.5.2 登录

默认的用户名是:admin
默认的密码是:public

6.6 回到 HomeAssistant 网站

6.6.1 操作流程:
i:配置(左边栏) ->
ii:设备与服务 ->
iii:添加集成(右下角)->
iv:搜索“MQTT” ->
v:点击“MQTT” ->
vi:点击“MQTT” ->
vii:输入相关信息(请注意,用户名和密码是你刚才登录 EMQX 的用户名和密码)
viii:提交,成功。我们的 HomeAssistant 已经成功连接了 MQTT 服务

【自用】云服务器 使用 docker 搭建 HomeAssistant + MQTT 物联网平台,ESP32-S3,Linux,服务器,服务器,docker,物联网,嵌入式硬件,单片机,ESP32【自用】云服务器 使用 docker 搭建 HomeAssistant + MQTT 物联网平台,ESP32-S3,Linux,服务器,服务器,docker,物联网,嵌入式硬件,单片机,ESP32【自用】云服务器 使用 docker 搭建 HomeAssistant + MQTT 物联网平台,ESP32-S3,Linux,服务器,服务器,docker,物联网,嵌入式硬件,单片机,ESP32【自用】云服务器 使用 docker 搭建 HomeAssistant + MQTT 物联网平台,ESP32-S3,Linux,服务器,服务器,docker,物联网,嵌入式硬件,单片机,ESP32【自用】云服务器 使用 docker 搭建 HomeAssistant + MQTT 物联网平台,ESP32-S3,Linux,服务器,服务器,docker,物联网,嵌入式硬件,单片机,ESP32【自用】云服务器 使用 docker 搭建 HomeAssistant + MQTT 物联网平台,ESP32-S3,Linux,服务器,服务器,docker,物联网,嵌入式硬件,单片机,ESP32

6.7 回到 EMQX 网站

6.7.1 操作流程:

监控 -> 客户端 -> 发现一个新连接,好耶

【自用】云服务器 使用 docker 搭建 HomeAssistant + MQTT 物联网平台,ESP32-S3,Linux,服务器,服务器,docker,物联网,嵌入式硬件,单片机,ESP32

6.7.2 确认 MQTT 和 HomeAssistant 已经连接成功:
1.去 HomeAssistant 网站
2.进入刚才的 MQTT
3.点击“选项”
4.打开监听后,发送数据包测试,成功。

【自用】云服务器 使用 docker 搭建 HomeAssistant + MQTT 物联网平台,ESP32-S3,Linux,服务器,服务器,docker,物联网,嵌入式硬件,单片机,ESP32【自用】云服务器 使用 docker 搭建 HomeAssistant + MQTT 物联网平台,ESP32-S3,Linux,服务器,服务器,docker,物联网,嵌入式硬件,单片机,ESP32

【自用】云服务器 使用 docker 搭建 HomeAssistant + MQTT 物联网平台,ESP32-S3,Linux,服务器,服务器,docker,物联网,嵌入式硬件,单片机,ESP32

四、总结

至此,在云服务器上使用 docker 搭建 HomeAssistant 平台并 让 MQTT 与 HomeAssistant 平台建立通讯的任务圆满结束。如果想看 ESP32 或其他使用 MicroPython 编程的单片机如何连接的内容,请看我这篇博客的下一篇。文章来源地址https://www.toymoban.com/news/detail-641197.html

到了这里,关于【自用】云服务器 使用 docker 搭建 HomeAssistant + MQTT 物联网平台的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用docker搭建kms服务器

    仅个人工作时对操作步骤进行记录,无任何安全、可行性保证,转载请标注出处! 配置IP地址,使其可正常上网。 2.配置yum源 #安装yum工具 yum -y install yum-utils #下载配置阿里的yum源 wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo #下载配置docker的

    2024年02月04日
    浏览(44)
  • 内网服务器(无法联网)使用docker搭建自己的NAS服务(filebrowser)

    课题组内有一台内网部署的ubuntu 23服务器,想要在上面运行一个NAS服务,供内网环境中的文件存储与分享。希望搭建一个功能简单、容易上手的NAS服务,并且希望通过docker部署,减少对于服务器上现有应用的影响。另外,内网服务器意味着它无法连接互联网下载应用,只能在

    2024年03月16日
    浏览(48)
  • minio文件服务器-docker docker-compose 搭建部署以及使用大全

    下载官网 简介 docker-compose 单机版安装 拉取镜像运行容器 docker-compose 搭建 minio 分布式对象存储 部署 官方推荐 docker-compose.yaml :下载地址 vim docker-compose.yml 接着创建 config目录 执行启动命令,看到各个节点 healthy 状态即成功 浏览器访问任意节点 web console ,进行简单配置,配

    2023年04月10日
    浏览(60)
  • 记录一次云服务器使用docker搭建kafka的过程

    创建网络 一定要将zookeeper注册中心与kafka建在一个network中,不然在springboot 集成 kakfa的demo测试代码中进行消息发送时会超时,报错: E x c e p t i o n t h r o w n w h e n s e n d i n g a m e s s a g e w i t h k e y = ‘ n u l l ‘ Exception thrown when sending a message with key=‘null‘ E x ce pt i o n t h ro w

    2024年02月04日
    浏览(42)
  • 僵尸毁灭工程(Project Zomboid)使用centos9 docker搭建服务器

    CentOS9内核版本:5.14.0-333.el9.x86_64 docker镜像:docker.io/cm2network/steamcmd docker安装(照着安装):https://docs.docker.com/engine/install/centos/ 服务器网络:使用阿里云的VPS组的虚拟局域网,因为还会玩玩其他用局域网玩的游戏,VPS性能不高,当个supernode合适,所以实际运行的服务器在家里

    2024年01月22日
    浏览(41)
  • 【前端-NPM私服】内网使用verdaccio搭建私有npm服务器-docker搭建verdaccio流程

    文章已收录至https://lichong.work,转载请注明原文链接。 ps:欢迎关注公众号“Fun肆编程”或添加我的私人微信交流经验🤝 在私有化的服务器上部署的一个支持发布、下载、版本管理等服务的npm仓库。 官方npmjs下载缓慢,需要设置镜像源 镜像源:是以一定频率定时同步npm官方

    2024年02月03日
    浏览(59)
  • 服务器上使用docker搭建gem5-gcn3环境

    3步:拉取镜像,编译gcn,测试square 1、拉取镜像 默认主机有梯子/代理,根据官网步骤 gem5 gpu:AMD VEGA GPU 报错: 解决,需要在github上设置一下token信息,参考链接 关于容器注册表支持。设置步骤: 重新拉取镜像, 报错: Error response from daemon: manifest unknown,清单未知。去gem

    2024年02月02日
    浏览(55)
  • 远程服务器,使用docker搭建redis集群提示:SlaveConnectionPool no available Redis entries

    1、部署条件:         1.1 远程服务器         1.2 docker部署:参考 https://blog.csdn.net/qq_42971035/article/details/128171542  2、出现问题:         2.1 服务器部署服务,连接redis集群,会提示\\\"SlaveConnectionPool no available Redis entries\\\"。         2.2 本地连接远程服务器,提示\\\"connection 

    2024年02月15日
    浏览(67)
  • 【Docker】docker搭建Ftp服务器,真香

    方便公司正常内网传递大文件,FTP服务就派上用场了,ftp分为主动模式(PORT)和被动模式(PASV)。主动模式使用20和21端口,其中20为数据端口,21为控制端口。被动模式使用21控制端口和一个其他随机端口作数据端口。主动模式因为防火墙的原因,经常会断掉,因此被动模式是

    2024年02月05日
    浏览(55)
  • docker搭建在线Markdown服务器

    2024年02月13日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包