簡體   English   中英

PhpMyAdmin表給出空列

[英]PhpMyAdmin table gives empty column

我正在開發一個項目,使用GET請求將傳感器數據發送到phpmyadmin表。

當我認為我的Arduino是客戶端時,我無法在表中看到傳感器數據,但是當我在我的Google Chrome瀏覽器上使用此URL時,它會顯示結果(例如40)。 似乎問題出在Arduino代碼上。

int samples[NUMSAMPLES];
void loop() {
// Thermistor

 uint8_t i;
  float average;
  // take N samples in a row, with a slight delay
   for (i=0; i< NUMSAMPLES; i++) {
   samples[i] = analogRead(THERMISTORPIN);
    delay(10);
    }

  // average all the samples out
    average = 0;
    for (i=0; i< NUMSAMPLES; i++) {
    average += samples[i];
     }
    average /= NUMSAMPLES;


   // convert the value to resistance
   average = 1023 / average - 1;
   average = SERIESRESISTOR / average;

    float Steinhart;
    Steinhart = average / THERMISTORNOMINAL;     // (R/Ro)
    Steinhart = log(Steinhart);                  // ln(R/Ro)
    Steinhart /= BCOEFFICIENT;                   // 1/B * ln(R/Ro)
    Steinhart += 1.0 / (TEMPERATURENOMINAL + 273.15); // + (1/To)
    Steinhart = 1.0 / Steinhart;                 // Invert
    Steinhart -= 273.15;                         // convert to C

    Serial.print("Temperature "); 
    Serial.print(Steinhart);
    Serial.println(" *C");

     delay(5000);


     Serial.println("\nStarting connection to server...");
     // if you get a connection, report back via serial:
    if (client.connect(server, 80)) {
      Serial.println("connected to server");
      // Make a HTTP request:
       client.println("GET /add.php?");
       client.print("Steinhart=");
        client.print(Steinhart);
         }

       // if there are incoming bytes available 
        // from the server, read them and print them:
        while (client.available()) {
        char c = client.read();
        Serial.write(c);
        }
        }

     void setup() {
     //Initialize serial and wait for port to open:
       Serial.begin(9600); 
       while (!Serial) {
       ; // wait for serial port to connect. Needed for Leonardo only
       }


       // check for the presence of the shield:
       if (WiFi.status() == WL_NO_SHIELD) {
        Serial.println("WiFi shield not present"); 
          // don't continue:
           while(true);
        } 

   // attempt to connect to Wifi network:
    while (status != WL_CONNECTED) { 
     Serial.print("Attempting to connect to SSID: ");
      Serial.println(ssid);
        // Connect to WPA/WPA2 network. Change this line if using open or WEP network:    
        status = WiFi.begin(ssid);

      // wait 10 seconds for connection:
       delay(10000);
        } 
        Serial.println("Connected to wifi");
        printWifiStatus();


       } // end of void setup()

這是我的PHP代碼:add.php文件

  <?php

   include("connect.php");

    $link=Connection();

     $Steinhart = ""; // or null !!
     $timeStamp="";

        $Steinhart = isset($_GET['Steinhart']) ? $_GET['Steinhart'] : '';

       date_default_timezone_set("Asia/Dubai");
       $timeStamp = date('Y-m-d H:i:s', time());


      $query= "INSERT INTO `time` (`id`, `timeStamp`, `Steinhart`) VALUES (NULL, '$timeStamp','$Steinhart')";
      mysqli_query($link, $query);
      mysqli_close($link);

      ?>

我通常在NodeJS的幫助下將數據從Arduino板發送到PhpmyAdmin(Wamp Server或XXamp)。 在NodeJS的幫助下發送數據非常容易。 在這里我附上代碼。

var request = require('request');
var serialport = require("serialport");
var SerialPort = serialport.SerialPort;

var serialPort = new SerialPort("COM5", {
  baudrate: 9600,
  parser: serialport.parsers.readline("\n")
});


serialPort.on("open", function () {
  console.log('open');
  serialPort.on('data', function(data) {
    console.log(data);
  });
});

serialPort.on('data', sendSerialData);

function sendSerialData(data) {
 request({
  uri: "http://127.0.0.1/write_data.php?value="+data,
 method: "GET",
  timeout: 10000,
   followRedirect: true,
   maxRedirects: 10
}, function(error, response, body) {
   console.log(body);
});


}

通過這種方式,您可以輕松發送數據。 您也可以點擊此鏈接

http://www.instructables.com/id/PART-1-Send-Arduino-data-to-the-Web-PHP-MySQL-D3js/

希望它會有所幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM