from machine import Pin, RTC
from time import sleep
import network
import urequests
import esp
esp.osdebug(None)
import gc
gc.collect()
ssid = 'domotica'
password = ''
print('##### Iniciando')
station = network.WLAN(network.STA_IF)
station.active(False) #desativa eventuais conexões anteriores
sleep(2)
station.active(True)
station.connect(ssid, password)
while station.isconnected() == False:
pass
print('Conexao OK!')
print(station.ifconfig())
print("IP: " , station.ifconfig()[0])
print("Mascara: " , station.ifconfig()[1])
print("GetWay: " , station.ifconfig()[2])
print("DNS: " , station.ifconfig()[3])
rtc = RTC()
anterior=''
horario=''
def sincronizar_relogio():
global atuHorario
url='https://worldtimeapi.org/api/timezone/America/Sao_Paulo'
try:
resposta=urequests.get(url)
if resposta.status_code == 200:
#print ('JSON:' , resposta.text)
json=resposta.json()
agora=str(json["datetime"])
ano=int(agora[0:4])
mes=int(agora[5:7])
dia=int(agora[8:10])
hora=int(agora[11:13])
minuto=int(agora[14:16])
segundo=int(agora[17:19])
subsegundo=int(round(int(agora[20:26])/10000))
rtc.datetime((ano,mes,dia,0,hora,minuto,segundo,subsegundo))
print('RTC Atualizado: ' , *rtc.datetime())
atuHorario="{4:02d}:{5:02d}".format(*rtc.datetime())
else:
print ('#### Erro = RTC não sincronizado')
except OSError as e:
print('>>>> Erro = Sem acesso a internet')
sincronizar_relogio()
while True:
data="{2:02d}/{1:02d}/{0:04d}".format(*rtc.datetime())
horario="{4:02d}:{5:02d}:{6:02d}".format(*rtc.datetime())
if horario != anterior:
print('Data:' , data, '|| Hora:' , horario)
anterior=horario