日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

esp8266数据上传到mysql数据库_03-STM32+ESP8266+AIR202/302终端管理篇-把设备温湿度数据存储到MySQL数据库(Windows)...

發布時間:2024/1/23 数据库 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 esp8266数据上传到mysql数据库_03-STM32+ESP8266+AIR202/302终端管理篇-把设备温湿度数据存储到MySQL数据库(Windows)... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

這一節把設備通過MQTT上報的數據寫入MySQL數據庫.

注:關于MySQL數據庫的安裝和基本使用請用戶參考基礎開源教程學習!

說明

此節代碼使用的?IntelliJ IDEA 軟件編寫.

整個程序是使用java連接MQTT,通過通配符訂閱所有設備的數據.

然后通過Druid連接池把數據寫入MySQL數據庫.

配置數據庫

1.新建一個數據庫

2.數據庫名字為historical_data ;編碼方式為 utf8

3.新建表格

4.添加幾個字段

字段id類型是int, 去掉允許空值, 設置為自增,然后設置為主鍵;

字段data_time類型設置為timestamp;(作為數據存儲的時間)

字段client_id類型設置為varchar;(記錄設備的id)

字段temperature類型設置為float;(存溫度數據)

字段humidity類型設置為float;(存濕度數據)

5.點擊保存 表格名字為 humiture_table

打開源碼

1.使用IntelliJ IDEA 打開

2.源碼需要使用JDK1.8版本

如果用戶先前安裝的1.7版本,需要安裝JDK1.8版本

安裝完以后不需要配置環境變量,只需要在軟件中設置JDK路徑

測試

1.修改自己的數據庫和MQTT服務器的信息

3.關于該程序訂閱的主題

提供的教程里面設備發布的主題為: device/XXXXXX

如果是WiFi設備,XXXXXX是WiFi的MAC地址, 如果是GSM設備,XXXXXX是GSM設備的IMEI

為了得到所有設備的數據,所以訂閱的主題為: device/#

4.關于該程序解析消息并存到數據庫

設備發布的消息:{"data":"TH","bit":1,"temperature":14,"humidity":45}

在MQTT接收的消息回調里面,獲取解析溫濕度消息,然后把數據插入到數據庫.

5.運行程序

6.可以在控制臺輸出欄看到監控的所有設備的數據

7.重新打開數據庫表格

生成可執行jar包

1.關閉軟件

2.注意:因為程序已經設置過生成jar包,所以用戶直接按照下面圖示操作即可生成可執行jar包.

3.補充一下正常生成jar包的實際流程

4.生成的JAR包的位置

部署到服務器運行

1.如果服務器沒有安裝JDK,請用戶安裝JDK

2.把先前生成的jar包拷貝到服務器

2.打開命令窗口

3.進入到jar包所在目錄

4.執行 java -jar MqttDataToMySQL.jar

5.打印所有設備的數據,說明已經運行起來了

讓程序在后臺執行

1.關閉控制臺或者Ctrl+C退出程序

2.注意呀!不要犯常識性錯誤!把文件擴展名選中!

3.在jar包目錄新建一個后綴名字為.bat的文件

編輯里面的內容如下 :

MqttDataToMySQL.jar?就是jar包的名字

@echo off

start javaw-jar MqttDataToMySQL.jar

exit

4.雙擊運行即可

5.如果要關閉,找到任務管理器java運行進程,關閉即可

6.也可以指定JDK運行

C:\java8\jdk1.8.0.131? 為JDK的安裝路徑

@echo offset JAVA_HOME=C:\java8\jdk1.8.0.131

set CLASSPATH=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOMe%\lib\tools.jar;set Path=%JAVA_HOME%\bin;

start javaw-jar MqttDataToMySQL.jar

exit

源碼說明

1.整個源碼就兩部分,MQTT和數據庫

MQTT使用的是paho.client.mattv3-1.2.0的jar包

數據庫除了基本的jabc連接器以外,使用了阿里巴巴的開源鏈接池 druid

2.主函數就兩部分,初始化連接池和連接MQTT

3.連接池部分

4.連接MQTT部分,訂閱主題

5.從連接池獲取鏈接對象,把數據寫到數據庫

補充

1.關于device/#

一般咱接收所有設備的數據不用 device/#

而且這樣所有人都可以監控所有設備數據,這是不可取的!!

我之所以把所有設備發布的主題設置為 device/XXXXXX 是為了好測試

一般只設置一級主題就可以了不要加? /XXXXXX

咱在服務器上可以直接訂閱 # 就可以獲取所有設備的數據

注意:只有在服務器上才可以

可以在服務器上用調試助手測試下

用戶可以修改程序把鏈接的地址改為 localhost

把訂閱的主題改為 #

重新編譯下工程

重新生成jar包然后按照上面的步驟放到服務器運行即可

結語

用戶可以用以下信息查看數據庫里面的設備歷史數據

IP地址:?mnif.cn

端口號: 3306

用戶名: yang

密碼: 11223344.? 注意后面有個點

總結

以上是生活随笔為你收集整理的esp8266数据上传到mysql数据库_03-STM32+ESP8266+AIR202/302终端管理篇-把设备温湿度数据存储到MySQL数据库(Windows)...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。