• 12物联网开发终端管理篇java使用Druid连接池获取MySQL数据库数据,并通过MQTT发送(linux,宝塔)


    <p><iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/iot_terminal_management" frameborder="0" scrolling="auto" width="100%" height="1500"></iframe></p>

    说明

    这节是java使用Druid连接池查询MySQL数据库数据,并通过MQTT发送

    测试

    1,使用IntelliJ IDEA 打开这节的工程

    2,源码需要使用JDK1.8及其以上版本

    如果版本小于1.8则需要安装(只需要安装,不需要配置环境变量)

     

    安装完以后不需要配置环境变量,只需要在软件中设置JDK路径

    3,先启动看下效果(默认连接我的数据库和MQTT)

    4,打开MQTT调试助手

    发布的主题:historical/request/863488051205014

    订阅的主题:historical/receive/863488051205014

    发送的消息:{"data":"humiture","start_time":"2022-07-30 00:00:00","stop_time":"2022-07-30 22:48:00"}

    复制代码
    {"code":"OK","data":[{"data_time":"2022-07-30 17:07:41","temperature":255.0,"humidity":255.0},
    {"data_time":"2022-07-30 22:44:43","temperature":255.0,"humidity":255.0},
    {"data_time":"2022-07-30 22:44:46","temperature":255.0,"humidity":255.0},
    {"data_time":"2022-07-30 22:44:48","temperature":255.0,"humidity":255.0},
    {"data_time":"2022-07-30 22:44:50","temperature":255.0,"humidity":255.0},
    {"data_time":"2022-07-30 22:44:52","temperature":255.0,"humidity":255.0},
    {"data_time":"2022-07-30 22:44:54","temperature":255.0,"humidity":255.0},
    {"data_time":"2022-07-30 22:44:57","temperature":255.0,"humidity":255.0},
    {"data_time":"2022-07-30 22:44:59","temperature":255.0,"humidity":255.0},
    {"data_time":"2022-07-30 22:45:01","temperature":255.0,"humidity":255.0}],
    "client_id":"863488051205014"}
    复制代码

    5,返回的数据是提供的测试数据库里面的数据

     

    程序说明

    1,连接的数据库和MQTT信息

    2,MQTT订阅主题  historical/request/#

    3,接收消息格式说明

    消息格式:  {"data":"humiture","start_time":"2022-07-30 00:00:00","stop_time":"2022-07-30 22:48:00"}

    start_time:数据的开始时间;  stop_time数据的结束时间

    4,查询数据

    根据client_id 和 时间段查询数据

    String sql = "select data_time, client_id, temperature, humidity from humiture_table where client_id=" + "'"
    +client_id+"'"+" and data_time>="+"'"+start_time+"'"+" and data_time<="+"'"+stop_time+"'";

    5,把从数据库查询到的数据按照json格式使用MQTT发送给设备

    发送的主题: "historical/receive/设备的clientid"

    生成可执行jar包, 并安装运行到服务器

    1,停止运行

    2,因为程序已经设置过生成jar包,所以用户直接按照下面操作即可生成可执行jar包.

    3,补充一下实际生成jar包的流程(用户不需要操作)

    4,生成的jar包的位置

    5,先看下有没有安装java, 可以随便找个目录点击上面的终端

    输入 java -version

    6,如果没有java环境, 则安装下

    安装tomcat8或者9版本, 安装完就会自动安装好java运行环境(jdk1.8)

    7,把生成的jar包放到服务器上

    我放到了opt目录,根据自己的习惯随意

    8,点击上面的终端并进入opt目录

    9,终端输入 java -jar MySQLDataToMqtt.jar 命令启动程序

    如果要指定JDK路径运行    /你的JDK文件目录/bin/java -jar MqttDataToMySQL.jar

    让程序在后台运行

    1,在终端里面按下键盘的 Ctrl+C 组合键退出程序

    2,输入   nohup java -jar MySQLDataToMqtt.jar &

    如果要指定JDK路径运行   nohup /你的JDK文件目录/bin/java -jar MqttDataToMySQL.jar &

    3,程序已经运行,13778为程序运行的PID值;并生成了日志文件nohup.out

    4,把这个控制台关闭

    5,点击刷新一下就可以看到日志文件

    6.如何关闭程序

    先查看程序的进程PID, ps aux|grep MySQLDataToMqtt.jar

    输入  kill -9 13778   关闭程序

  • 相关阅读:
    5.5 数据库约束
    5.4 数据库数据类型
    5.3 数据 库,表 操作
    5.2 数据库引擎
    5.1 数据库安装
    4.6 并发编程/IO模型
    4.5 协程
    4.4 线程
    在线编辑器 引入方法
    MySQL查看版本号的五种方式介绍1111111
  • 原文地址:https://www.cnblogs.com/yangfengwu/p/16686269.html
Copyright © 2020-2023  润新知