#include <WiFi.h>
#include <HTTPClient.h>
// Cài đặt thông tin WiFi
const char *ssid = "Wokwi-GUEST";
const char *password = "";
// Cài đặt thông tin ThingsBoard
const char *thingsBoardServer = "thingsboard.cloud";
const char *token = "AryDjRhQKvRe9Ei4jrrI";
// Cảm biến nhịp tim (Giả lập)
const int heartBeat_PIN = 35; // Chân ADC kết nối với cảm biến nhịp
int sensorValue = 0;
int heartBeat = 0; // Biến lưu trữ giá trị chuyển đổi
void setup() {
Serial.begin(115200);
// Kết nối WiFi
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting to WiFi...");
}
Serial.println("Connected to WiFi");
}
void loop() {
// Giả lập cảm biến đo nhịp tim
sensorValue = analogRead(heartBeat_PIN);
// Chuyển đổi giá trị sang khoảng 0 - 100
heartBeat = map(sensorValue, 0, 4095, 0, 200);
// Hiển thị giá trị trên cổng Serial
Serial.print("Nhịp tim: ");
Serial.println(heartBeat);
// Gửi dữ liệu lên ThingsBoard
sendToThingsBoard(heartBeat);
delay(1000); // Đợi 1 giây trước khi đọc lại giá trị
}
void sendToThingsBoard(int value) {
HTTPClient http;
// URL của ThingsBoard
String url = "http://" + String(thingsBoardServer) + "/api/v1/" + String(token) + "/telemetry";
// Chuẩn bị dữ liệu JSON
String jsonData = "{\"heartBeat\":" + String(value) + "}";
// Gửi POST request
http.begin(url);
http.addHeader("Content-Type", "application/json");
int httpCode = http.POST(jsonData);
// Kiểm tra kết quả gửi dữ liệu
if (httpCode > 0) {
Serial.println("Data sent to ThingsBoard successfully");
} else {
Serial.println("Failed to send data to ThingsBoard");
}
http.end();
}