【fly-iot飞凡物联】(12):EMQX 5.1使用docker 本地部署,接入到Actorcloud的数据库中,成功连接创建的设备,可以控制设备访问状态

目录

  • 前言
    • 1,关于
    • [2,使用docker 进行部署](#2,使用docker 进行部署)
    • [3,配置API key 可以使用接口访问的](#3,配置API key 可以使用接口访问的)
    • [4,设置客户端认证,连接PostgreSQL 数据连接](#4,设置客户端认证,连接PostgreSQL 数据连接)
    • 5,使用客户端进行连接
    • [6,EMQX的API 接口地址](#6,EMQX的API 接口地址)
    • 7,总结

前言


本文的原文连接是:
https://blog.csdn.net/freewebsys/article/details/108971807

fly-iot飞凡物联专栏:
https://blog.csdn.net/freewebsys/category_12219758.html

未经博主允许不得转载。

博主CSDN地址是:https://blog.csdn.net/freewebsys

博主掘金地址是:https://juejin.cn/user/585379920479288

博主知乎地址是:https://www.zhihu.com/people/freewebsystem

1,关于


EMQX 是一款开源 (opens new window)的大规模分布式 MQTT 消息服务器,功能丰富,专为物联网和实时通信应用而设计。EMQX 5.0 单集群支持 MQTT 并发连接数高达 1 亿条,单服务器的传输与处理吞吐量可达每秒百万级 MQTT 消息,并保证延迟在亚毫秒级。

EMQX 支持多种协议,包括 MQTT (3.1、3.1.1 和 5.0)、HTTP、QUIC 和 WebSocket 等,保证各种网络环境和硬件设备的可访问性。EMQX 还提供了全面的 SSL/TLS 功能支持,比如双向认证以及多种身份验证机制,为物联网设备和应用程序提供可靠和高效的通信基础设施。

https://www.emqx.io/docs/zh/v5.1/

https://www.emqx.io/docs/zh/v5.1/deploy/install-docker.html

2,使用docker 进行部署


配置帐号:admin

密码:public

使用最新版本即可

bash 复制代码
docker run -d --name emqx -p 1883:1883 -p 8083:8083 -p 8084:8084 -p 8883:8883 -p 18083:18083 emqx/emqx:latest
端口 说明
18083 web管理端admin端口
1883 tcp端口常用
8883 ssl的tcp端口
8083 websocket端口常用
8084 ssl的websocket端口


可以忽略下,然后就进入了管理端。

3,配置API key 可以使用接口访问的


这个时候可以再创建一个 访问API key:

http://127.0.0.1:18083/#/APIKey

然后把这个配置放到 arctorcloud 上:

然后创建一个设备:

密码是:11111111

4,设置客户端认证,连接PostgreSQL 数据连接


设置客户端认证:

这个最重要!!

要有 as password 和双引号才可以,是PostgerSQL 特殊的写法:

bash 复制代码
SELECT "token" as password FROM devices where 
"deviceUsername"  = ${username} LIMIT 1 

配置成功:

还可以进行 客户端认证

也可以配置 客户端授 权或者关闭授权:

bash 复制代码
SELECT 'allow' as action, 'all' as permission, 'all' as topic 
 FROM devices where "deviceUsername" = ${username} 

5,使用客户端进行连接


web页面中自带一个客户端,直接连接就可以。

这个设备就是在 Actorcloud 中创建的设备

6,EMQX的API 接口地址


EMQX 还有本地 swagger 接口地址:

http://localhost:18083/api-docs/index.html#

在管理端中设置了API 的 username 和 password 就可以登陆了。

然后就可以直接访问了:

接口非常的丰富,授权之后就可以直接访问了,可以方便和其他系统进行对接。

进行二次开发了。

7,总结


终于弄明白了,EMQX的使用,同时也支持 MQTT5 了,可以正常连接到数据库中创建的设备了。

同时支持很多的扩展接口。可以非常的方便进行管理端的开发和连调了。

但是回调接口目前不知道通过什么job 方式去获得在线状态。

同时在 actorcloud 上还有允许访问状态,可以修改成:

sql 复制代码
-- 客户端认证
SELECT "token" as password FROM devices where 
"deviceUsername"  = ${username} AND "blocked" = 0
 LIMIT 1 
 
-- 客户端授权
SELECT 'allow' as action, 'all' as permission, 'all' as topic 
 FROM devices where "deviceUsername" = ${username} AND "blocked" = 0 
 

都是非常不错的开源项目,持续研究中,把两个项目融合起来跑,

actorcloud项目和Emqx 项目一起部署起来。

本文的原文连接是:
https://blog.csdn.net/freewebsys/article/details/108971807

相关推荐
久爱物联网2 小时前
个人站点(博客)开发案例 - 功能齐全,在线客服-即时通讯-物联网控制、广告位管理、按钮级权限控制
物联网·个人博客·即时通讯在线客服·物联网控制·博客发布系统·新闻发布系统
聆听。。花开雨落3 小时前
mybatis的typeHandler 作用
数据库·mybatis
兆龙电子单片机设计3 小时前
【STM32项目开源】STM32单片机语音分类垃圾桶-蓝牙APP
stm32·单片机·嵌入式硬件·物联网·开源·自动化·毕业设计
pxzsky4 小时前
PG17数据库安装中分分词插件:pg_jieba
数据库·postgresql·pg_jieba
她说可以呀4 小时前
Redis哨兵
数据库·redis·bootstrap
厦门辰迈智慧科技4 小时前
管网遥测终端机赋能城市安全的核心价值
物联网·遥测终端机·管网遥测终端机·排水管网遥测终端·管网遥测终端
霸道流氓气质4 小时前
KMS 密钥管理服务(Key Management Service)原理与实践
linux·服务器·数据库
kirs_ur5 小时前
CXL(Compute Express Link)— 内存扩展的未来
服务器·数据库·性能优化
七仔啊5 小时前
modbus快速入门
物联网