Merge branch 'main' into 'Website_websocket'
# Conflicts: # arduino/node-code/node-code-final/node-code-final.ino # web/classes.js # web/index.html # web/main.js # web/styles.css
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
// Sietse Jonker & Dano van den Bosch
|
||||
// 27/02/2024
|
||||
// Sietse Jonker & Dano Bosch
|
||||
// 28/02/2024
|
||||
|
||||
// include these libraries
|
||||
#include <Wire.h>
|
||||
@@ -21,6 +21,9 @@
|
||||
#define i2c_adress 0x3c
|
||||
#define USE_SERIAL Serial
|
||||
|
||||
// define node identification number
|
||||
#define nodeIdentificationNumber 1
|
||||
|
||||
// make new objects
|
||||
Adafruit_SH1106G display = Adafruit_SH1106G(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire);
|
||||
DHT dht(DHTPIN, DHTTYPE);
|
||||
@@ -69,13 +72,13 @@ void webSocketEvent(WStype_t type, uint8_t * payload, size_t length) {
|
||||
webSocket.sendTXT("Connected");
|
||||
break;
|
||||
case WStype_TEXT:
|
||||
USE_SERIAL.printf("[WSc] get text: %s\n", payload);
|
||||
// USE_SERIAL.printf("[WSc] get text: %s\n", payload);
|
||||
|
||||
// send message to server
|
||||
// webSocket.sendTXT("message here");
|
||||
break;
|
||||
case WStype_BIN:
|
||||
USE_SERIAL.printf("[WSc] get binary length: %u\n", length);
|
||||
// USE_SERIAL.printf("[WSc] get binary length: %u\n", length);
|
||||
hexdump(payload, length);
|
||||
|
||||
// send data to server
|
||||
@@ -128,38 +131,38 @@ bool checkForError(){
|
||||
if (!sgp.IAQmeasure()) {
|
||||
Serial.println("SGP30: BAD");
|
||||
errorSGP30 = true;
|
||||
return true;
|
||||
} else {
|
||||
Serial.println("SGP30: OK");
|
||||
errorSGP30 = false;
|
||||
return false;
|
||||
}
|
||||
|
||||
if (isnan(temperature) || isnan(humidity)){
|
||||
Serial.println("DHT11: BAD");
|
||||
errorDHT11 = true;
|
||||
return true;
|
||||
} else {
|
||||
Serial.println("DHT11: OK");
|
||||
errorDHT11 = false;
|
||||
return false;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
// function to update when interval is met (see intervalCounter variable)
|
||||
void update(){
|
||||
// webSocket.sendTXT("{\"Temp\":\"" + String(temperature) + \",\"Humi\":\" " + String(humidity) + "\",\"eCO2\":\"" + String(sgp.eCO2) + "\",\"TVOC\":\"" + String(sgp.TVOC) + "\"}");
|
||||
webSocket.sendTXT("{\"Temp\":\"" + String(temperature) + "\",\"Humi\":\"" + String(humidity) + "\",\"eCO2\":\"" + String(sgp.eCO2) + "\",\"TVOC\":\"" + String(sgp.TVOC) + "\"}");
|
||||
// webSocket.sendTXT("Temp: " + String(temperature));
|
||||
// webSocket.sendTXT("Humi: " + String(humidity));
|
||||
// webSocket.sendTXT("eCO2: " + String(sgp.eCO2));
|
||||
// webSocket.sendTXT("TVOC: " + String(sgp.TVOC));
|
||||
// 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(nodeIdentificationNumber) + "\", \"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();
|
||||
}
|
||||
|
||||
// function to display data on oled screen
|
||||
@@ -177,12 +180,14 @@ void displayData() {
|
||||
+ "Humi: " + int(humidity) + "%" + '\n'
|
||||
+ "eCO2: " + int(sgp.eCO2) + '\n'
|
||||
+ "TVOC: " + int(sgp.TVOC));
|
||||
|
||||
|
||||
// display the screen
|
||||
display.display();
|
||||
}
|
||||
|
||||
// setup function
|
||||
void setup() {
|
||||
// make serial connection at 115200 baud
|
||||
Serial.begin(115200);
|
||||
|
||||
// tell display what settings to use
|
||||
@@ -191,8 +196,7 @@ void setup() {
|
||||
|
||||
// tell sensors to start reading
|
||||
dht.begin();
|
||||
sgp.begin();
|
||||
|
||||
sgp.begin();
|
||||
|
||||
pinMode(MICPIN, INPUT);
|
||||
pinMode(DHTPIN, INPUT);
|
||||
@@ -203,15 +207,9 @@ void setup() {
|
||||
|
||||
// loop function
|
||||
void loop() {
|
||||
// check for errors
|
||||
checkForError();
|
||||
|
||||
// loop the websocket connection so it stays alive
|
||||
webSocket.loop();
|
||||
|
||||
// display sensordata on oled screen
|
||||
displayData();
|
||||
|
||||
// update when interval is met
|
||||
if (currentMillis - lastMillis >= interval){
|
||||
lastMillis = millis();
|
||||
|
Reference in New Issue
Block a user