Inhoudsopgave:
- Benodigdheden
- Stap 1: Bedrading
- Stap 2: Instellen
- Stap 3: Coderen en hardlopen
- Stap 4: Testen
- Stap 5: Montage
Video: Persoonlijke meteoroloog: 5 stappen
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:15
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
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:
Een persoonlijke activiteitenlogger bouwen: 6 stappen
Bouw een persoonlijke activiteitenlogboek: mijn vriend uit Londen, Paul, wilde een manier vinden om zijn eten, activiteit en locatie in één dashboard bij te houden. Toen kwam hij op het idee om een eenvoudig webformulier te maken dat gegevens naar een dashboard zou sturen. Hij zou zowel het webformulier als een
DIY persoonlijke weerstationmonitor: 6 stappen
DIY Personal Weather Station Monitor: DarkSky,,Onze API-service voor bestaande klanten verandert vandaag niet, maar we accepteren geen nieuwe aanmeldingen meer. De API blijft werken tot eind 2021.https://blog.darksky.net/Personal Weather Station Monitor geeft uw we
PROYECTO PERSOONLIJKE TUTORIAL: 5 stappen
PROYECTO PERSOONLIJKE TUTORIAL: Este proyecto consistent en elegir un tema libre, y crear un producto de la onderzoeken de este tema. La investigación, planeación, acción y reflexión del proyecto son escritas en un informe, y todo el registro de
Herinnering aan persoonlijke bezittingen: 5 stappen
Herinnering aan persoonlijke bezittingen: ik geloof dat we allemaal soortgelijke ervaringen hebben met vergeten onze spullen mee te nemen nadat we ons huis hebben verlaten. Dat is een veelgemaakte fout die we in ons dagelijks leven maken. Om dat te voorkomen, heb ik een idee van een apparaat dat ons eraan kan herinneren om f
PAB: een persoonlijke audiobox: 5 stappen
PAB: een persoonlijke audiobox: het idee voor dit project is ontstaan uit de noodzaak om de drie grote componenten van het hifi-systeem, die nu het einde van hun levensduur hadden bereikt, te schrapen. Bovendien had ik meer ruimte in de plank nodig voor andere objecten, dus maakte ik van de gelegenheid gebruik om te schitteren