import network
import time
from machine import Pin, ADC
import math
import ujson
from umqtt.simple import MQTTClient
BETA = 3950; # should match the Beta Coefficient of the thermistor
ntc1 = ADC(Pin(34))
# Configura o pino do potenciômetro (entrada analógica)
adc = ADC(Pin(34))
adc.atten(ADC.ATTN_11DB)# Atenuação para ler até ~3.3V
def read_ntc_temperature():
analog_value = adc.read()
#print(analog_value)
temperature_celsius = 1 / (math.log(1 / (4096 / analog_value - 1)) / BETA + 1.0 / 298.15) - 273.15
return temperature_celsius
# MQTT SERVER
SERVIDOR = "broker.hivemq.com"
######TROQUE O TÓPICO E NOME DO ESP
MQTT_TOPICOT = "TemperaturaJuliano"
NOMEDOESP32 = "ESP32Juliano"
#####
####ROTEADOR WiFi - Troque conforme a rede WiFi usada
SSID='Wokwi-GUEST'
PASSWORD=''
#######
print("Conectando-se ao WiFi", end="")
sta_if = network.WLAN(network.STA_IF)
sta_if.active(True)
sta_if.connect(SSID, PASSWORD)
while not sta_if.isconnected():
print(".", end="")
time.sleep(0.1)
print(" Conectado!")
print("Conectando-se ao servidor MQTT... ", end="")
client = MQTTClient(NOMEDOESP32, SERVIDOR, 1883)
client.connect()
print("Conectado!")
while True:
temperatura = str(read_ntc_temperature())
print(temperatura)
client.publish(MQTT_TOPICOT, temperatura)
time.sleep(5)