注意,官网上面的版本号推荐使用的wehook的版本进行数据桥接,但是经过查询现在新的版本已经优化掉了这个,可以直接与taos数据库建立连接
这里使用Webhook桥接数据,并通过RESTful接口发送。
容器化部署是体验 EMQX 的最快方式,因此本节将以容器化部署为例,带您开始完整的 EMQX 使用旅程。
在命令行工具中输入如下命令,下载并运行最新版 EMQX。
运行此命令前,请确保 Docker (opens new window)已安装且已启动。
先拉取镜像,版本号推荐使用这个。这个版本使用wehook桥接数据。
docker pull emqx/emqx:5.0.26
docker run -d --name emqx -p 1883:1883 -p 8083:8083 -p 8084:8084 -p 8883:8883 -p 18083:18083 emqx/emqx:latest
1
通过浏览器访问
http://localhost:18083/ (opens new window)(localhost 可替换为您的实际 IP 地址)以访问 EMQX Dashboard 管理控制台,进行设备连接与相关指标监控管理。
默认用户名及密码:
admin
public
安装 TDengine
通过 Docker 安装并启动 TDengine:
# 启动一个 TDengine 容器
docker run --name TDengine -p 6041:6041 tdengine/tdengine
# 进入容器,这个地方将TDengine替换成容器的id
使用docker ps
查看容器id
docker exec -it TDengine bash
# 在容器中连接到 TDengine 服务器
taos
# 创建并选择数据库
CREATE DATABASE mqtt;
use mqtt;
发现docker启动的taos数据库无法连接上,经过收集和查询应该,应该将localhost的值修改为本机的ipv4的地址才可以连接成功到docker的tao数据库
使用ipconfig命令实现查询本机ip
然后将taos数据库的桥接服务
将url的ip地址设置为本机的ipv4的地址
设置成这种格式,http请求带上认证的消息
Authorization Basic cm9vdDp0YW9zZGF0YQ==
测试连接成功之后建立规则
查询官网文档规则的建立方式
SELECT <字段名> FROM <主题> [WHERE <条件>]
## SELECT 语句用于决定最终的输出结果里的字段。比如:
## 下面 SQL 的输出结果中将只有两个字段 “a” 和 “b”:
SELECT a, b FROM “t/#”
# 选取 username 为 ‘abc’ 的终端发来的消息,输出结果为所有可用字段:
SELECT * FROM “#” WHERE username = ‘abc’
## 选取 clientid 为 ‘abc’ 的终端发来的消息,输出结果将只有 cid 一个字段。
## 注意 cid 变量是在 SELECT 语句中定义的,故可在 WHERE 语句中使用:
SELECT clientid as cid FROM “#” WHERE cid = ‘abc’
## 选取 username 为 ‘abc’ 的终端发来的消息,输出结果将只有 cid 一个字段。
## 注意虽然 SELECT 语句中只选取了 cid 一个字段,所有消息发布事件中的可用字段 (比如 clientid、username 等) 仍然可以在 WHERE 语句中使用:
SELECT clientid as cid FROM “#” WHERE username = ‘abc’
## 但下面这个 SQL 语句就不能工作了,因为变量 xyz 既不是消息发布事件中的可用字段,又没有在 SELECT 语句中定义:
SELECT clientid as cid FROM “#” WHERE xyz = ‘abc’
然后根据这个官网文档配置自己的主题订阅的方式和,参数,如果是桥接数据转发需要订阅和修改自己的这个sql文档,可以去官网查看更详细的版本。这个地方设置好之后可以在本地的docker服务当中的emqx
文档配置自己的主题订阅的方式和,参数,如果是桥接数据转发需要订阅和修改自己的这个sql文档,可以去官网查看更详细的版本。这个地方设置好之后可以在本地的docker服务当中的emqx
面板当中查看数据去向和发布是否成功,如果发布不成功看一下是建立失败的原因还是taos数据库的问题。