# Import necessary libraries
import machine
import onewire
import ds18x20
import utime
import urequests # MicroPython library for HTTP requests
# Define GPIO pin for DS18B20 temperature sensor
temp_pin = machine.Pin(4)
# Initialize DS18B20 temperature sensor
ds_sensor = ds18x20.DS18X20(onewire.OneWire(temp_pin))
# Define GPIO pin for simulated heart rate (replace with actual Pulse Sensor code if available)
heart_rate_pin = machine.Pin(5)
def read_temperature():
roms = ds_sensor.scan()
ds_sensor.convert_temp()
utime.sleep_ms(750)
return ds_sensor.read_temp(roms[0])
def read_heart_rate():
# Simulate heart rate data (replace with actual Pulse Sensor code if available)
return 75 + utime.ticks_cpu() % 25
def send_to_thingspeak(temp, heart_rate):
api_key = "BPAOGASI1E9A7OSO"
url = "https://thingspeak.com/channels/2414981/api_keys" + api_key + "&field1=" + str(temp) + "&field2=" + str(heart_rate)
response = urequests.get(url)
print("Data sent to ThingSpeak. Response:", response.text)
response.close()
# Main loop
while True:
temperature = read_temperature()
heart_rate = read_heart_rate()
print("Temperature:", temperature, "°C")
print("Heart Rate:", heart_rate, "bpm")
send_to_thingspeak(temperature, heart_rate)
utime.sleep(30) # Adjust delay based on your requirements