Spedizione gratuita da 74,95 € NL (99,95 € BE/DE)

Consegna veloce con DHL

Ordinato prima delle XNUMX:XNUMX = Spedito oggi

Restituzione entro XNUMX giorni*


Paese

Raspberry Pi progetto: Bot delle previsioni del tempo

Con questo progetto lo farai Raspberry Pi 5 essere in grado di inviarti un bollettino meteorologico giornaliero tramite Telegram. Questo bollettino meteorologico contiene informazioni come le condizioni meteorologiche attuali e la temperatura per una città selezionata. Questo progetto offre una grande opportunità per imparare a... Raspberry Pi può utilizzare per applicazioni pratiche e per familiarizzare con la programmazione Python. Imparerai anche come utilizzare un'API. È anche possibile creare questo progetto con il file Raspberry Pi 4B.

 Questa guida trattava: 

  • accessori
  • Ottieni il bot Telgram e la chiave API
  • Installa le librerie Python
  • Code
  • Esegui il codice
  • Principiante 40% 40%
  • 30 45-min 45% 45%
  • Costa € 105,81 55% 55%

Passaggio 1: forniture:

Passaggio 2: ottieni il bot di Telegram e la chiave API

a. Crea un bot di Telegram contattando il BotFather in Telegram.

B. Prendi nota del token bot che ricevi da BotFather.

C. Registrati sul sito Web OpenWeatherMap e ottieni una chiave API gratuita

Immagine di un AstroPi

Passaggio 3: installa le librerie Python

Prima di poter eseguire il codice, assicurati di avere installate le librerie Python necessarie Raspberry Pi 5. È possibile installare queste librerie utilizzando seme, il gestore dei pacchetti Python. Apri un terminale su di te Raspberry Pi 5 ed esegui i seguenti comandi per installare python e pip:

sudo apt-get update
sudo apt-get upgrade
sudo apt install python3
sudo apt install python3-pip

Ora installa le librerie Python

richieste di installazione pip
pip installa python-telegram-bot

Infine, riavvia il Raspberry Pi per completare l'installazione:

sudo reboot

Passaggio 4: codice

Copia e incolla il codice in Thonny. Sostituisci i segnaposto nel codice (come "YOUR_BOT_TOKEN" e "YOUR_OPENWEATHERMAP_API_KEY") con il token bot e la chiave API effettivi che hai ottenuto.

richieste di importazione
importa datetime
dal Bot di importazione telegrammi
tempo di importazione
importa asincio

 

 

# Sostituisci 'YOUR_BOT_TOKEN' con il tuo token bot di Telegram
bot_token = 'IL TUO_BOT_TOKEN_QUI'

# Sostituisci 'CITTÀ' con il nome della città per la quale desideri recuperare il meteo
città = 'Amersfoort'

# Sostituisci 'YOUR_OPENWEATHERMAP_API_KEY' con la tua chiave API OpenWeatherMap gratuita
api_key = 'IL TUO_OPENWEATHERMAP_API_KEY_QUI'

 

# Funzione per ottenere le previsioni del tempo
asincrono def get_weather():
    base_url = 'http://api.openweathermap.org/data/2.5/weather'
    parametri = {
        'q': città,
        'appid': chiave_api,

        'unità': 'metrico' # Usa 'imperiale' per Fahrenheit invece di Celsius
     }
    risposta = request.get(base_url, params=params)
    dati_meteo = risposta.json()

    se response.status_code == 200:
        meteo_descrizione = meteo_data['meteo'][0]['descrizione']
        temperatura = dati_meteo['main']['temp']
        return f'Il tempo a {city} oggi: {weather_description}, Temperatura: {temperature}°C'
    altro:
        return 'Non è stato possibile recuperare le previsioni del tempo.'

 

 

# Funzione per inviare un messaggio Telegram
async def send_telegram_message(messaggio):
    bot = Bot(token=bot_token)
    chat_id = 'YOUR_CHAT_ID_HERE' # Sostituiscilo con il tuo ID chat

    attendono bot.send_message(chat_id=chat_id, text=messaggio)

    # Esegui il codice continuamente

 

 

asincrono def main():

    mentre vero:
        adesso = datetime.datetime.now()
        if now.hour == 14 and now.minute == 5: # Sostituiscilo con l'ora desiderata
            report_meteo = attendono get_weather()
            attendono send_telegram_message(weather_report)

            # Attendi qualche istante per evitare che vengano inviati più messaggi in rapida successione
            wait asyncio.sleep(60) # Attendi 60 secondi (aggiustalo se necessario)
        altro:
            # Attendi un attimo prima che l'ora venga nuovamente controllata
            wait asyncio.sleep(60) # Attendi 60 secondi (aggiustalo se necessario)

 

 

se __name__ == "__main__":
    asyncio.run(main())

Passaggio 5: esegui il codice

a. Salva lo script Python con un nome appropriato, ad es weer_project.py.

B. Passa alla cartella in cui hai salvato lo script Python.

C. Esegui lo script con il seguente comando:

python meteo_project.py

Lo script si avvia e controlla ogni minuto se è il momento di recuperare le previsioni del tempo e inviarle alla tua chat di Telegram. Per verificare se funziona correttamente, è possibile regolare l'ora su un tempo a 2 minuti di distanza e quindi eseguire il codice.

 E questo è tutto! Non ha funzionato? Dai un'occhiata ai passaggi precedenti per vedere cosa è andato storto. Ha funzionato? Allora dai un'occhiata ai nostri progetti!

L'apprezzamento di www.electronicsvoorjou.nl at Recensioni WebwinkelKeur è 9.3 / 10 basato su 5023 recensioni.