Ciao a tutti, ho creato un'applicazione in java che legge e inserisce in un DB, ho esposto dei servizi REST in un server locale, quello che vorrei fare è inviare con arduino yun i dati letti da un sensore tramite chiamata post:
#include<Bridge.h>
#include<HttpClient.h>
#include<Process.h>
int val_Adc = 0;
float temp = 0;
char tempstr[4];
void setup()
{
Bridge.begin();
Serial.begin(9600);
analogReference(EXTERNAL);
}
void loop()
{
HttpClient client;
delay(6000);
val_Adc = 0;
for(byte Ciclo = 0; Ciclo<100; Ciclo++)
{
val_Adc += analogRead(0);
delay(10);
}
val_Adc /= 100;
temp = ((val_Adc * 0.0032) - 0.5) / 0.01;
SerialUSB.print("ciao, sto per inviare questo dato: ");
SerialUSB.println(temp);
String cmd = getCmd(temp);
Serial.println(cmd);
Process p;
p.runShellCommand(cmd);
SerialUSB.println("sono prima del loop");
while(p.running());
SerialUSB.println("il loop è finito");
while(p.available()){
SerialUSB.println("sono qui");
SerialUSB.println(p.readString());
}
}
String getCmd(float temp){
String cmd ="curl -H "Content-Type: application-json" -X POST -d "{"temperatura":"98.08", "umidita":"98.08"} http://localhost:9080/TH.Arduino.Web/th/arduino/insert";
return cmd;
}
momentaneamente sto cercando di inviare dei valori statici, ma non riesco a fare nemmeno questo, il programma non entra mai nel while(p.available()). Qualcuno saprebbe dirmi cosa sbaglio?