-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlive_data.ino
48 lines (43 loc) · 2 KB
/
live_data.ino
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
void live_data()
{
static String lastSentJsonData = ""; // Static variable to store the last sent jsonData
PIRMotionVal = digitalRead(PIRMotion);
buzzerVal=digitalRead(buzzer);
button1Val=digitalRead(button1);
fanVal = digitalRead (fan);
reverseFanVal = digitalRead(reverseFan);
button2Val=digitalRead(button2);
servo1Val=servo_9.read();
servo2Val=servo_10.read();
gasSensorVal = analogRead(MQ2);
relayVal = digitalRead(relay);
whiteLedVal = digitalRead(whiteLed);
photocellVal=analogRead(photocell);
soilSensorVal = analogRead(soil);
steamSensorVal = analogRead(steam);
// Create a JSON-like string of sensor data
String jsonData = "{\"PIRMotionVal\":" + String(PIRMotionVal) +
",\"buzzerVal\":" + String(buzzerVal) +
",\"button1Val\":" + String(button1Val) +
",\"yellowLedVal\":" + String(yellowLedBrightness) +
",\"fanVal\":" + String(fanVal) +
",\"reverseFanVal\":" + String(reverseFanVal) +
",\"button2Val\":" + String(button2Val) +
",\"servo1Val\":" + String(servo1Val) +
",\"servo2Val\":" + String(servo2Val) +
",\"gasSensorVal\":" + String(gasSensorVal) +
",\"relayVal\":" + String(relayVal) +
",\"whiteLedVal\":" + String(whiteLedVal) +
",\"photocellVal\":" + String(photocellVal) +
",\"soilSensorVal\":" + String(soilSensorVal) +
",\"steamSensorVal\":" + String(steamSensorVal) +
",\"emergencyMode\":" + String(emergencyModeActive) +
"}";
loopCounter++;
// Only send jsonData if it has changed since the last check
if (jsonData != lastSentJsonData && emergencyModeActive?true:loopCounter % 1000 == 0) {
Serial.println(jsonData); // Send the JSON string via Bluetooth
lastSentJsonData = jsonData; // Update the lastSentJsonData
loopCounter = 0; // Reset counter after sending data
}
}