diff --git a/platformio.ini b/platformio.ini index d8e1637..f0865d3 100644 --- a/platformio.ini +++ b/platformio.ini @@ -1,13 +1,38 @@ -[env:Greenhouse] -platform = espressif8266 -board = esp12e +[common] framework = arduino -lib_deps = https://github.com/adafruit/Adafruit_TSL2561 +lib_deps = https://github.com/milesburton/Arduino-Temperature-Control-Library + https://github.com/adafruit/Adafruit_TSL2561 https://github.com/knolleary/pubsubclient https://github.com/adafruit/Adafruit_BME680 -build_flags = -DHOSTNAME=\"Greenhouse\" +build_flags = monitor_speed = 115200 -upload_protocol = espota -upload_port = 10.0.0.169 ;upload_port = /dev/ttyUSB0 ;upload_speed = 460800 + +[esp12e] +platform = espressif8266 +board = esp12e + +[esp32] +platform = espressif32 +board = esp32dev + +[env:GreenhouseUSB] +platform = ${esp12e.platform} +board = ${esp12e.board} +framework = ${common.framework} +lib_deps = ${common.lib_deps} +build_flags = ${common.build_flags} -DNODE_GREENHOUSE -DHOSTNAME=\"Greenhouse\" +monitor_speed = ${common.monitor_speed} +upload_port = /dev/ttyUSB0 +upload_speed = 460800 + +[env:GreenhouseOTA] +platform = ${esp12e.platform} +board = ${esp12e.board} +framework = ${common.framework} +lib_deps = ${common.lib_deps} +build_flags = ${common.build_flags} -DNODE_GREENHOUSE -DHOSTNAME=\"Greenhouse\" +monitor_speed = ${common.monitor_speed} +upload_protocol = espota +upload_port = 10.0.0.169 diff --git a/src/Greenhouse.cpp b/src/Greenhouse.cpp new file mode 100644 index 0000000..898c699 --- /dev/null +++ b/src/Greenhouse.cpp @@ -0,0 +1,24 @@ +#ifdef NODE_GREENHOUSE + +#include "patrix/bme680.h" +#include "patrix/tsl2561.h" + +TSL2561 gardenTSL("garden"); + +BME680 gardenBME("garden"); + +BME680 greenhouseBME("greenhouse"); + +void patrixSetup() { + gardenTSL.setup(); + gardenBME.setup(); + greenhouseBME.setup(); +} + +void patrixLoop() { + gardenTSL.loop(); + gardenBME.loop(); + greenhouseBME.loop(); +} + +#endif \ No newline at end of file diff --git a/src/main.cpp b/src/main.cpp deleted file mode 100644 index f13da4f..0000000 --- a/src/main.cpp +++ /dev/null @@ -1,31 +0,0 @@ -#include -#include "mqtt.h" -#include "tsl2561.h" -#include "wifi.h" - -TSL2561 gardenTSL("garden"); - -BME680 gardenBME("garden"); - -BME680 greenhouseBME("greenhouse"); - -void setup() { - delay(500); - Log.printf("\n\n\nStartup\n"); - wifiConnect(); -} - -void loop() { - wifiLoop(); - mqttLoop(); - if (isSetupTimeAfterBootDelay()) { - gardenTSL.setup(); - gardenBME.setup(); - greenhouseBME.setup(); - } - if (isAfterBootDelay()) { - gardenTSL.loop(); - gardenBME.loop(); - greenhouseBME.loop(); - } -} diff --git a/src/patrix/Patrix.cpp b/src/patrix/Patrix.cpp new file mode 100644 index 0000000..e79f176 --- /dev/null +++ b/src/patrix/Patrix.cpp @@ -0,0 +1,18 @@ +#include "Patrix.h" + +void setup() { + delay(500); + Log.printf("\n\n\nStartup\n"); + wifiConnect(); +} + +void loop() { + wifiLoop(); + mqttLoop(); + if (isSetupTimeAfterBootDelay()) { + patrixSetup(); + } + if (isAfterBootDelay()) { + patrixLoop(); + } +} diff --git a/src/patrix/Patrix.h b/src/patrix/Patrix.h new file mode 100644 index 0000000..1601aab --- /dev/null +++ b/src/patrix/Patrix.h @@ -0,0 +1,11 @@ +#ifndef PATRIX_H +#define PATRIX_H + +#include "wifi.h" +#include "mqtt.h" + +void patrixSetup(); + +void patrixLoop(); + +#endif diff --git a/src/bme680.h b/src/patrix/bme680.h similarity index 92% rename from src/bme680.h rename to src/patrix/bme680.h index fb0bead..b7632f0 100644 --- a/src/bme680.h +++ b/src/patrix/bme680.h @@ -1,8 +1,8 @@ #ifndef BME680_H #define BME680_H -#include -#include +#include "Adafruit_BME680.h" +#include "mqtt.h" class BME680 { @@ -16,7 +16,7 @@ public: unsigned long intervalMs; - explicit BME680(const String& name, const unsigned long interval_ms = 5000) : name(name), intervalMs(interval_ms) { + explicit BME680(String name, const unsigned long interval_ms = 5000) : name(std::move(name)), intervalMs(interval_ms) { // } diff --git a/src/mqtt.cpp b/src/patrix/mqtt.cpp similarity index 99% rename from src/mqtt.cpp rename to src/patrix/mqtt.cpp index 2832270..ccbec93 100644 --- a/src/mqtt.cpp +++ b/src/patrix/mqtt.cpp @@ -2,7 +2,7 @@ #include "wifi.h" #include -#include +#include "PubSubClient.h" #include WiFiClient client; diff --git a/src/mqtt.h b/src/patrix/mqtt.h similarity index 100% rename from src/mqtt.h rename to src/patrix/mqtt.h diff --git a/src/tsl2561.h b/src/patrix/tsl2561.h similarity index 81% rename from src/tsl2561.h rename to src/patrix/tsl2561.h index 6368717..34bfafa 100644 --- a/src/tsl2561.h +++ b/src/patrix/tsl2561.h @@ -1,7 +1,7 @@ #ifndef TSL2561_H #define TSL2561_H -#include +#include "Adafruit_TSL2561_U.h" class TSL2561 { @@ -15,7 +15,7 @@ public: unsigned long intervalMs; - explicit TSL2561(const String& name, const uint8_t address = TSL2561_ADDR_FLOAT, const unsigned long interval_ms = 5000) : tsl(Adafruit_TSL2561_Unified(address)), name(name), intervalMs(interval_ms) { + explicit TSL2561(String name, const uint8_t address = TSL2561_ADDR_FLOAT, const unsigned long interval_ms = 5000) : tsl(Adafruit_TSL2561_Unified(address)), name(std::move(name)), intervalMs(interval_ms) { // } diff --git a/src/wifi.cpp b/src/patrix/wifi.cpp similarity index 100% rename from src/wifi.cpp rename to src/patrix/wifi.cpp diff --git a/src/wifi.h b/src/patrix/wifi.h similarity index 100% rename from src/wifi.h rename to src/patrix/wifi.h