#include #include #include #include Adafruit_BME280 bme; // I2C unsigned long delayTime; char rec1; String comando; String data; float temp; float hu; float pres; void setup() { //Begin serial comunication with Arduino and Arduino IDE (Serial Monitor) Serial.begin(9600); Serial3.begin(9600); delay(2000); Serial.println("Setup Seria Complete!"); Serial.println(F("BME280 test")); bool status; // default settings // (you can also pass in a Wire library object like &Wire2) status = bme.begin(); if (!status) { Serial.println("Could not find a valid BME280 sensor, check wiring!"); while (1); } Serial.println("-- Default Test --"); delayTime = 1000; do { Serial.write(Serial3.read()); //delay (100); } while (Serial3.available()); Serial.println(); Serial3.write("ATE 1\r\n"); Serial3.write("AT+CMGF=1\r\n"); delay(1000); Serial3.write("AT+CMGS=\"606******\"\r\n"); delay(1000); Serial3.write("iniciado"); delay(1000); Serial3.write(char(26)); delay(1000); do {Serial.write(Serial3.read());} while (Serial3.available()); delay (1000); do {Serial.write(Serial3.read());} while (Serial3.available()); } void loop() { temp=bme.readTemperature(); hu=bme.readHumidity(); pres=((bme.readPressure())/100); data="Temp="+String(temp)+" Hum="+String(hu)+" Pres="+String(pres); ///Read SIM800 output (if available) and print it in Arduino IDE Serial Monitor while ( Serial3.available() ) { rec1=Serial3.read(); comando.concat(rec1); if ((comando.indexOf("606******")>0)) { Serial.println(comando.indexOf("606******")); Serial.println(data); Serial.print(comando); comando=""; Serial3.write("AT+CMGF=1\r\n"); delay(1000); Serial3.write("AT+CMGS=\"606******\"\r\n"); delay(1000); Serial3.println(data); delay(2000); Serial3.write(char (26)); delay(3000); do {Serial.write(Serial3.read());} while (Serial3.available()); delay(1000); do { Serial.write(Serial3.read());} while (Serial3.available()); } } }