如何在Arduino / Galileo Gen 2中调用多个Web服务

时间:2018-10-31 17:16:16

标签: arduino

我正在研究伽利略第二代;
我正在尝试使用以下两个Web服务:

  1. POST /dashboard/read_write_ard.php?temp="+tempValue
  2. POST /dashboard/appinsert.php?valeur="+tempValue

第一个插入到表一中...
而第二个仅在({tempValue < 24)时使用。

到目前为止,这是我的代码:

#include <SPI.h>
#include <Ethernet.h>
#include <Wire.h>
#include "rgb_lcd.h"

rgb_lcd lcd;      
const int pinLight = A1;
const int pinLed   = 13; 
const int thresholdvalue = 400; 
const int  idealLightValue = 400 ;  

const int pinTemp = A0;
const int B = 3975;
int etat=0;

const int pinSound = A2;
byte mac[] = {
      0x98, 0x4F, 0xEE, 0x05, 0x37, 0x33
};//adress mac du carte 

EthernetClient client;
IPAddress server(192,168, 1,7); 
void setup() {

     Serial.begin(9600);  
        pinMode(pinLed, OUTPUT);  
      lcd.begin(16, 2);
      delay(1000);

      system("ifup eth0");

   if (Ethernet.begin(mac) == 0) {

     Serial.println("\nFailed to configure Ethernet using DHCP");    
     delay(500);
  }

  delay(1000);
  Serial.println(Ethernet.localIP());
  }

  void loop() {
     system("ifup eth0");
    digitalWrite(pinLed, HIGH);    

    lcd.print("Starting to loop ");
    delay(1000);
    lcd.clear();

    int TempSensorValue = analogRead(pinTemp);
    int LightSensorValue = analogRead(pinLight);
    int SoundSensorValue = analogRead(pinSound);
    float resistance = (float)(1023-TempSensorValue)*10000/TempSensorValue;
    int temperature = 1/(log(resistance/10000)/B+1/298.15)-273.15;
    Serial.println( temperature);
    Serial.println(SoundSensorValue);
    Serial.println( LightSensorValue);


     delay(1000); 

   String chEtat = "POST /dashboard/read_write_ard.php?temp=";
          chEtat += temperature ;
          chEtat += "&light=";
          chEtat += LightSensorValue;
          chEtat +="&sound=";
          chEtat +=SoundSensorValue;



 if (client.connect(server, 80)  ) {
     Serial.println("connected");

    lcd.print("Connected ");
     delay(500);
     lcd.clear();

      if (temperature <= 40 ){
    String chEtat2 = "POST /dashboard/appinsert.php?valeur=";
     chEtat2 += temperature ;
      chEtat2 += "&type=temperature" ;
    client.println(chEtat2);
    client.println(chEtat);

    }else{

      client.println(chEtat);
      client.println();

      }

  }


  while (client.available()) {
char c = client.read();
   Serial.print(c);

  } 
 if(client.connected()) {
    Serial.println();
    Serial.println("disconnecting.");
           lcd.print("Dissconnecting");
    delay(1000);
    lcd.clear();
    client.stop();
    for (;;);
  }
}

我有一个包含2个表的数据库-一个用于温度等警报值,另一个用于正常情况下的数据库-因此我想在我的购物车Galileo可以在表1中添加代码时添加一个代码:正常。

在温度为24的情况下,将使用为此创建的Web服务将该温度的值添加到第二个表中。

我想知道如何尽快获取这些数据。

0 个答案:

没有答案