利用华为云-宝塔-docker-EMQX-MySQL账号密码认证-Homeassistant搭建物联网平台

目录

一、华为云用法

二、安装宝塔

1、进行远程登录

2、安装宝塔

1)宝塔网址:

2)复制对应系统的命令

3)过程中全部选择y

4)安装成功如下:​编辑

5)宝塔常用命令:

6)重新设置用户名与密码

7)查看网址、账号、密码

8)直接输入该网址是没法打开网页的

9)需要在华为云控制台放开24503端口的权限

10)再次刷新

11)成功:​编辑

三、利用宝塔安装docker

1)等待安装成功

2)成功后:

3)docker常用命令:

四、安装homeassistant

1)利用docker安装

2)或者利用命令:

3)成功后如图:

4)运行homeassistant

5)成功后如下:

6)在华为云控制台开放8123端口

7)登录homeassistant

五、安装EMQX

1)利用docker安装

2)在华为云控制台放开1883/18083端口的权限

3)登录EMQX

六、将MQTT接入Homeassistant

1)登录Homeassistant

2)添加成功后如图所示:​编辑

3)测试:

七、安装mqsl数据库

1)利用docker安装

2)成功后如图所示:​编辑

八、在EMQX中添加MySQL账号密码认证

1)首先利用第三方软件连接MySQL,本文使用的VScode

2)新建对应的数据库与表​编辑

3)登录EMQX

4)连接成功:​编辑

5)添加一个账号密码

6)成功:​编辑

7)验证

1)连接成功​编辑

2)发送数据给Homeassistant

3)Homeassistant发送数据给EMQX



一、华为云用法

购买后如图所示:

二、安装宝塔

1、进行远程登录

2、安装宝塔

1)宝塔网址:

宝塔面板 - 简单好用的Linux/Windows服务器运维管理面板 (bt.cn)

2)复制对应系统的命令

3)过程中全部选择y

4)安装成功如下:

5)宝塔常用命令:

bt //打开面板,常用来设置账号与密码
bt start //启动宝塔面板服务。
bt stop //停止宝塔面板服务。
bt restart //重启宝塔面板服务。
bt default //查看默认入口和账号密码

6)重新设置用户名与密码

7)查看网址、账号、密码

8)直接输入该网址是没法打开网页的

9)需要在华为云控制台放开24503端口的权限

10)再次刷新

11)成功:

三、利用宝塔安装docker

1)等待安装成功

2)成功后:

3)docker常用命令:

四、安装homeassistant

1)利用docker安装

2)或者利用命令:

docker pull homeassistant/home-assistant:latest

3)成功后如图:

4)运行homeassistant

执行以下命令:

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

#docker update --restart=always 容器ID(或者容器名)
(容器ID或者容器名根据实际情况修改)
  • docker run:创建一个新的容器(虚拟机)
  • -d:表示后台运行,通俗讲就是它在运行,终端看不到它
  • --name="homeassistant-v1":给这个新的运行的虚拟机(容器)命名为homeassistant-v1
  • -v xxxx:yyyy:xxxx部分就是你Ubuntu电脑的真实路径,yyyy就是运行的新的虚拟机的路径。这句话翻译成大白话:让Ubuntu电脑的xxxx文件夹与新的虚拟机的yyyy文件夹是同一个文件夹,它们俩共享
  • -p 8123:8123:将Ubuntu电脑的8123端口(第1个)与虚拟机的端口8123(第2个)做映射,大白话:就是访问Ubuntu的8123端口的请求都会转发给虚拟机的8123端口
  • homeassistant/home-assistant:latest:表示要用的哪个docker 镜像

5)成功后如下:

6)在华为云控制台开放8123端口

7)登录homeassistant

在浏览器中输入 :     IP:8123

把高级模式打开

自此Homeassistant安装成功

五、安装EMQX

网址:EMQX:用于物联网、车联网和工业物联网的企业级 MQTT 平台

1)利用docker安装

sudo docker pull emqx/emqx:5.0.16

#sudo docker run -d --name emqx -p 1883:1883 -p 8083:8083 -p 8084:8084 -p 8883:8883 -p 18083:18083 emqx/emqx:5.0.16


sudo docker run -d --name emqx  --restart=always -p 1883:1883 -p 8083:8083 -p 8084:8084 -p 8883:8883 -p 18083:18083 emqx/emqx:5.0.16

2)在华为云控制台放开1883/18083端口的权限

3)登录EMQX

初始账号密码

账号:admin

密码:public

六、将MQTT接入Homeassistant

1)登录Homeassistant

2)添加成功后如图所示:

3)测试:

订阅一个hello主题,自己又发送了一个hello的主题,导致的结果是,会收到自己发送到的数据

收到自己发送的数据,说明成功将MQTT接入Homeassistant

七、安装mqsl数据库

1)利用docker安装

docker pull  mysql:5.7  //拉取镜像


docker run --restart=unless-stopped -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7   //运行mqsql


root@hcss-ecs-f59d:~#
root@hcss-ecs-f59d:~# docker ps  //查看镜像ID
CONTAINER ID   IMAGE                                 COMMAND                  CREATED          STATUS          PORTS                                                                                                                                                                                                                               NAMES
ceaa02bef6d1   mysql:5.7                             "docker-entrypoint.s…"   11 seconds ago   Up 11 seconds   0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp                                                                                                                                                                                pensive_villani
bd871f6557ed   emqx/emqx:5.0.16                      "/usr/bin/docker-ent…"   17 hours ago     Up 17 hours     4370/tcp, 0.0.0.0:1883->1883/tcp, :::1883->1883/tcp, 0.0.0.0:8083-8084->8083-8084/tcp, :::8083-8084->8083-8084/tcp, 5369/tcp, 0.0.0.0:8883->8883/tcp, :::8883->8883/tcp, 0.0.0.0:18083->18083/tcp, :::18083->18083/tcp, 11883/tcp   emqx
712d710c4695   homeassistant/home-assistant:latest   "/init"                  18 hours ago     Up 18 hours     0.0.0.0:8123->8123/tcp, :::8123->8123/tcp                                                                                                                                                                                           homeassistant-v1
root@hcss-ecs-f59d:~# docker exec -it ceaa02bef6d1 /bin/bash  //进入容器
bash-4.2#
bash-4.2# mysql -u root -p  //进入MySQL
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.44 MySQL Community Server (GPL)

Copyright (c) 2000, 2023, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

2)成功后如图所示:

3)释放权限

mysql -u root -p

use mysql;
 
select host from user where user='root';

update user set host = '%' where user ='root';

flush privileges;

select host from user where user='root';

八、在EMQX中添加MySQL账号密码认证

1)首先利用第三方软件连接MySQL,本文使用的VScode

首先安装插件

2)新建对应的数据库与表

CREATE DATABASE mqtt_user;


USE mqtt_user;


CREATE TABLE `mqtt_user` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `username` varchar(100) DEFAULT NULL,
  `password_hash` varchar(100) DEFAULT NULL,
  `salt` varchar(35) DEFAULT NULL,
  `is_superuser` tinyint(1) DEFAULT 0,
  `created` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `mqtt_username` (`username`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

3)登录EMQX

4)连接成功:

5)添加一个账号密码

执行命令:

insert into mqtt_user(id,username,password_hash,salt,is_superuser,created) VALUES(NULL,'niuyasen','123456',NULL,NULL,NOW());

6)成功:

7)验证

下载MQTTX:使用 MQTT 客户端快速测试 MQTT 服务 | EMQ (emqx.com)

1)连接成功

2)发送数据给Homeassistant

3)Homeassistant发送数据给EMQX

自此物联网平台搭建成功,写这个文章花了四个小时

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

傷迣♂淺藍ザ惔ゲ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值