我想使用 phpmyadmin 和 xampp 将我的传感器读数上传到 mysql 数据库。我正在使用连接到我的 esp8266 的 arduino uno 进行 wifi 连接。以下是我在 arduino 中上传的代码。这是我的串行监视器输出:serial monitor output .但我无法上传数据库中的任何读数。你能帮我做错什么吗?我对所有这些东西都是新手,所以不太了解。
#include <SoftwareSerial.h>
#include <WiFiEsp.h>
#include <SPI.h>
char ssid[] = "ZONG MBB-E8372-B67D"; // your network SSID (name)
char pass[] = "08522547";
int status = WL_IDLE_STATUS;
SoftwareSerial ser(2, 3); //Rx, Tx
#define trigPin A0
#define echoPin A1
void setup() {
pinMode (trigPin, OUTPUT);
pinMode (echoPin, INPUT);
delay(2000);
Serial.begin(115200);
Serial.println("Wifi Started");
ser.begin(115200);
WiFi.init(&ser);
// check for the presence of the shield
if (WiFi.status() == WL_NO_SHIELD) {
Serial.println("WiFi shield not present");
// don't continue
while (true);
}
while ( status != WL_CONNECTED) {
Serial.print("Attempting to connect to WPA SSID: ");
Serial.println(ssid);
// Connect to WPA/WPA2 network
status = WiFi.begin(ssid, pass);
}
Serial.println("You're connected to the network");
}
void loop() {
int duration, distance, distance1, distance2, duration1, duration2, distance5, distance4;
digitalWrite(trigPin, HIGH);
delayMicroseconds(1000);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = (duration / 2) / 29.1;
Serial.print(distance);
Serial.println("cm");
delay(700);
double value = distance;
String cmd = "AT+CIPSTART=\"TCP\",\"";
cmd += "127.0.0.1"; //ip address of phpmyadmin
cmd += "\",80\r\n";
ser.println(cmd);
delay(5000);
if (ser.find("Error")) {
ser.println("AT+CIPSTART error");
return;
}
String cmd2 = "GET /write_data7.php?"; // Link ke skrip PHP
cmd2 += value;
cmd2 += " HTTP/1.1\r\n";
cmd2 += "Host: 127.0.0.1\r\n\r\n\r\n"; // ip address of phpmyadmin
String pjg = "AT+CIPSEND=";
pjg += cmd2.length();
pjg += "\r\n";
ser.println(pjg);
ser.println(cmd);
delay(500);
if (ser.find(">")) {
ser.print(cmd2);
}
else {
ser.println("AT+CIPCLOSE");
// alert user
ser.println("AT+CIPCLOSE");
}
}
这是我的 PHP 代码:
$con=mysql_connect(DB_HOST,DB_USER,DB_PASSWORD) or die("Failed to connect to MySQL: " . mysql_error());
$db=mysql_select_db(DB_NAME,$con) or die("Failed to connect to MySQL: " . mysql_error());
$sql = "INSERT INTO connected_car_1.sensor (value) VALUES ('".$_GET["value"]."')";
// Execute SQL statement
mysql_query($sql,$con);
mysql_close($con);
?>
我使用的网址是“http://localhost/write_data7.php?” 我得到的错误是 注意: undefined index :第 11 行 C:\xampp\htdocs\write_data7.php 中的值 如果我使用我的 ipaddress 而不是本地主机,我会出现空白屏幕。
如果我发送 url :localhost/write_data7.php?value=100 我得到值 100。
请帮助我在输入 url 或 ip 地址或代码时出错的地方?
最佳答案
您的网址中缺少 value=
部分
String cmd2 = "GET /write_data7.php?";
cmd2 += "value="+value
像这样尝试,您将调用正确的 url。
关于php - Arduino 传感器读取不使用 phpmyadmin 和 xampp 上传到 mySql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38292179/