使用XAMPP和phpmyadmin将NodeMCU ESP8266的传感器数据发送到MySQL

时间:2019-10-16 08:13:22

标签: php mysql c esp8266 nodemcu

我想将传感器数据发送到数据库。 我有一个问题,我的数据库无法从传感器中获取数据。 我正在使用Nodemcu ESP8266微控制器和DHT11传感器。 我没有任何错误。所以,我不知道为什么它不起作用。 您能帮我检查一下我的编码吗,为什么传感器数据没有插入XAMPP数据库中?

dht11.ino

#include <ESP8266WiFi.h>
#include <WiFiClient.h> 
#include <ESP8266WebServer.h>
#include <ESP8266HTTPClient.h>
#include "DHT.h"

#define DHTPIN D2
#define DHTTYPE DHT11

DHT dht (DHTPIN, DHTTYPE);

const char* ssid = "ice-cream";                  // Your wifi Name       
const char* password = "15479313249";          // Your wifi Password

const char *host = "192.168.0.0"; 

void setup() {

  delay(1000);
  pinMode(BUILTIN_LED, OUTPUT);
  digitalWrite(BUILTIN_LED, HIGH);      // Initialize the Led_OnBoard pin as an output
  Serial.begin(115200);
  WiFi.mode(WIFI_OFF);        //Prevents reconnection issue (taking too long to connect)
  delay(1000);
  WiFi.mode(WIFI_STA);        //This line hides the viewing of ESP as wifi hotspot

  WiFi.begin(ssid, password);     //Connect to your WiFi router
  Serial.println("");

  Serial.print("Connecting");
  // Wait for connection
  while (WiFi.status() != WL_CONNECTED) {
    digitalWrite(BUILTIN_LED, LOW);
    delay(250);
    Serial.print(".");
    digitalWrite(BUILTIN_LED, HIGH); 
    delay(250);
  }

  digitalWrite(BUILTIN_LED, HIGH);
  //If connection successful show IP address in serial monitor
  Serial.println("");
  Serial.println("Connected to Network/SSID");
  Serial.print("IP address: ");
  Serial.println(WiFi.localIP());  //IP address assigned to your ESP
}

void loop() {

  HTTPClient http;    //Declare object of class HTTPClient

   float h = dht.readHumidity();
   float t = dht.readTemperature();

  String humid, temp;
  humid = String (h);
  temp = String (t);

  http.begin("http://localhost/Nodemcu_db_record_view/InsertDB.php");      

  int httpCode_1 = http.POST(humid);
  int httpCode_2 = http.POST(temp);
  String payload = http.getString();    //Get the response payload

  Serial.println(httpCode_1);
  Serial.println(httpCode_2);
  Serial.println(payload);    //Print request response payload

  Serial.println("Humidity=" + humid);
  Serial.println("temperature=" + temp);

  http.end();  //Close connection

  delay(4000);  
  digitalWrite(BUILTIN_LED, LOW);
  delay(6000);
  digitalWrite(BUILTIN_LED, HIGH);
}

InsertDB.php

<?php
    //Connect to database
    $servername = "localhost";      
    $username = "root";     
    $password = ""; 

    // Create connection
    $conn = mysqli_connect($hostname, $username, $password)or die("Could not connect");
    $db = mysqli_select_db( $conn,"temphumidnew")or die("Could not select database");
    // Check connection
    if (mysqli_connect_errno())
    {
        echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }

    //Get current date and time
    date_default_timezone_set('Asia/Malaysia');
    $date= date("Y-m-d");
    $time = date("H:i:s");

    $humid = $_POST['humid'];
        $temp = $_POST['temp'];
    $sql = "INSERT INTO dht11 (humidity, temperature, time, date) VALUES ('$humid', '$temp', '$time', '$date')"; //nodemcu_ldr_table = Youre_table_name
        $result = mysqli_query( $conn,$sql) or die("Query failed");

         if ($result)
         echo " OK";        

        else
         echo "Problem occured !";

    mysqli_close($conn);
?>

0 个答案:

没有答案
相关问题