欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

esp8266向mysql發送數據

吉茹定2年前15瀏覽0評論

在很多物聯網應用中,將傳感器數據存儲到數據庫中是非常必要的。MySQL是一款流行且穩定的數據庫管理系統,而ESP8266是一款低成本且易于使用的Wi-Fi模塊。本文將介紹如何使用ESP8266將傳感器數據發送到MySQL數據庫中。

首先,先要確保ESP8266能成功連接到Wi-Fi網絡。以下是ESP8266連接Wi-Fi網絡的代碼:

#include <ESP8266WiFi.h>
const char* ssid = "your_SSID";
const char* password = "your_PASSWORD";
void setup() {
Serial.begin(115200);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting to WiFi...");
}
Serial.println("Connected to WiFi");
}
void loop() {
}

接下來,需要在MySQL服務器上創建一個用于存儲傳感器數據的數據庫和表。以下是可以使用的MySQL腳本:

CREATE DATABASE sensor_data;
USE sensor_data;
CREATE TABLE sensor_data readings (id INT(11) UNSIGNED AUTO_INCREMENT PRIMARY KEY, temperature FLOAT, humidity FLOAT, timestamp TIMESTAMP);

在ESP8266中,需要安裝MySQL Connector/C++庫和MySQL Connector/Arduino庫。這些庫都可以在Arduino IDE中進行安裝。

以下是ESP8266發送傳感器數據到MySQL數據庫中的代碼:

#include <ESP8266WiFi.h>
#include <MySQL_Connection.h>
#include <MySQL_Cursor.h>
const char* ssid = "your_SSID";
const char* password = "your_PASSWORD";
IPAddress server_addr(xxx, xxx, xxx, xxx); // MySQL服務器的IP地址
char user[] = "your_USER"; // MySQL服務器的用戶名
char password[] = "your_PASSWORD"; // MySQL服務器的密碼
char db[] = "sensor_data"; // 要連接的數據庫名
WiFiClient client;
MySQL_Connection conn((Client *)&client);
void setup() {
Serial.begin(115200);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting to WiFi...");
}
Serial.println("Connected to WiFi");
Serial.println("Connecting to MySQL...");
if (conn.connect(server_addr, 3306, user, password, db)) {
Serial.println("Connected to MySQL");
} else {
Serial.println("Connection failed");
}
}
void loop() {
float temperature = readTemperature();
float humidity = readHumidity();
storeReading(temperature, humidity);
delay(5000);
}
float readTemperature() {
// 讀取溫度值的代碼
}
float readHumidity() {
// 讀取濕度值的代碼
}
void storeReading(float temperature, float humidity) {
char query[256];
MySQL_Cursor *cursor = new MySQL_Cursor(&conn);
sprintf(query, "INSERT INTO readings (temperature, humidity) VALUES ('%.2f', '%.2f')", temperature, humidity);
cursor->execute(query);
delete cursor;
}

以上代碼中,readTemperature()和readHumidity()函數需要根據實際情況進行實現。storeReading()函數將溫度和濕度值插入到MySQL數據庫中。

到此為止,ESP8266就可以成功將傳感器數據發送到MySQL數據庫中了。