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

20 篇文章 7 订阅
19 篇文章 4 订阅

前言


本文的原文连接是:
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

使用最新版本即可

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

端口说明
18083web管理端admin端口
1883tcp端口常用
8883ssl的tcp端口
8083websocket端口常用
8084ssl的websocket端口

在这里插入图片描述
在这里插入图片描述
可以忽略下,然后就进入了管理端。

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


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

http://127.0.0.1:18083/#/APIKey

在这里插入图片描述

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

在这里插入图片描述
然后创建一个设备:
密码是:11111111
在这里插入图片描述

在这里插入图片描述

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


设置客户端认证:
在这里插入图片描述
在这里插入图片描述

这个最重要!!
在这里插入图片描述

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

SELECT "token" as password FROM devices where 
"deviceUsername"  = ${username} LIMIT 1 

配置成功:

在这里插入图片描述
还可以进行 客户端认证

在这里插入图片描述

也可以配置 客户端授 权或者关闭授权:
在这里插入图片描述

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 上还有允许访问状态,可以修改成:
在这里插入图片描述


-- 客户端认证
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

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要根据提供的文本信息提取命令、网元、查看跟踪区域配置信息以及相关参数,并生成DataFrame表,你可以使用以下Python代码定义一个函数来实现: ```python import re import pandas as pd def extract_information(text): pattern_command = r'命令-----([\w\s]+):;' pattern_ne = r'网元 : ([\w-]+)' pattern_info = r'查看跟踪区域配置信息\n-+\n本地跟踪区域标识\s+=\s+(\d+)\n\s+运营商索引值\s+=\s+(\d+)\n\s+跟踪区域码\s+=\s+(\d+)\n\s+NB-IoT TA标识\s+=\s+(否|是)' command = re.search(pattern_command, text).group(1) ne = re.search(pattern_ne, text).group(1) match_info = re.search(pattern_info, text) local_trace_id = match_info.group(1) operator_index = match_info.group(2) trace_area_code = match_info.group(3) nbiot_ta = match_info.group(4) data = {'命令': [command], '网元': [ne], '本地跟踪区域标识': [local_trace_id], '运营商索引值': [operator_index], '跟踪区域码': [trace_area_code], 'NB-IoT TA标识': [nbiot_ta]} df = pd.DataFrame(data) return df text = ''' 命令-----LST CNOPERATORTA:; 网元 : LF-朱河邮政 报文 : +++ LF-朱河邮政 2020-04-20 00:12:29 O&M #806366999 %%/*1884383370 MML Session=1587312734*/LST CNOPERATORTA:;%% RETCODE = 0 执行成功 查看跟踪区域配置信息 -------------------- 本地跟踪区域标识 = 0 运营商索引值 = 0 跟踪区域码 = 29172 NB-IoT TA标识 = 否 (结果个数 = 1) --- END ''' df = extract_information(text) print(df) ``` 这段代码会输出以下DataFrame表格: ``` 命令 网元 本地跟踪区域标识 运营商索引值 跟踪区域码 NB-IoT TA标识 0 LST CNOPERATORTA:; LF-朱河邮政 0 0 29172 否 ``` 希望这个函数可以帮到你!如果有任何问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值