文章目录
- 一、前文
- 二、配置参数
- 三、开放端口
- 四、MQTT客户端连接
- 五、推送数据
- 六、查询数据
- 八、参考
一、前文
IoTDB入门教程——导读
IoTDB时序数据库内置MQTT服务器,允许远程设备将消息直接发送到IoTDB内置的MQTT服务器,并可以直接存入IoTDB时序数据库。
如果是没有远程控制功能,单纯的传感器类的设备,比如远程抄水表项目、远程抄电表项目、智慧实验室的温湿度传感器等。
直接使用IoTDB就很方便。设备通过MQTT推送数据到IoTDB内置的MQTT服务器,并直接存入IoTDB数据库中。
二、配置参数
- 配置文件路径:
apache-iotdb-1.3.2-all-bin\conf\iotdb-common.properties
- MQTT服务默认是关闭的,修改
enable_mqtt_service=true
即可 - MQTT服务默认主机是127.0.0.1,修改
mqtt_host=127.0.0.1
即可,修改成mqtt_host=0.0.0.0
- MQTT服务默认端口是1883,修改
mqtt_port=1883
即可 - 还有更多参数用来配置MQTT服务,如下所示
####################
### MQTT Broker Configuration
##################### whether to enable the mqtt service.
# Datatype: boolean
enable_mqtt_service=true# the mqtt service binding host.
# Datatype: String
mqtt_host=0.0.0.0# the mqtt service binding port.
# Datatype: int
mqtt_port=1883# the handler pool size for handing the mqtt messages.
# Datatype: int
# mqtt_handler_pool_size=1# the mqtt message payload formatter.
# Datatype: String
# mqtt_payload_formatter=json# max length of mqtt message in byte
# Datatype: int
# mqtt_max_message_size=1048576
- 修改配置参数后,重启IoTDB,再
netstat -nplt
查看。 - 就能看到1883端口的MQTT服务起来了。
三、开放端口
- 记得在服务器安全组上要开放MQTT服务的端口
四、MQTT客户端连接
- 使用MQTTX客户端连接MQTT服务器
- MQTT服务器地址、端口、用户名、密码,按照实际修改。
- 值得注意的是,IoTDB时序数据库内置的MQTT服务器不支持MQTT 5.0协议,所以只能选择MQTT 3.1.1协议。
- 最后点击连接按钮。
五、推送数据
- 标题topic无限制
- 数据格式如下
{"device":"root.test.test","timestamp":1722069846000,"measurements":["status"],"values":[66]
}
六、查询数据
- 再次查询数据,看看是数据是否存入数据库
- 查询发现,value(66)的数据已经存入数据库
IoTDB> select status from root.test.test
+-----------------------------+---------------------+
| Time|root.test.test.status|
+-----------------------------+---------------------+
|1970-01-21T06:21:09.846+08:00| 55.0|
|2024-07-21T08:34:04.378+08:00| 1.0|
|2024-07-21T08:34:21.513+08:00| 2.0|
|2024-07-21T08:34:23.284+08:00| 3.0|
|2024-07-21T08:34:25.675+08:00| 11.0|
|2024-07-21T08:34:28.155+08:00| 22.0|
|2024-07-21T08:34:30.341+08:00| 33.0|
|2024-07-27T16:44:06.000+08:00| 66.0|
+-----------------------------+---------------------+
Total line number = 8
It costs 0.013s
八、参考
MQTT协议| IoTDB Website
觉得好,就一键三连呗(点赞+收藏+关注)