Livraison gratuite à partir de 74,95 € NL (99,95 € BE / DE)

Livraison rapide avec DHL

Commandé avant 16:00 = Expédié aujourd'hui

14 jours de retour*


Transport routier

Raspberry Pi projet : Bot de prévisions météo

Avec ce projet, vous Raspberry Pi 5 pouvoir vous envoyer un bulletin météo quotidien via Telegram. Ce rapport météo contient des informations telles que les conditions météorologiques actuelles et la température d'une ville que vous sélectionnez. Ce projet offre une excellente opportunité d'apprendre à... Raspberry Pi peut être utilisé pour des applications pratiques et pour se familiariser avec la programmation Python. Vous apprendrez également à utiliser une API. Il est également possible de créer ce projet avec le Raspberry Pi 4B.

 Ce manuel couvre: 

  • Provisions
  • Obtenez le bot Telgram et la clé API
  • Installer les bibliothèques Python
  • Code
  • Exécuter le code
  • Débutant 40% 40%
  • 60-75 min 45% 45%
  • Coûte 105,81 € 55% 55%

Étape 1: Fournitures:

Étape 2 : Obtenez le bot Telegram et la clé API

a. Créez un bot Telegram en contactant le BotFather dans Telegram.

b. Notez le jeton de bot que vous recevez du BotFather.

c. Inscrivez-vous sur le site OpenWeatherMap et obtenez une clé API gratuite

Image d'un AstroPi

Étape 3 : Installer les bibliothèques Python

Avant de pouvoir exécuter le code, assurez-vous que les bibliothèques Python nécessaires sont installées sur vous Raspberry Pi 5. Vous pouvez installer ces bibliothèques en utilisant pépin, le gestionnaire de packages Python. Ouvrez un terminal sur vous Raspberry Pi 5 et exécutez les commandes suivantes pour installer python et pip :

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

Installez maintenant les bibliothèques Python

demandes d'installation pip
pip installe python-telegram-bot

Enfin, redémarrez le Raspberry Pi pour terminer l'installation :

sudo reboot

Étape 4 : Coder

Copiez et collez le code dans Thonny. Remplacez les espaces réservés dans le code (tels que « VOTRE_BOT_TOKEN » et « VOTRE_OPENWEATHERMAP_API_KEY ») par le jeton de bot et la clé API que vous avez obtenus.

demandes d'importation
importer datetime
à partir du Bot d'importation de télégrammes
temps d'importation
importer asyncio

 

 

# Remplacez 'YOUR_BOT_TOKEN' par votre propre jeton de bot Telegram
bot_token = 'VOTRE_BOT_TOKEN_HERE'

# Remplacez 'CITY' par le nom de la ville pour laquelle vous souhaitez récupérer la météo
ville = 'Amersfoort'

# Remplacez 'YOUR_OPENWEATHERMAP_API_KEY' par votre propre clé API OpenWeatherMap gratuite
api_key = 'VOTRE_OPENWEATHERMAP_API_KEY_HERE'

 

# Fonction pour obtenir les prévisions météo
async def get_weather() :
    base_url = 'http://api.openweathermap.org/data/2.5/weather'
    paramètres = {
        'q' : ville,
        'appid' : api_key,

        'units': 'metric' # Utilisez 'impérial' pour Fahrenheit au lieu de Celsius
     }
    réponse = requêtes.get(base_url, params=params)
    Weather_data = réponse.json()

    si réponse.status_code == 200 :
        météo_description = météo_data['météo'][0]['description']
        température = météo_data['main']['temp']
        retour f'La météo à {city} aujourd'hui : {weather_description}, Température : {temperature}°C'
    autre:
        return 'Les prévisions météorologiques n'ont pas pu être récupérées.'

 

 

# Fonction pour envoyer un message Telegram
async def send_telegram_message(message):
    bot = Bot(jeton=bot_token)
    chat_id = 'YOUR_CHAT_ID_HERE' # Remplacez-le par votre propre identifiant de chat

    attendre bot.send_message(chat_id=chat_id, text=message)

    # Exécuter du code en continu

 

 

async def main() :

    tandis que True:
        maintenant = datetime.datetime.now()
        if now.hour == 14 et now.minute == 5 : # Remplacez ceci par l'heure souhaitée
            Weather_report = attendre get_weather()
            attendre send_telegram_message (weather_report)

            # Veuillez patienter un instant pour éviter que plusieurs messages ne soient envoyés en succession rapide
            wait asyncio.sleep(60) # Attendez 60 secondes (ajustez si nécessaire)
        autre:
            # Attendez un moment avant que l'heure soit à nouveau vérifiée
            wait asyncio.sleep(60) # Attendez 60 secondes (ajustez si nécessaire)

 

 

si __name__ == «__main__»:
    asyncio.run(main())

Étape 5 : Exécuter le code

a. Enregistrez le script Python sous un nom approprié, par exemple weer_project.py.

b. Accédez au dossier dans lequel vous avez enregistré le script Python.

c. Exécutez le script avec la commande suivante :

python météo_project.py

Le script démarre et vérifie chaque minute s'il est temps de récupérer le bulletin météo et de l'envoyer à votre chat Telegram. Pour tester si cela fonctionne correctement, vous pouvez ajuster l'heure à une heure située dans 2 minutes, puis exécuter le code.

 Et c'était tout ! Ça n'a pas marché ? Revenez sur les étapes précédentes pour voir ce qui n’a pas fonctionné. Est-ce que ça a marché ? Alors jetez un œil à nos projets !

La note de www.elektronicavoorjou.nl à Avis sur WebwinkelKeur est 9.3 / 10 basé sur 5009 avis.