Hi,
I have the follow code showing on the screen the humidity and temperature, the code works.
So now I need the humidity and temperature values inside the follow variables to get using CURL.
umidade= DHTB.getHumidity();
temperatura=DHTB.getCelsius();
sprintf(message, "{\"umidade\":%f,\"temperatura\":%f}", umidade, temperatura);
So I receive from curl this values:
"cmd": "VarReturn",
"name": "message",
"result": "{\"umidade\":-5.000000,\"temperatura\":-5.000000}",
"coreInfo": {
"connected": true
}
}
I receive only -5.000000, where is the problem?
One problem keeps appearing over and over again.
Don't use the ampersand &
in this line. The variable message
is already a pointer.
hi, I tried removing & but the result is the same
Just to make sure:
What values do you get back when requesting the other two Spark.variables?
Do these show 5.0
aswell?
Do you get correct readings via Serial.print
?
Edit:
You've got
before printSensorData()
- why not move it after the line DHTB.acquire();
?
using Serial.print I can see for example the temperature cº 28 and the humidity 45%
Have you read my edit about your while()
above?
thanks now working fine. Just one more question, After more or less one minute the serial.print stop an if I try a curl I receive a timeout
What does the RGB LED do? What colors do you see?
Have you still got the ampersand removed on the STRING
Spark.variable?
Also try to add SPARK_WLAN_Loop();
in your while()
, just in case acquiring takes longer than expected.
@rbbahia, you allocated 50 bytes for message[] which is not enough. You have two choices:
- Declare message[80] so it is bigger
- Reduce the amount of decimal points in your sprintf since the output of the DHT are not accurate to that many decimal points anyway:
sprintf(message, "{\"umidade\":%3.2f,\"temperatura\":%3.2f}", umidade, temperatura);

1 Like
thank you very much, now is fine
1 Like