{"id":23485,"date":"2024-07-25T11:06:46","date_gmt":"2024-07-25T09:06:46","guid":{"rendered":"https:\/\/monraspberry.com\/?p=23485"},"modified":"2024-07-17T11:45:56","modified_gmt":"2024-07-17T09:45:56","slug":"creer-une-station-meteo-avec-un-raspberry-pi","status":"publish","type":"post","link":"https:\/\/monraspberry.com\/es\/creer-une-station-meteo-avec-un-raspberry-pi\/","title":{"rendered":"Cr\u00e9er une station m\u00e9t\u00e9o avec un Raspberry Pi"},"content":{"rendered":"<p>Construire une station m\u00e9t\u00e9o avec un Raspberry Pi est un projet passionnant et \u00e9ducatif. Vous pouvez mesurer la temp\u00e9rature, l&#8217;humidit\u00e9, la pression atmosph\u00e9rique et plus encore. Voici un guide d\u00e9taill\u00e9 pour vous aider \u00e0 r\u00e9aliser ce projet.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Contenido<\/h4>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Introducci\u00f3n<\/li>\n\n\n\n<li>Mat\u00e9riel N\u00e9cessaire<\/li>\n\n\n\n<li>Configuration du Raspberry Pi<\/li>\n\n\n\n<li>Installation des Capteurs<\/li>\n\n\n\n<li>Programmation du Raspberry Pi<\/li>\n\n\n\n<li>Cr\u00e9ation de l&#8217;Interface Web<\/li>\n\n\n\n<li>Stockage des Donn\u00e9es<\/li>\n\n\n\n<li>Tests et Ajustements<\/li>\n\n\n\n<li>Conclusi\u00f3n<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">1. Introduction<\/h3>\n\n\n\n<p>Une station m\u00e9t\u00e9o personnelle vous permet de suivre les conditions m\u00e9t\u00e9orologiques locales en temps r\u00e9el. En utilisant un Raspberry Pi et divers capteurs, vous pouvez recueillir et afficher des donn\u00e9es m\u00e9t\u00e9orologiques de mani\u00e8re pr\u00e9cise et fiable.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2. Mat\u00e9riel n\u00e9cessaire<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Raspberry Pi (mod\u00e8le 3 ou sup\u00e9rieur)<\/li>\n\n\n\n<li>Carte microSD (minimum 16 Go) avec Raspbian install\u00e9<\/li>\n\n\n\n<li>Capteur de temp\u00e9rature et d&#8217;humidit\u00e9 (DHT11 ou DHT22)<\/li>\n\n\n\n<li>Capteur de pression atmosph\u00e9rique (BMP180 ou BMP280)<\/li>\n\n\n\n<li>Fils de connexion<\/li>\n\n\n\n<li>Breadboard<\/li>\n\n\n\n<li>Acc\u00e8s \u00e0 Internet (Wi-Fi ou Ethernet)<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">3. Configuration du Raspberry Pi<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Installer Raspbian :<\/strong>\n<ul class=\"wp-block-list\">\n<li>T\u00e9l\u00e9chargez l&#8217;image de Raspbian depuis le site officiel.<\/li>\n\n\n\n<li>Utilisez un outil comme balenaEtcher pour graver l&#8217;image sur la carte microSD.<\/li>\n\n\n\n<li>Ins\u00e9rez la carte microSD dans le Raspberry Pi et d\u00e9marrez-le.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Configurer le Raspberry Pi :<\/strong>\n<ul class=\"wp-block-list\">\n<li>Connectez-vous avec les identifiants par d\u00e9faut (utilisateur : <code>pi<\/code>, mot de passe : <code>raspberry<\/code>).<\/li>\n\n\n\n<li>Mettez \u00e0 jour le syst\u00e8me avec les commandes suivantes :\n<ul class=\"wp-block-list\">\n<li><code>sudo apt update <\/code><\/li>\n\n\n\n<li><code>sudo apt upgrade<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Installer les biblioth\u00e8ques n\u00e9cessaires :<\/strong>\n<ul class=\"wp-block-list\">\n<li>Installez les biblioth\u00e8ques pour les capteurs :\n<ul class=\"wp-block-list\">\n<li><code>sudo apt install python3-pip <\/code><\/li>\n\n\n\n<li><code>pip3 install Adafruit_DHT Adafruit_BMP<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">4. Installation des capteurs<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Connecter le capteur de temp\u00e9rature et d&#8217;humidit\u00e9 (DHT11\/DHT22) :<\/strong>\n<ul class=\"wp-block-list\">\n<li>Branchez le capteur \u00e0 la breadboard.<\/li>\n\n\n\n<li>Connectez les fils : le VCC au 3.3V, le GND au GND, et la sortie de signal \u00e0 un GPIO (par exemple GPIO4).<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Connecter le capteur de pression atmosph\u00e9rique (BMP180\/BMP280) :<\/strong>\n<ul class=\"wp-block-list\">\n<li>Connectez les fils du capteur : le VCC au 3.3V, le GND au GND, SDA au GPIO2 (SDA) et SCL au GPIO3 (SCL).<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">5. Programmation du Raspberry Pi<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Lire les donn\u00e9es des capteurs :<\/strong>\n<ul class=\"wp-block-list\">\n<li>Cr\u00e9ez un script Python pour lire les donn\u00e9es des capteurs. Voici un exemple de code :<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n<div class=\"wp-block-syntaxhighlighter-code\"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nimport Adafruit_DHT\nimport Adafruit_BMP.BMP085 as BMP085\nimport time\n\n# Configuration des capteurs\nDHT_SENSOR = Adafruit_DHT.DHT22\nDHT_PIN = 4\nbmp = BMP085.BMP085()\n\ndef read_sensors():\n    humidity, temperature = Adafruit_DHT.read_retry(DHT_SENSOR, DHT_PIN)\n    pressure = bmp.read_pressure()\n    return humidity, temperature, pressure\n\nwhile True:\n    humidity, temperature, pressure = read_sensors()\n    print(f&quot;Temp: {temperature}\u00b0C  Humidity: {humidity}%  Pressure: {pressure} Pa&quot;)\n    time.sleep(2)\n<\/pre><\/div>\n\n\n<h3 class=\"wp-block-heading\">6. Cr\u00e9ation de l&#8217;interface Web<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Installer Flask :<\/strong>\n<ul class=\"wp-block-list\">\n<li>Utilisez Flask pour cr\u00e9er une interface web simple :\n<ul class=\"wp-block-list\">\n<li><code>pip3 install flask<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Cr\u00e9er un script Flask :<\/strong><\/li>\n<\/ol>\n\n\n<div class=\"wp-block-syntaxhighlighter-code\"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nfrom flask import Flask, render_template\nimport Adafruit_DHT\nimport Adafruit_BMP.BMP085 as BMP085\n\napp = Flask(__name__)\n\nDHT_SENSOR = Adafruit_DHT.DHT22\nDHT_PIN = 4\nbmp = BMP085.BMP085()\n\ndef read_sensors():\n    humidity, temperature = Adafruit_DHT.read_retry(DHT_SENSOR, DHT_PIN)\n    pressure = bmp.read_pressure()\n    return humidity, temperature, pressure\n\n@app.route(&#039;\/&#039;)\ndef index():\n    humidity, temperature, pressure = read_sensors()\n    return render_template(&#039;index.html&#039;, temperature=temperature, humidity=humidity, pressure=pressure)\n\nif __name__ == &#039;__main__&#039;:\n    app.run(host=&#039;0.0.0.0&#039;, port=5000)\n<\/pre><\/div>\n\n\n<p>3. <strong>Cr\u00e9er le template HTML :<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Cr\u00e9ez un fichier <code>templates\/index.html<\/code> :<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-syntaxhighlighter-code\"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n&amp;lt;!DOCTYPE html&gt;\n&amp;lt;html&gt;\n&amp;lt;head&gt;\n    &amp;lt;title&gt;Station M\u00e9t\u00e9o&amp;lt;\/title&gt;\n&amp;lt;\/head&gt;\n&amp;lt;body&gt;\n    &amp;lt;h1&gt;Conditions M\u00e9t\u00e9orologiques Actuelles&amp;lt;\/h1&gt;\n    &amp;lt;p&gt;Temp\u00e9rature : {{ temperature }}\u00b0C&amp;lt;\/p&gt;\n    &amp;lt;p&gt;Humidit\u00e9 : {{ humidity }}%&amp;lt;\/p&gt;\n    &amp;lt;p&gt;Pression Atmosph\u00e9rique : {{ pressure }} Pa&amp;lt;\/p&gt;\n&amp;lt;\/body&gt;\n&amp;lt;\/html&gt;\n<\/pre><\/div>\n\n\n<h3 class=\"wp-block-heading\">7. Stockage des donn\u00e9es<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Utiliser une base de donn\u00e9es SQLite (optionnel) :<\/strong>\n<ul class=\"wp-block-list\">\n<li>Pour enregistrer les donn\u00e9es m\u00e9t\u00e9orologiques, vous pouvez utiliser SQLite :\n<ul class=\"wp-block-list\">\n<li>s<code>udo apt install sqlite3 <\/code><\/li>\n\n\n\n<li><code>pip3 install flask-sqlalchemy<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Modifier le script Flask pour enregistrer les donn\u00e9es :<\/strong><\/li>\n<\/ol>\n\n\n<div class=\"wp-block-syntaxhighlighter-code\"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nfrom flask import Flask, render_template\nfrom flask_sqlalchemy import SQLAlchemy\nimport Adafruit_DHT\nimport Adafruit_BMP.BMP085 as BMP085\nimport datetime\n\napp = Flask(__name__)\napp.config&#x5B;&#039;SQLALCHEMY_DATABASE_URI&#039;] = &#039;sqlite:\/\/\/weather.db&#039;\ndb = SQLAlchemy(app)\n\nclass WeatherData(db.Model):\n    id = db.Column(db.Integer, primary_key=True)\n    timestamp = db.Column(db.DateTime, default=datetime.datetime.utcnow)\n    temperature = db.Column(db.Float)\n    humidity = db.Column(db.Float)\n    pressure = db.Column(db.Float)\n\nDHT_SENSOR = Adafruit_DHT.DHT22\nDHT_PIN = 4\nbmp = BMP085.BMP085()\n\ndef read_sensors():\n    humidity, temperature = Adafruit_DHT.read_retry(DHT_SENSOR, DHT_PIN)\n    pressure = bmp.read_pressure()\n    return humidity, temperature, pressure\n\n@app.route(&#039;\/&#039;)\ndef index():\n    humidity, temperature, pressure = read_sensors()\n    weather_data = WeatherData(temperature=temperature, humidity=humidity, pressure=pressure)\n    db.session.add(weather_data)\n    db.session.commit()\n    return render_template(&#039;index.html&#039;, temperature=temperature, humidity=humidity, pressure=pressure)\n\nif __name__ == &#039;__main__&#039;:\n    db.create_all()\n    app.run(host=&#039;0.0.0.0&#039;, port=5000)\n<\/pre><\/div>\n\n\n<h3 class=\"wp-block-heading\">8. Tests et ajustements<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Tester le syst\u00e8me :<\/strong>\n<ul class=\"wp-block-list\">\n<li>Assurez-vous que tous les capteurs fonctionnent correctement.<\/li>\n\n\n\n<li>Testez l&#8217;interface web et v\u00e9rifiez que les donn\u00e9es s&#8217;affichent correctement.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Ajuster les param\u00e8tres :<\/strong>\n<ul class=\"wp-block-list\">\n<li>Ajustez les intervalles de lecture des capteurs et la mise \u00e0 jour de l&#8217;interface web selon vos besoins.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">9. Conclusion<\/h3>\n\n\n\n<p>En suivant ce guide, vous avez maintenant une station m\u00e9t\u00e9o fonctionnelle avec un Raspberry Pi. Vous pouvez surveiller les conditions m\u00e9t\u00e9orologiques locales en temps r\u00e9el et stocker les donn\u00e9es pour une analyse ult\u00e9rieure. Profitez de votre station m\u00e9t\u00e9o et n&#8217;h\u00e9sitez pas \u00e0 ajouter des fonctionnalit\u00e9s suppl\u00e9mentaires pour la rendre encore plus performante !<\/p>","protected":false},"excerpt":{"rendered":"<p>Construire une station m\u00e9t\u00e9o avec un Raspberry Pi est un projet passionnant et \u00e9ducatif. Vous pouvez mesurer la temp\u00e9rature, l&#8217;humidit\u00e9, la pression atmosph\u00e9rique et plus encore. Voici un guide d\u00e9taill\u00e9 pour vous aider \u00e0 r\u00e9aliser ce projet. Sommaire 1. Introduction Une station m\u00e9t\u00e9o personnelle vous permet de suivre les conditions m\u00e9t\u00e9orologiques locales en temps r\u00e9el. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":23486,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[308],"tags":[],"class_list":["post-23485","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutos"],"featured_image_src":{"landsacpe":["https:\/\/monraspberry.com\/wp-content\/uploads\/2024\/07\/Station-meteo-Raspberry-Pi.png",791,445,false],"list":["https:\/\/monraspberry.com\/wp-content\/uploads\/2024\/07\/Station-meteo-Raspberry-Pi.png",463,260,false],"medium":["https:\/\/monraspberry.com\/wp-content\/uploads\/2024\/07\/Station-meteo-Raspberry-Pi-300x169.png",300,169,true],"full":["https:\/\/monraspberry.com\/wp-content\/uploads\/2024\/07\/Station-meteo-Raspberry-Pi.png",1920,1080,false]},"jetpack_featured_media_url":"https:\/\/monraspberry.com\/wp-content\/uploads\/2024\/07\/Station-meteo-Raspberry-Pi.png","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/monraspberry.com\/es\/wp-json\/wp\/v2\/posts\/23485","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/monraspberry.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/monraspberry.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/monraspberry.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/monraspberry.com\/es\/wp-json\/wp\/v2\/comments?post=23485"}],"version-history":[{"count":0,"href":"https:\/\/monraspberry.com\/es\/wp-json\/wp\/v2\/posts\/23485\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/monraspberry.com\/es\/wp-json\/wp\/v2\/media\/23486"}],"wp:attachment":[{"href":"https:\/\/monraspberry.com\/es\/wp-json\/wp\/v2\/media?parent=23485"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/monraspberry.com\/es\/wp-json\/wp\/v2\/categories?post=23485"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/monraspberry.com\/es\/wp-json\/wp\/v2\/tags?post=23485"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}