print("Usina Nuclear")
import network
import time
from machine import Pin, PWM
import dht
import ujson
from umqtt.simple import MQTTClient
# MQTT Server Parameters
MQTT_CLIENT_ID = ""
MQTT_BROKER = "broker.mqttdashboard.com"
MQTT_USER = ""
MQTT_PASSWORD = ""
MQTT_TOPIC1 = "enviar"
MQTT_TOPIC2 = "receber"
sensor_dht = dht.DHT22(Pin(17))
led_verde = Pin(22, Pin.OUT)
led_amarelo = Pin(21, Pin.OUT)
led_laranja = Pin(18, Pin.OUT)
led_vermelho = Pin(15, Pin.OUT)
buzzer = PWM(Pin(14))
buzzer.freq(1000)
buzzer.duty(0)
def alarme_desativado():
buzzer.duty(0)
led_verde.value(1)
led_amarelo.value(0)
led_laranja.value(0)
led_vermelho.value(0)
message = "O resfriamento do reator foi bem sucedido. Temperatura estabilizada!"
print(message)
client.publish(MQTT_TOPIC1, str(message))
time.sleep(2)
client.disconnect()
print("Programa encerrado.")
import sys
sys.exit()
def callback(topic, msg):
print("Mensagem recebida: ", msg.decode())
if msg.decode() == "ativar":
alarme_desativado()
# Parte da comunicação do driver virtual
print("Connecting to WiFi", end="")
sta_if = network.WLAN(network.STA_IF)
sta_if.active(True)
sta_if.connect('Wokwi-GUEST', '')
while not sta_if.isconnected():
print(".", end="")
time.sleep(0.1)
print(" Connected!")
print("Connecting to MQTT server... ", end="")
client = MQTTClient(MQTT_CLIENT_ID, MQTT_BROKER, user=MQTT_USER, password=MQTT_PASSWORD)
client.set_callback(callback)
client.connect()
print("Connected!")
client.subscribe(MQTT_TOPIC2)
while True:
client.check_msg()
sensor_dht.measure()
temperature = sensor_dht.temperature()
if temperature <= 30:
message = "Nível de temperatura estável!"
print(message)
client.publish(MQTT_TOPIC1, str(message))
led_verde.value(1)
led_amarelo.value(0)
led_laranja.value(0)
led_vermelho.value(0)
buzzer.duty(0)
if 30 > temperature <= 50:
message = "Alerta de perigo N1"
print(message)
client.publish(MQTT_TOPIC1, str(message))
led_verde.value(0)
led_amarelo.value(1)
led_laranja.value(0)
led_vermelho.value(0)
buzzer.duty(0)
if 50 > temperature <= 70:
message = "Alerta de perigo N2"
print(message)
client.publish(MQTT_TOPIC1, str(message))
led_verde.value(0)
led_amarelo.value(0)
led_laranja.value(1)
led_vermelho.value(0)
buzzer.duty(0)
if temperature > 70:
message = "Alerta de perigo N3"
print(message)
client.publish(MQTT_TOPIC1, str(message))
led_verde.value(0)
led_amarelo.value(0)
led_laranja.value(0)
led_vermelho.value(1)
buzzer.duty(512)
time.sleep(1)