Hello everyone i am trying to make a code for my esp8266 with an bmp180 and i cannot upload to mi thingspeak account because it cause error when i upload the code.
i am trying to make a simple viewer for mi house of the temp and pressure and i can't go forward.
can anyone help me?
cheers
#include <Wire.h> //Cargamos la librería Wire
#include <Adafruit_BMP085.h>//Cargamos la librería BMP085
#include <ESP8266WiFi.h>
Adafruit_BMP085 bmp; //Iniciamos una instancia de la librería BMP085
String apiKey = "api code"; // Enter your Write API key from ThingSpeak
const char* ssid = "wifi"; // Enter your WiFi Network's SSID
const char* pass = "password"; // Enter your WiFi Network's Password
const char* server = "api.thingspeak.com";
float temp;
float pres;
float Altitud;
float sea;
WiFiClient client;
void setup()
{
Serial.begin(115200);
delay(10);
if (!bmp.begin()) { //Si hay un error al iniciar la librería...
Serial.println("No se puede iniciar el sensor BMP085, compruebe las conexiones!"); //Mostramos un mensaje
while (1) {} //Detenemos la ejecución
Serial.println("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, pass);
while (WiFi.status() != WL_CONNECTED)
{
delay(100);
Serial.print("*");
}
Serial.println("");
Serial.println("***WiFi connected***");
}
void loop()
{
temp = bmp.readTemperature()
pres = bmp.readPressure()
Altitud = bmp.readAltitude();
sea = bmp.readSealevelPressure()
if (client.connect(server,80)) // "184.106.153.149" or api.thingspeak.com
{
String sendData = apiKey+"&field1="+String(temp)+"&field2="+String(pres)++"&field3="+String(Altitud)+"&field4="+String(sea)+"\r\n\r\n";
//Serial.println(sendData);
client.print("POST /update HTTP/1.1\n");
client.print("Host: api.thingspeak.com\n");
client.print("Connection: close\n");
client.print("X-THINGSPEAKAPIKEY: "+apiKey+"\n");
client.print("Content-Type: application/x-www-form-urlencoded\n");
client.print("Content-Length: ");
client.print(sendData.length());
client.print("\n\n");
client.print(sendData);
//Leemos los valores del sensor y sacamos la temperatura por el monitor serie
Serial.print("Temperatura = ");
Serial.print(bmp.readTemperature());
Serial.println(" *C");
//Leemos los valores del sensor y sacamos la presión atmosférica por el monitor serie
Serial.print("Presión = ");
Serial.print(bmp.readPressure());
Serial.println(" Pa");
//Calculamos la altitud asumiendo la presión barométrica 'standard' a 1013.25 milibares
Serial.print("Altitud = ");
Serial.print(bmp.readAltitude());
Serial.println(" metros");
//Calculamos la presión a nivel del mar usando una función de la librería
Serial.print("Presión a nivel del mar (calculada) = ");
Serial.print(bmp.readSealevelPressure());
Serial.println(" Pa");
}
client.stop();
Serial.println("Sending....");
delay(10000);
}