Inhoudsopgave:

Persoonlijke meteoroloog: 5 stappen
Persoonlijke meteoroloog: 5 stappen

Video: Persoonlijke meteoroloog: 5 stappen

Video: Persoonlijke meteoroloog: 5 stappen
Video: kennisclip 14 meteorologie dynamische HD gebieden en zadelgebieden 2024, November
Anonim
Persoonlijke Meteoroloog
Persoonlijke Meteoroloog

Heb je je ooit afgevraagd of en wanneer je meteoroloog de waarheid spreekt? Wil je een discrete, goedkope en snelle manier om je eigen meteoroloog te zijn… en misschien een klein project? Zoek niet verder! Dit simplistische apparaat houdt de weersomstandigheden bij vanaf elke gewenste locatie en geeft u de mogelijkheid om dat weer met één druk op de knop te volgen.

Dit project geeft je wat oefening met Flask, Raspberry Pis, GPIO-sensoren en de HTML! Het is niet alleen leuk om te bouwen, maar het heeft ook veel nut. Uw meteoroloog heeft misschien gewoon geen baan …

Benodigdheden

  • Raspberry Pi 3
  • Micro SD kaart
  • 1 bulkdraad
  • 4 mannelijke naar mannelijke draden
  • 1 DHT11-sensor
  • 1 batterij

Als je van plan bent om je eigen betrouwbare meteoroloog te zijn voor meerdere locaties, vermenigvuldig dan elk van de benodigdheden met het aantal apparaten dat je nodig hebt. De code om meerdere apparaten te ondersteunen zal echter verschillen. Als je bezig bent met het bouwen/testen van dit apparaat, is het niet nodig om het volgende te hebben… het zou echter zeker erg nuttig zijn.

  • Een computermonitor
  • Een USB-toetsenbord
  • Micro-USB-oplaadkit

Stap 1: Bedrading

Bedrading
Bedrading
Bedrading
Bedrading

Met behulp van de Raspberry Pi moeten we de hoofdsensor integreren in de stroombron van de Raspberry Pi, zodat deze de metingen kan uitvoeren die we nodig hebben. De hoofdsensor die in dit project wordt gebruikt, hierboven afgebeeld, registreert de temperatuur en vochtigheid van de omringende fysieke omgeving. U kunt een breadboard of een ander montageapparaat gebruiken om deze sensor op te plaatsen en onze draden door te voeren of deze eenvoudig via vrouwelijke naar vrouwelijke draden rechtstreeks op de pinnen op het Raspberry Pi-apparaat aansluiten.

Volg het hierboven getoonde bedradingsschema om de sensor correct op de Raspberry Pi aan te sluiten. Houd er rekening mee dat er een stroombron, een batterijpakket of de nabijheid van een stopcontact nodig is.

Stap 2: Instellen

Gefeliciteerd, uw hardware is gemonteerd!

We gaan nu direct aan de slag met de Raspberry Pi en de software van het project. Al het volgende kan op de Raspberry Pi worden gedaan met een toetsenbord en monitor of via SSH. De volgende bibliotheken zijn nodig om ervoor te zorgen dat alle software op uw Raspberry Pi kan worden uitgevoerd. Gebruik de opdracht "pip install" om uw software later de volgende bibliotheken te laten gebruiken:

  • verzoeken
  • RPi. GPIO
  • kolf
  • flask_rustig
  • flask_wtf
  • wtforms

Houd er rekening mee dat het weer een paar keer kan veranderen terwijl deze bibliotheken zijn geïnstalleerd … wees geduldig, je bent zo dicht bij het ontgrendelen van je meteorologische mogelijkheden!

Nu u al uw bibliotheken hebt geïnstalleerd, gaan we kennis maken met Flask, een lichtgewicht framework dat eenvoudige communicatie tussen knooppunten in de omgeving van ons project mogelijk maakt. In dit project wordt de Raspberry Pi een server. U kunt vertrouwd raken met Flask met het eenvoudige toepassingsvoorbeeld hier.

Stap 3: Coderen en hardlopen

Nu u de hardware- en softwarebibliotheken hebt samengesteld, kunt u beginnen met het samenstellen van de projectbestanden.

Server: In dit project fungeert de Raspberry Pi die op de sensor is aangesloten als server. De server wacht tot de gebruiker een postverzoek van de temperatuur, vochtigheid en/of de grafiek voltooit. We hebben HTML-sjablonen gemaakt die zijn geconfigureerd om correct te communiceren met het verzoek van de toepassing voor temperatuur, vochtigheid, grafiek of een combinatie van de drie (raadpleeg de sjabloonmap). Dit betekent dat als de gebruiker alleen temperatuur wil, hij niets anders ziet met betrekking tot vochtigheid dan de formulieroptie om een vochtigheidsmeting te krijgen. Zodra een bericht is geplaatst, verzamelt de server de informatie van het bericht en voert de actie uit waarom de gebruiker heeft verzocht. De DHT-sensor krijgt de meetwaarden die vervolgens worden opgeslagen en doorgegeven als een woordenboekargument met de nieuwe html-vorm die we weergeven. De server slaat deze metingen ook op om een grafiek van eerdere metingen te maken wanneer de gebruiker daarom vraagt.

Toepassing: de toepassing verzendt HTTP-verzoeken naar de Flask-server om op verzoek van de gebruiker de temperatuur, vochtigheid en een visuele weergave van de temperatuur en vochtigheid van de laatste vierentwintig verzoeken op het formulier op te halen en weer te geven. De Applicatie gebruikt een Flask Form met drie booleaanse invoervelden voor elk. De gebruiker kan een vakje aanvinken voor elke combinatie van de drie velden die hij wil zien. Ze kunnen niets anders regelen dan ja/nee, ze willen die informatie zien. We hebben een uniek html-bestand gemaakt dat we gebruiken om te renderen afhankelijk van het verzoek van de gebruiker. Dit wordt gedaan zodat alleen de meetwaarden die worden weergegeven de door de gebruiker gevraagde waarden zijn. We willen niet dat de gebruiker de temperatuur opvraagt en naar een leeg sjabloon voor de luchtvochtigheid of een lege grafiek laat kijken.

Stap 4: Testen

Het apparaat doorloopt het bestand: mainsense.py. Dat brengt het bestand van formSense.py binnen dat onze Flask Form-klasse bevat die door de toepassing wordt gebruikt. De server geeft in eerste instantie 'sense.html' weer en wacht vervolgens tot de gebruiker een verzoek indient. mainsense.py wacht vervolgens op het ontvangen van metingen van de sensor in een oogwenk wanneer een GET-verzoek van de applicatie om de temperatuur of vochtigheid vraagt en slaat de vorige 24 metingen van de gebruikers op. Er is ook een grafiekoptie waarmee de gebruiker kan kiezen in welke grafieken de vorige metingen, maximaal 24, door de gebruiker zijn gemaakt. U kunt ook zien dat de html alleen de formulieropties bevat die de gebruiker kan gebruiken om een ander verzoek in te dienen en de lezingen die door de gebruiker zijn aangevraagd.

U moet dan in staat zijn om naar de juiste URI/IP te navigeren en de juiste communicatielijn tussen uw toepassing en server in te stellen. U moet proberen een aantal GET-testverzoeken te verzenden en ervoor te zorgen dat de sensor correct reageert met de juiste metingen van uw sensor. Als je programma het weer op het hele uur goed bijhoudt, zijn we officieel klaar om de kabel te verwijderen - dat wil zeggen als je vasthoudt aan het weerkanaal!

Stap 5: Montage

Het monteren van het apparaat is vrij vanzelfsprekend. Kortom, u hoeft er alleen maar voor te zorgen dat het apparaat is aangesloten op het batterijpakket of een stopcontact en gebruik opdrachtstrips om het apparaat op de door u gewenste locatie te bevestigen om het weer in de gaten te houden.

Let op: het apparaat moet met de sensor worden gepositioneerd, beschermd tegen de felle weersomstandigheden van uw locatie. Zodra dit is voltooid, zou u in staat moeten zijn om SSH naar het apparaat te sturen en de server te starten. Open de website en weet dat u de meest actuele weersmetingen krijgt vanaf de locatie waar uw Raspberry Pi-server is geplaatst.

Aanbevolen: