diff --git a/platformio.ini b/platformio.ini index 9d81aa3..844d91b 100644 --- a/platformio.ini +++ b/platformio.ini @@ -13,7 +13,7 @@ platform = espressif8266 board = esp01_1m framework = arduino monitor_speed = 115200 - +; upload_port = /dev/cu.usbserial-22410 lib_deps = PubSubClient DHT sensor library \ No newline at end of file diff --git a/src/SimpleWeather.cpp b/src/SimpleWeather.cpp index 29c2b4d..748aa2f 100755 --- a/src/SimpleWeather.cpp +++ b/src/SimpleWeather.cpp @@ -1,3 +1,4 @@ +#include #include #include #include "DHT.h" @@ -13,19 +14,15 @@ const char* temperatureTopic = "sensors/dht2/temperature"; unsigned long lastMeasureAttempt = 0; -// DHT dht; DHT dht(DHTPIN, DHTTYPE); WiFiClient espClient; PubSubClient client(espClient); -const long measurementInterval = 5000; //dht.getMinimumSamplingPeriod(); +const long measurementInterval = 5000; -void setup() { - Serial.begin(115200); - Serial.println(); - setup_wifi(); - client.setServer(mqttServer, mqttPort); - dht.begin(); +void yield(unsigned long yieldDuration) { //overload yield function to allow for any ms delay + unsigned long yieldBegan = millis(); + while ( (millis() - yieldBegan) < yieldDuration ) yield(); } void setup_wifi() { @@ -39,6 +36,17 @@ void setup_wifi() { Serial.println(WiFi.localIP()); } +void reportResults(float temp, float humid) { + if (!isnan(temp) || !isnan(humid)) { + Serial.println("-----------------------"); + Serial.println("Humidity (%): " + String(humid)); + Serial.println("Temperature (°C): " + String(temp)); + Serial.println("-----------------------"); + client.publish(humidityTopic, String(humid).c_str(), true); + client.publish(temperatureTopic, String(temp).c_str(), true); + } +} + void reconnect() { while (!client.connected()) { Serial.print("Attempting MQTT connection..."); @@ -53,6 +61,14 @@ void reconnect() { } } +void setup() { + Serial.begin(115200); + Serial.println(); + setup_wifi(); + client.setServer(mqttServer, mqttPort); + dht.begin(); +} + void loop() { if (WiFi.status() != WL_CONNECTED) setup_wifi(); if (!client.connected()) reconnect(); @@ -62,21 +78,3 @@ void loop() { lastMeasureAttempt = millis(); } } - -void reportResults(float temp, float humid) { - if (!isnan(temp) || !isnan(humid)) { - Serial.println("-----------------------"); - Serial.println("Humidity (%): " + String(humid)); - Serial.println("Temperature (°C): " + String(temp)); - Serial.println("-----------------------"); - client.publish(humidityTopic, String(humid).c_str(), true); - client.publish(temperatureTopic, String(temp).c_str(), true); - } -} - -void yield(unsigned long yieldDuration) { //overload yield function to allow for any ms delay - unsigned long yieldBegan = millis(); - while ( (millis() - yieldBegan) < yieldDuration ) { - yield(); - } -}