#include <Wire.
h>
#include <WiFi.h>
#include <HTTPClient.h>
#include <Adafruit_SSD1306.h>
#include "MAX30105.h"
#include "Adafruit_MLX90632.h"
#include "Adafruit_SHTC3.h"
#include "Adafruit_LSM6DS3.h"
// WiFi credentials
const char* ssid = "YOUR_WIFI";
const char* password = "YOUR_PASS";
// Server endpoint (Flask or Cloud dashboard)
const char* server = "[Link]
// Objects for sensors
MAX30105 particleSensor;
Adafruit_MLX90632 mlx = Adafruit_MLX90632();
Adafruit_SHTC3 shtc3 = Adafruit_SHTC3();
Adafruit_SSD1306 display(128, 64, &Wire);
// Setup
void setup() {
[Link](115200);
// Connect WiFi
[Link](ssid, password);
while ([Link]() != WL_CONNECTED) {
delay(500);
[Link](".");
[Link]("WiFi Connected!");
// Init display
if() {
[Link]("SSD1306 allocation failed");
for(;;);
[Link]();
[Link](1);
[Link](SSD1306_WHITE);
[Link](0,0);
[Link]("Firefighter Health");
[Link]();
// Init sensors
[Link](Wire, I2C_SPEED_STANDARD);
[Link]();
[Link]();
// Loop
void loop() {
// Dummy values (replace with actual sensor reads)
float heartRate = 78.0;
float temp = [Link]();
sensors_event_t humidity, temp_event;
[Link](&humidity, &temp_event);
float hum = humidity.relative_humidity;
// Display on OLED
[Link]();
[Link](0,0);
[Link]("HR: %.1f\n", heartRate);
[Link]("Temp: %.1f C\n", temp);
[Link]("Hum: %.1f %%\n", hum);
[Link]();
// Send to server
if([Link]() == WL_CONNECTED) {
HTTPClient http;
[Link](server);
[Link]("Content-Type", "application/json");
String json = "{";
json += "\"hr\":" + String(heartRate) + ",";
json += "\"temp\":" + String(temp) + ",";
json += "\"hum\":" + String(hum);
json += "}";
int httpResponseCode = [Link](json);
if(httpResponseCode > 0) {
[Link]("Data sent, code: %d\n", httpResponseCode);
} else {
[Link]("Error: %s\n", http
.errorToString(httpResponseCode).c_str());
}
[Link]();
delay(2000);