参考https://www.iotschool.com/topics/739
安装emqx,tb_gateway,thingsboard。
因为emqx的端口和gateway的端口都为1883,两者冲突,所以修改emqx的端口为1884.
修改配置文件,emqx和gateway
修改该路径下的文件
安装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地消息