#include <ThingSpeak.h>
#include <WiFi.h>
#include <DHTesp.h>
WiFiClient client;
long myChannelNumber = 2768188;
const char * myWriteAPIKey = "X9RSOFOH763ULDX8";
int statusCode;
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
DHTesp jeeva;
TempAndHumidity data;
#define ncom 3
char commar[ncom] = {0x1,0x3,0x5};
char respar[ncom][30]={"BLOOD PRESSURE: ","PULSE RATE: ","OXYGEN: "};
uint8_t rtValue[ncom];
int temp;
void setup() {
ThingSpeak.begin(client);
WiFi.mode(WIFI_STA);
Serial2.begin(9600, SERIAL_8N1, 16, 17);
jeeva.setup(15, DHTesp::DHT22);
Serial.begin(9600);
}
void sendData() {
for (uint8_t i = 0; i< ncom;i++)
{
Serial2.print((char)commar[i]);
if (Serial2.available())
{
rtValue[i]= Serial2.read();
Serial2.flush();
Serial.print(respar[i]);
Serial.println(rtValue[i]);
}
}}
void loop() {
data= jeeva.getTempAndHumidity();
int temp=int(data.temperature);
if(WiFi.status() != WL_CONNECTED)
{
Serial.print("Attempting to connect");
while(WiFi.status() != WL_CONNECTED)
{
WiFi.begin(ssid, pass);
Serial.print(".");
delay(5000);
}
Serial.println("\nConnected.");
}
ThingSpeak.setField(1, rtValue[2]);
ThingSpeak.setField(2, rtValue[0]);
ThingSpeak.setField(3, rtValue[1]);
ThingSpeak.setField(4, temp);
statusCode = ThingSpeak.writeFields(myChannelNumber,myWriteAPIKey);
if(statusCode == 200) {
Serial.println("Channel update successful.");
}
else {
Serial.println("Problem Writing data. HTTP error code :" +
String(statusCode));
}
delay(10);
}