Uma das vantagens de qualquer ferramenta de desenvolvimento é a conexão, ou via bluetooth ou wifi. Para isso a Raspberry Pi lançou a versão W para as placas Pi Pico, tanto para a primeira como para a segunda versão. A seguir temos um passo a passo de como conectar a sua Pi Pico 2 W numa rede WiFi.

Neste link temos o vídeo com a explicação do artigo - https://www.youtube.com/watch?v=I1BzaZ3iqd0

 

Scaneando as redes locais

Primeiro vamos escanear as rede que são detectáveis para a localização da aplicação. Para isso usamos o código abaixo:

import network # biblioteca responsável pela conexão

# Inicializa interface Wi-Fi
redew = network.WLAN(network.STA_IF)
redew.active(True)

# Função que escanea as Redes  Wi-Fi 
redes = redew.scan()

# Imprimir Nome e RSSI das Redes Wi-Fi 
print("Redes WiFi disponiveis:")
for rede_info in redes:
    print("Rede = ", rede_info[0], "RSSI = ",rede_info[3] )

 

Realizando a conexão

Para maior praticidade e segurança, vamos aqui criar 2 arquivos, sendo o secrets.py onde armazenaremos o nome da rede e senha. Isso ajuda muito quando temos diversos códigos que acessam a rede wifi, pois se precisarmos trocar a senha ou o nome da rede, faremos isso apenas uma vez, no arquivo secrets.py. No arquivo que irá executar a conexão chama este secrets.py como uma biblioteca cimu.
Abaixo o secrets.py

#Conteudo do programa secrets.py

login = {
    'ssid'     : 'coloque nome da sua rede', 
    'password' : 'coloque aqui sua senha'
}

 

Abaixo temos o programa principal com as devidas linhas comentadas.
Conexao.py

import network
import requests
import json
import secrets
from time import sleep

#Credenciais Wi-Fi 

#arquivo secrets.py
ssid = secrets.login['ssid'] #Nome da rede
password = secrets.login['password'] #senha

# Inicializa interface Wi-Fi
redew = network.WLAN(network.STA_IF)
redew.active(True)

# Conectar na rede 
redew.connect(ssid, password)
#arquivo secrets.py

# Espera por conexao Wi-Fi
connection_timeout = 10
while connection_timeout > 0:
    if redew.status() >= 3:
        break
    connection_timeout -= 1
    print('Aguarde para conexao Wi-Fi...')
    sleep(1)

# Checar se conexao foi sucedida
if redew.status() != 3:
    raise RuntimeError('Falha para estabelecer conexao na rede')
else:
    print('Conexao com sucesso!')
    rede_info = redew.ifconfig()
    print('Endereco IP :', rede_info[0])
    
# Faz requisicao
resposta = requests.get("http://goweather.xyz/weather/Lima")

# Get response code
resposta_code = resposta.status_code
#print( "Codigo recebido = ",resposta_code)
# Conteudo recebito.
resposta_content = resposta.content
#print('Response content:', resposta_content)

dados = resposta.json()

for chave in dados:{
    #print(chave,":", dados[chave])
}

print("Temperatura = ", dados["temperature"] )


"""
Json de data
{'forecast': [{'temperature': '25 \xb0C', 'day': '1', 'wind': '14 km/h'}, 
              {'temperature': '+23 \xb0C', 'day': '2', 'wind': '14 km/h'},
              {'temperature': '19 \xb0C', 'day': '3', 'wind': '24 km/h'}], 
  'wind': '9 km/h', 
  'temperature': '+32 \xb0C', 
  'description': 'Patchy rain nearby'}]}

"""

NO YOUTUBE


NOSSO PODCAST