diff --git a/arduino/node-code/node-code-final/headerFile.h b/arduino/node-code/nodeCodeFinal/headerFile.h similarity index 73% rename from arduino/node-code/node-code-final/headerFile.h rename to arduino/node-code/nodeCodeFinal/headerFile.h index 1ef0ea7..cdf4357 100644 --- a/arduino/node-code/node-code-final/headerFile.h +++ b/arduino/node-code/nodeCodeFinal/headerFile.h @@ -2,11 +2,12 @@ #include #include #include -#include +#include "DHT.h" #include #include -#include +// #include #include +#include // define pins on esp32 #define MICPIN 6 @@ -21,11 +22,12 @@ #define USE_SERIAL Serial // make new objects -Adafruit_SH1106G display = Adafruit_SH1106G(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET); +// Adafruit_SH1106G display = Adafruit_SH1106G(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET); +// Adafruit_SH110X display = Adafruit_SH110X(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET); DHT dht(DHTPIN, DHTTYPE); WiFiMulti WiFiMulti; Adafruit_SGP30 sgp; -WebSocketsClient webSocket; +// WebSocketsClient webSocket; // define variables uint16_t TVOC_base, eCO2_base; diff --git a/arduino/node-code/node-code-final/nodeCode.cpp b/arduino/node-code/nodeCodeFinal/nodeCode.cpp similarity index 100% rename from arduino/node-code/node-code-final/nodeCode.cpp rename to arduino/node-code/nodeCodeFinal/nodeCode.cpp diff --git a/arduino/node-code/node-code-final/nodeCodeFinal.ino b/arduino/node-code/nodeCodeFinal/nodeCodeFinal.ino similarity index 76% rename from arduino/node-code/node-code-final/nodeCodeFinal.ino rename to arduino/node-code/nodeCodeFinal/nodeCodeFinal.ino index eb3c086..d0a60dc 100644 --- a/arduino/node-code/node-code-final/nodeCodeFinal.ino +++ b/arduino/node-code/nodeCodeFinal/nodeCodeFinal.ino @@ -1,12 +1,14 @@ #include +#include nodeReadings esp32Node(); +websockets webSocket(); void setup() { // put your setup code here, to run once: esp32Node.setup(); - esp32Node.websocketSetup(); + webSocket.websocketSetup(); esp32Node.resetValues(); } diff --git a/arduino/node-code/node-code-final/nodeCodeHeader.cpp b/arduino/node-code/nodeCodeFinal/nodeCodeHeader.cpp similarity index 56% rename from arduino/node-code/node-code-final/nodeCodeHeader.cpp rename to arduino/node-code/nodeCodeFinal/nodeCodeHeader.cpp index d2a2ec5..ef05d35 100644 --- a/arduino/node-code/node-code-final/nodeCodeHeader.cpp +++ b/arduino/node-code/nodeCodeFinal/nodeCodeHeader.cpp @@ -48,16 +48,21 @@ void nodeReadings::resetValues() { noise = false; } -// hexdump function for websockets binary handler -void hexdump(const void *mem, uint32_t len, uint8_t cols = 16) { - const uint8_t* src = (const uint8_t*) mem; - USE_SERIAL.printf("\n[HEXDUMP] Address: 0x%08X len: 0x%X (%d)", (ptrdiff_t)src, len, len); - for(uint32_t i = 0; i < len; i++) { - if(i % cols == 0) { - USE_SERIAL.printf("\n[0x%08X] 0x%08X: ", (ptrdiff_t)src, i); - } - USE_SERIAL.printf("%02X ", *src); - src++; - } - USE_SERIAL.printf("\n"); + + +void nodeReadings::update(){ + // display sensordata on oled screen + displayData(); + + // webSocket.sendTXT("{\"Temp\":\"" + String(temperature) + "\",\"Humi\":\"" + String(humidity) + "\",\"eCO2\":\"" + String(sgp.eCO2) + "\",\"TVOC\":\"" + String(sgp.TVOC) + "\"}"); + webSocket.sendTXT("{\"node\": \"" + String(WiFi.macAddress()) + "\", \"Temp\":\"" + String(temperature) + "\",\"Humi\":\"" + String(humidity) + "\",\"eCO2\":\"" + String(sgp.eCO2) + "\",\"TVOC\":\"" + String(sgp.TVOC) + "\"}"); + + sgp.getIAQBaseline(&eCO2_base, &TVOC_base); + + // read dht11 sensor + temperature = float(dht.readTemperature()); + humidity = float(dht.readHumidity()); + + // check if any errors occured when reading sensors + checkForError(); } \ No newline at end of file diff --git a/arduino/node-code/node-code-final/nodeCodeHeader.h b/arduino/node-code/nodeCodeFinal/nodeCodeHeader.h similarity index 90% rename from arduino/node-code/node-code-final/nodeCodeHeader.h rename to arduino/node-code/nodeCodeFinal/nodeCodeHeader.h index 20ed3e4..0959f11 100644 --- a/arduino/node-code/node-code-final/nodeCodeHeader.h +++ b/arduino/node-code/nodeCodeFinal/nodeCodeHeader.h @@ -12,6 +12,9 @@ class nodeReadings { void setup(); void loop(); void resetValues(); + void update(); + + private: }; diff --git a/arduino/node-code/nodeCodeFinal/websockets.cpp b/arduino/node-code/nodeCodeFinal/websockets.cpp new file mode 100644 index 0000000..e1d58be --- /dev/null +++ b/arduino/node-code/nodeCodeFinal/websockets.cpp @@ -0,0 +1,35 @@ +#include "arduino.h" +#include "websockets.h" + +// hexdump function for websockets binary handler +void websockets::hexdump(const void *mem, uint32_t len, uint8_t cols = 16) { + const uint8_t* src = (const uint8_t*) mem; + USE_SERIAL.printf("\n[HEXDUMP] Address: 0x%08X len: 0x%X (%d)", (ptrdiff_t)src, len, len); + for(uint32_t i = 0; i < len; i++) { + if(i % cols == 0) { + USE_SERIAL.printf("\n[0x%08X] 0x%08X: ", (ptrdiff_t)src, i); + } + USE_SERIAL.printf("%02X ", *src); + src++; + } + USE_SERIAL.printf("\n"); +} + +// special function to setup websocket +void websockets::websocketSetup(){ + WiFiMulti.addAP("iotroam", "vbK9gbDBIB"); + WiFiMulti.addAP("LansanKPN-boven", "19sander71vlieland14"); + + while(WiFiMulti.run() != WL_CONNECTED) { + delay(100); + } + + // server address, port and URL + webSocket.begin("145.92.8.114", 80, "/ws"); + + // event handler + webSocket.onEvent(webSocketEvent); + + // try ever 500 again if connection has failed + webSocket.setReconnectInterval(500); +} diff --git a/arduino/node-code/nodeCodeFinal/websockets.h b/arduino/node-code/nodeCodeFinal/websockets.h new file mode 100644 index 0000000..c0a1502 --- /dev/null +++ b/arduino/node-code/nodeCodeFinal/websockets.h @@ -0,0 +1,14 @@ +#ifndef websockerts_h +#define websockerts_h + +#include "Arduino.h" +#include "websocketsHeader.h" + +class websockets { + public: + websockets(); + void hexdump(const void *mem, uint32_t len, uint8_t cols = 16); + private: +}; + +#endif \ No newline at end of file diff --git a/arduino/node-code/nodeCodeFinal/websocketsHeader.h b/arduino/node-code/nodeCodeFinal/websocketsHeader.h new file mode 100644 index 0000000..0bc29a9 --- /dev/null +++ b/arduino/node-code/nodeCodeFinal/websocketsHeader.h @@ -0,0 +1,14 @@ +#include +#include +#include +#include "DHT.h" +#include +#include +#include +#include +#include + + + + +// WebSocketsClient webSocket;