print("Descobrindo as redes...")
""" 
Programa básico de IoT -> 
   Primeira parte 
    Descobrir as redes existentes. 
"""

import network  # importa classe de redes
import time 

sta_if = network.WLAN(network.STA_IF)
sta_if.active(True)
redes = sta_if.scan()
#print(redes)
""" Deve achar a rede emulada pelo browser
 e assim poderemos acessar a internet.
"""
redeAtual = redes[0]
ssid = redeAtual[0].decode()
print("Conentando a rede {0}".format(ssid))
# vamos conectar a rede 
sta_if.connect(ssid, '')
while not sta_if.isconnected():
    print(".", end="")
    time.sleep(0.1)

print("\nConectado...")
# agora estamos conectador a rede podemos
# fazer solicitações 
# vamos fazer da maneira mais baixa.
# isando Sockets...

GET_TEMPLATE = "\
GET /{page} HTTP/1.1\r\n\
Host: {host}\r\n\r\n"

WEATHER_TEMPLATE = "\
v1/forecast?\
latitude={lati}&\
longitude={longi}\
&current_weather=true"

latitude = "-22.9027749"
longitude = "-47.0674244"
reqs = WEATHER_TEMPLATE.format(
    lati = latitude, longi = longitude)

#mhost = "api.open-meteo.com" 
mhost =  "www.slmm.com.br"
mport = 80
get_request = GET_TEMPLATE.format( 
     host=mhost,
     page= "CTC/getLista.php")
print(get_request)

import socket     # importa lib de sockets

sock = socket.socket()
# faço a conexão com o site que desejo ler
sock.connect((mhost, mport))
# mando dados para o socket 
sock.write(get_request)
response = sock.recv(10000)
#print(response.decode())
## separa o cabeçalho do corpo da mensagem
resposta = response.decode()
resposta = resposta.split("\r\n\r\n")
#print(resposta)
dados = resposta[1]

json_Data = dados.split("\r\n")
json_d = json_Data[1]


import json
dado_tratado = json.loads(json_d)
for item in dado_tratado:
    for key in item.keys():
        print(key,'-',item[key], end=" ")
    print("")    


name = "João Vitor Maia"
date = "03/04/23 11:58:00"
enviar_dict = dict(nome = name, data= date)
a_enviar = str(enviar_dict)
msg_tratada = a_enviar.replace("'","\"")

POST_TEMPLATE="\
POST /{site} HTTP/1.1\r\n\
Host: {host}\r\n\
Content-Type: application/json\r\n\
Content-Length: {tam}\r\n\
Accept: application/json\r\n\
\r\n\
{msg_json}\r\n"

request = POST_TEMPLATE.format(
    site = "CTC/insere.php",
    host= mhost,
    tam = str(len(msg_tratada)),
    msg_json = msg_tratada
)


sock.send(request)
response = sock.recv(10000)
print("recebendo\n", response.decode())