实现效果图如下:
想实现上面的效果,首先就是把温度计数据采集到自己的软件上面,然后汇总展示。通过python脚本就能连接到蓝牙温度计,通过蓝牙读取数据,然后上报到mqtt上面,再通过websocket展示到页面上。下面介绍一下实现上面效果所用到的相关代码和软件。
准备环境
Python 3.8
jdk17
postgresSql 13.8
tb-v3.7.0
通过python采集温度计数据并上报MQTT
python核心代码主要依赖以下3个工具包:
pip install bleak pip install schedule pip install paho-mqtt
启动程序即可采集到温度,湿度数据。
通过tb可视化展示实时数据
首先按照教程安装postgresql数据库,配置jdk17, 然后启动tb, 启动命令如下:
C:\ProgramApp\jdk-17.0.7\bin\java -jar thingsboard-3.7.0-boot.jar --spring.profiles.active=dev
访问地址:localhost:8080
如果需要外网也能正常访问,单独部署到云服务器上面即可。
登录成功之后,进入设备创建页面:
创建以下3个设备,分别是python采集软网关设备,客厅温度传感器设备,书房温度传感器设备。
创建成功后,将客厅温度传感器设备,书房温度传感器设备名称配置到python代码中。
将python采集软网关设备的token复制到配置文件中:
拷贝到username后面
然后重新启动python程序。
等待1分钟,无错误日志,这时不出意外,设备应该上线了:
数据也正常上报成功。
接下来配置仪表盘,进行数据展示:
新建仪表盘,选择添加部件:
选择Time series chart 部件,然后编辑数据源,选择刚才创建的设备,然后选择展示的数据的键值对的key
为了便于区分每个设备的温度情况,依次创建两个数据源,分别选择两个不同的设备即可:
点击应用即可。
然后数据就正常展示了。