利用tb gateway(网关)给thingsboard传json类型数据(mqtt协议 java实现,emqx消息中间件)

参考https://www.iotschool.com/topics/739
安装emqx,tb_gateway,thingsboard。
因为emqx的端口和gateway的端口都为1883,两者冲突,所以修改emqx的端口为1884.

修改配置文件,emqx和gateway

修改该路径下的文件
需要修改一下ip

修改一下端口号

设置accesstoken

安装gateway

我选择的是windows环境下安装。
前置要求:安装好python配置好环境
参考https://thingsboard.io/docs/iot-gateway/install/pip-installation/
(注意这里的命令都是linux的)在windows下安装不使用docker可以看我的命令。
E:\thingsboard-gateway-3.1路径下
以下在powershell或者cmd里面运行。
pip3 install thingsboard-gateway 安装gateway模块(要么搞源码,要么装模块)
1、使用 python setup.py install安装python模块(只有编译源码需要这个步骤)
2、E:\thingsboard-gateway-3.1该路径下新建logs文件夹用于存放日志
3、在E:\thingsboard-gateway-3.1\thingsboard_gateway路径下运行
python tb_gateway.py 可能 有些包需要升级,按照提示升级即可

我的配置:python3.8,代码里面的pymodbus包版本是3.2.0,给他改成2.5.2

在这里插入图片描述

emqx

启动emqx
安装完emqx后,在以下路径下运行
E:\emqx-5.0.8-windows-amd64\bin

.\emqx start启动服务
.\emqx_ctl status查看服务开启状态
.\emqx stop停止服务

http://127.0.0.1:18083
帐号:admin
密码:public

访问成功后,如果通过mqttbox连接测试,在已连接设备里面应该会有两个,一个是tb gateway,另一个是mqttbox的client,可以直接通过 mqttbox发送json格式数据到thingsboard。

java实现mqtt协议

需要的maven依赖

下面展示一些 内联代码片

<!-- JSONObject对象依赖的jar包 开始 -->
	<dependency>
		<groupId>commons-beanutils</groupId>
		<artifactId>commons-beanutils</artifactId>
		<version>1.9.3</version>
	</dependency>
	<dependency>
		<groupId>commons-collections</groupId>
		<artifactId>commons-collections</artifactId>
		<version>3.2.1</version>
	</dependency>
	<dependency>
		<groupId>commons-lang</groupId>
		<artifactId>commons-lang</artifactId>
		<version>2.6</version>
	</dependency>
	<dependency>
		<groupId>commons-logging</groupId>
		<artifactId>commons-logging</artifactId>
		<version>1.1.1</version>
	</dependency>
	<dependency>
		<groupId>net.sf.ezmorph</groupId>
		<artifactId>ezmorph</artifactId>
		<version>1.0.6</version>
	</dependency>
	<dependency>
		<groupId>net.sf.json-lib</groupId>
		<artifactId>json-lib</artifactId>
		<version>2.2.3</version>
		<classifier>jdk15</classifier>
		<!-- jdk版本 -->
	</dependency>
	<!-- Json依赖架包下载结束 -->;

注意是jdk15,所以在配置项目jdk的时候要注意(貌似这个包只能用14或者15)

具体代码等修改好了再放上来
参考链接
json格式数据写法:https://vimsky.com/examples/detail/java-method-org.eclipse.paho.client.mqttv3.MqttMessage.setPayload.html

java实现mqtt协议:https://blog.youkuaiyun.com/m0_46198325/article/details/118788728

(目前在想的问题:
1、怎么连续地发数据
2、怎么自定义topic,因为thingsboard里面订阅的topic是/sensor/data 传输数据,现在需要自定义topic)
3、怎么订阅tb地消息

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值