php - Arduino 传感器读取不使用 phpmyadmin 和 xampp 上传到 mySql

标签 php mysql phpmyadmin arduino xampp

我想使用 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/

相关文章:

php - 使用 phpexcel 设置一系列单元格的样式

Mysql - 启用innodb_locks_unsafe_for_binlog

mysql - 同一查询中有 2 个条件

php - 我可以为 MySql 表值指定字符串吗?

php - MySQL、PHPMyAdmin - 表列不接受十进制数据类型长度

php - $_SERVER ['DOCUMENT_ROOT' ] 路径在我的 html 链接中不起作用

php - 如何使用 php 将 html 转换为 word?

php - 如何从 laravel 中的关系表中过滤数据

mysql - 从表中选择 WHERE 列在字符串中包含多个逗号分隔值

mysql - 在 phpmyadmin 中创建表时出错