#include #include #include #include #include #include #include #define ENABLE_PIN1 D5 // 8 // dir #define ENABLE_PIN2 D6 // 9 // speed #define SERIAL_RO D7 // 10 #define SERIAL_DI D8 // 11 #define WIFIUSR "weather" #define WIFIPWD "dslakweatherpwd" #define DATA_DELAY 10000 ESP8266WiFiMulti WiFiMulti; BME280I2C bme; const byte codes[] = {0x01 ,0x03 ,0x00 ,0x00 ,0x00 ,0x02 ,0xC4 ,0x0B}; const char server[] PROGMEM = "http://2.233.91.82/weather/api/station?data=capaccio|%d|%d|%f|%f|%f"; byte values[2][20]; SoftwareSerial sensor(SERIAL_RO, SERIAL_DI); int windSpeed = 0; int windDirection = 0; float temperature = 0; float humidity = 0; float pressure = 0; void setup() { // Initialize Serial Monitor for debugging Serial.begin(9600); while(!Serial); // Initialize a Wire Wire.begin(); while(!bme.begin()){ Serial.println("Could not find BME280 sensor!"); delay(1000); } // Initialize a SoftwareSerial sensor.begin(4800); delay(500); pinMode(ENABLE_PIN1, OUTPUT); pinMode(ENABLE_PIN2, OUTPUT); // Initialize WiFi for (uint8_t t = 4; t > 0; t--) { Serial.printf("[SETUP] WAIT %d...\n", t); Serial.flush(); delay(1000); } WiFi.mode(WIFI_STA); WiFiMulti.addAP(WIFIUSR, WIFIPWD); } void loop() { getWind(); Serial.print("Direction: "); Serial.println(windDirection); Serial.print("Speed: "); Serial.println(windSpeed); getBME280Data(); Serial.print("Temp: "); Serial.println(temperature); Serial.print("Hum: "); Serial.println(humidity); Serial.print("Pres: "); Serial.println(pressure); sendData(); delay(DATA_DELAY); }