5477+ Bewertungen
Bestellen bis 16:00 Uhr für Versand am selben Tag
14 Tage Rückgabe
DE
DE
Privat
Geschäftlich
A. Erstellen Sie einen Telegram-Bot, indem Sie den BotFather in Telegram kontaktieren.
B. Notieren Sie sich das Bot-Token, das Sie vom BotFather erhalten.
C. Registrieren Sie sich auf der OpenWeatherMap-Website und erhalten Sie einen kostenlosen API-Schlüssel

Bevor Sie den Code ausführen können, müssen Sie sicherstellen, dass die erforderlichen Python-Bibliotheken auf Ihrem Raspberry Pi 5 installiert sind. Sie können diese Bibliotheken mit pip, dem Python-Paketmanager, installieren. Öffnen Sie ein Terminal auf Ihrem Raspberry Pi 5 und führen Sie die folgenden Befehle aus, um Python und Pip zu installieren:
sudo apt-get update
sudo apt-get upgrade
sudo apt install python3
sudo apt install python3-pipInstallieren Sie nun die Python-Bibliotheken
pip install requests
pip install python-telegram-botStarten Sie abschließend Ihren Raspberry Pi neu, um die Installation abzuschließen:
sudo rebootKopieren Sie den Code und fügen Sie ihn in Thonny ein. Ersetzen Sie die Platzhalter im Code (wie „JE_BOT_TOKEN“ und „JE_OPENWEATHERMAP_API_KEY“) durch das tatsächliche Bot-Token und den API-Schlüssel, den Sie erhalten haben.
import requests
import datetime
from telegram import Bot
import time
import asyncio
# Vervang ‘JE_BOT_TOKEN’ door je eigen Telegram bot token
bot_token = ‘JE_BOT_TOKEN_HIER’
# Vervang ‘STAD’ door de naam van de stad waarvoor je het weer wilt ophalen
stad = ‘Amersfoort’
# Vervang ‘JE_OPENWEATHERMAP_API_KEY’ door je eigen gratis OpenWeatherMap API-sleutel
api_key = ‘JE_OPENWEATHERMAP_API_KEY_HIER’
# Functie om het weerbericht op te halen
async def get_weer():
base_url = ‘http://api.openweathermap.org/data/2.5/weather’
params = {
‘q’: stad,
‘appid’: api_key,
‘units’: ‘metric’ # Gebruik ‘imperial’ voor Fahrenheit in plaats van Celsius
}
response = requests.get(base_url, params=params)
weer_data = response.json()
if response.status_code == 200:
weer_beschrijving = weer_data[‘weather’][0][‘description’]
temperatuur = weer_data[‘main’][‘temp’]
return f’Het weer in {stad} vandaag: {weer_beschrijving}, Temperatuur: {temperatuur}°C’
else:
return ‘Het weerbericht kon niet worden opgehaald.’
# Functie om een Telegram-bericht te versturen
async def send_telegram_bericht(bericht):
bot = Bot(token=bot_token)
chat_id = ‘JE_CHAT_ID_HIER’ # Vervang dit door je eigen chat-ID
await bot.send_message(chat_id=chat_id, text=bericht)
# Code continu uitvoeren
async def main():
while True:
now = datetime.datetime.now()
if now.hour == 14 and now.minute == 5: # Vervang dit door je gewenste tijd
weer_rapport = await get_weer()
await send_telegram_bericht(weer_rapport)
# Wacht even om te voorkomen dat er snel achter elkaar meerdere berichten worden verstuurd
await asyncio.sleep(60) # Wacht 60 seconden (pas aan indien nodig)
else:
# Wacht even voordat de tijd opnieuw wordt gecontroleerd
await asyncio.sleep(60) # Wacht 60 seconden (pas aan indien nodig)
if __name__ == “__main__”:
asyncio.run(main())A. Speichern Sie das Python-Skript unter einem geeigneten Namen, beispielsweise weer_project.py .
B. Navigieren Sie zu dem Ordner, in dem Sie das Python-Skript gespeichert haben.
C. Führen Sie das Skript mit dem folgenden Befehl aus:
python weer_project.pyDas Skript wird ausgeführt und prüft jede Minute, ob es Zeit ist, die Wettervorhersage abzurufen und an Ihren Telegram-Chat zu senden. Um zu testen, ob es richtig funktioniert, können Sie die Zeit auf einen um 2 Minuten abweichenden Zeitpunkt einstellen und dann den Code ausführen.
Und das war es! Hat es nicht funktioniert? Bitte schauen Sie sich die vorherigen Schritte noch einmal an, um zu sehen, was schief gelaufen ist. War es erfolgreich? Dann schauen Sie sich unsere Projekte an!