Inhoudsopgave:

Bouw een Raspberry Pi SUPER-weerstation - Ajarnpa
Bouw een Raspberry Pi SUPER-weerstation - Ajarnpa

Video: Bouw een Raspberry Pi SUPER-weerstation - Ajarnpa

Video: Bouw een Raspberry Pi SUPER-weerstation - Ajarnpa
Video: Zelf Doen: David bouwt een Super Nintendo na met een Raspberry Pi en opensource software 2024, Juli-
Anonim
Image
Image

Laten we eerlijk zijn, wij mensen praten veel over het weer ️. De gemiddelde persoon praat vier keer per dag over het weer, gemiddeld 8 minuten en 21 seconden. Reken maar uit en dat komt neer op 10 maanden van je leven die je zult doorbrengen met keffen over het weer. Het weer is het belangrijkste onderwerp voor gespreksstarters en ongemakkelijke stilteonderbrekers. Als we er zoveel over gaan praten, kunnen we net zo goed onze reputatie op het gebied van het weer naar een heel nieuw niveau tillen. Dit superleuke en gemakkelijke project maakt gebruik van het Internet of Things (IoT) en een Raspberry Pi om precies dat te doen.

We gaan ons eigen hyperlokale IoT-dashboard voor het weer bouwen, waarbij we het weer binnen en buiten ons huis in de loop van de tijd vastleggen. De volgende keer dat iemand je vraagt "hoe zit het met het weer de laatste tijd?", kun je je telefoon tevoorschijn halen en ademloos achterlaten met je gekke weeranalyse-vaardigheidz ☀️.

Wat heb je nodig om de cursus te volgen: 1. Raspberry Pi met internetverbinding

2. Raspberry Pi SenseHAT

3. Een 6 40-pins IDE mannelijk naar vrouwelijk verlengkabel (optioneel voor temperatuurnauwkeurigheid)

4. Een initiële staatsrekening

5. Dat is het!

Projectniveau: Beginner

Geschatte tijd om te voltooien: 20 minuten

Geschatte funfactor: buiten de hitlijsten

In deze stapsgewijze zelfstudie leert u hoe u de Weatherstack API-integratie op Initial State kunt gebruiken om het lokale buitenweer in uw regio te krijgen

- Leer hoe u een Raspberry Pi met een Sense HAT (https://www.raspberrypi.org/products/sense-hat/) gebruikt om weergegevens in uw huis vast te leggen

- Bouw uw eigen persoonlijke hyperlokale weerdashboard dat u kunt openen vanuit elke webbrowser op uw laptop of mobiele apparaat

- Geef je meteoroloog een run voor zijn geld

Benodigdheden

Wat heb je nodig om de cursus te volgen:

1. Raspberry Pi met internetverbinding

2. Raspberry Pi SenseHAT

3. Een 6 40-pins IDE mannelijk naar vrouwelijk verlengkabel (optioneel voor temperatuurnauwkeurigheid)

4. Een initiële staatsrekening

5. Dat is het!

Stap 1: Aan de slag

We hebben al veel werk voor je gedaan om de code samen te stellen en de informatie te ordenen. We hebben je onderweg alleen een paar aanpassingen nodig.

Om alle dingen op te halen die we voor je hebben voorbereid, moet je de repository van GitHub klonen. Github is een geweldige service waarmee we projecten zoals deze kunnen opslaan, herzien en beheren. Om de repository te klonen, hoeven we alleen maar naar de terminal van onze Pi te gaan, of de terminal van je computer die is SSH in je pi en typ deze opdracht:

$ git-kloon

Druk op enter en je ziet deze informatie:

pi@raspberrypi ~ $ git-kloon

Klonen in 'wunderground-sensehat'…

afstandsbediening: Objecten tellen: 28, klaar.

afstandsbediening: Totaal 28 (delta 0), hergebruikt 0 (delta 0), hergebruikt 28

Objecten uitpakken: 100% (28/28), klaar.

Verbinding controleren… klaar.

Zodra je dit ziet, gefeliciteerd, heb je de Github Repo met succes gekloond en heb je alle benodigde bestanden om je Super Weather Station te bouwen. Voordat we naar de volgende stap gaan, laten we even de tijd nemen om deze map te verkennen en een paar basiscommando's op de opdrachtregel te leren.

Typ de onderstaande opdracht in uw terminal:

$ ls

Deze opdracht geeft een overzicht van alles wat beschikbaar is in de map waarin u zich momenteel bevindt. Deze lijst laat zien dat onze Github Repo met succes in onze map is gekloond onder de naam "wunderground-sensehat". Laten we eens kijken wat er in die map staat. Om de directory's te wijzigen, hoeft u alleen maar "cd" in te typen en vervolgens de naam van de directory in te voeren waar u naartoe wilt.

In dit geval typen we:

$ cd wondergrond-sensehat

Zodra we op enter hebben gedrukt, zul je zien dat we ons nu in de map wunderground-sensehat bevinden. Laten we opnieuw ls typen om te zien welke bestanden we op onze pi hebben geïnstalleerd.

README.md sensehat.py sensehat_wunderground.py wunderground.py

Hier zien we dat we ons readme-document hebben en een paar verschillende python-bestanden. Laten we eens kijken naar sensehat.py. In plaats van in het bestand te springen met het cd-commando zoals we deden voor directory's, gaan we het nano-commando gebruiken. Met het nano-commando kunnen we de nano-teksteditor openen waarin we al onze python-code voor elk segment van dit project hebben. Ga je gang en typ:

$ nano sensehat.py

Hier kunt u alle code zien die we voor u hebben voorbereid voor dit project. We gaan nog geen wijzigingen aanbrengen in dit document, maar blader gerust rond en kijk wat we later in deze zelfstudie gaan doen.

Stap 2: Oorspronkelijke staat

Oorspronkelijke toestand
Oorspronkelijke toestand

We willen al onze weergegevens naar een cloudservice streamen en die service onze gegevens laten omzetten in een mooi dashboard waartoe we toegang hebben vanaf onze laptop of mobiele apparaat. Onze gegevens hebben een bestemming nodig. We gebruiken de beginstatus als die bestemming.

Stap 1: Registreer voor een Initial State-account

Ga naar https://www.initialstate.com/app#/register/ en maak een nieuw account aan.

Stap 2: Installeer de ISStreamer

Installeer de Initial State Python-module op uw Raspberry Pi: Voer bij een opdrachtprompt (vergeet niet eerst SSH naar uw Pi te SSH) de volgende opdracht uit:

$ cd /home/pi/

$ \curl -sSL https://get.initialstate.com/python -o - | sudo bash

Beveiligingsopmerking: de bovenstaande opdracht heeft een belangrijke anatomie waarvan de gebruiker op de hoogte moet zijn.

1) Er is een voorafgaande / vóór krul. Dit is belangrijk om ervoor te zorgen dat er geen alias van curl wordt uitgevoerd als er een is gemaakt. Dit helpt het risico te verkleinen dat de opdracht meer doet dan bedoeld.

2) De opdracht is een doorgesluisde opdracht, dus wanneer je deze uitvoert, stuur je de uitvoer van een script dat wordt opgehaald van https://get.initialstate.com/python naar de opdracht sudo bash. Dit wordt gedaan om de installatie te vereenvoudigen, maar het moet worden opgemerkt dat https hier belangrijk is om te voorkomen dat man-in-the-middle-manipulatie van het installatiescript wordt uitgevoerd, vooral omdat het script wordt uitgevoerd met verhoogde privileges. Dit is een gebruikelijke manier om de installatie en configuratie te vereenvoudigen, maar als u wat voorzichtiger bent, zijn er enkele iets minder handige alternatieven: u kunt het commando in twee stappen opsplitsen en het bash-script dat wordt gedownload van het curl-commando zelf onderzoeken om er zeker van te zijn dat het is trouw OF je kunt de pip-instructies volgen, je krijgt gewoon geen automatisch gegenereerd voorbeeldscript.

Stap 3: Maak wat Automagic

Na stap 2 ziet u iets dat lijkt op de volgende uitvoer op het scherm:

pi@raspberrypi ~ $ \curl -sSL https://get.initialstate.com/python -o - | sudo bash

Wachtwoord: Begin ISStreamer Python Eenvoudige installatie!

Dit kan een paar minuten duren om te installeren, pak wat koffie:)

Maar vergeet niet terug te komen, ik heb later vragen!

Easy_install gevonden: setuptools 1.1.6

Gevonden pip: pip 1.5.6 van /Bibliotheek/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7)

pip hoofdversie: 1

pip kleine versie: 5

ISStreamer gevonden, updaten…

Vereiste al up-to-date: ISStreamer in /Bibliotheek/Python/2.7/site-packages Opschonen…

Wilt u automatisch een voorbeeldscript krijgen? [j/N]

(de uitvoer kan anders zijn en langer duren als u de Initial State Python-streamingmodule nog nooit eerder hebt geïnstalleerd)

Wanneer u wordt gevraagd om automatisch een voorbeeldscript op te halen, typt u y.

Hiermee wordt een testscript gemaakt dat we kunnen uitvoeren om ervoor te zorgen dat we gegevens vanaf onze Pi naar de beginstatus kunnen streamen. U wordt gevraagd:

Waar wil je het voorbeeld opslaan? [standaard:./is_example.py]:

U kunt een aangepast lokaal pad typen of op Enter drukken om de standaard te accepteren. U wordt gevraagd om uw gebruikersnaam en wachtwoord die u zojuist hebt gemaakt toen u uw Initial State-account registreerde. Voer beide in en de installatie wordt voltooid.

Stap 4: Toegangssleutels

Laten we eens kijken naar het voorbeeldscript dat is gemaakt. Type:

$ nano is_voorbeeld.py

Op regel 15 ziet u een regel die begint met streamer = Streamer(bucket_ …. Deze regel maakt een nieuwe gegevensbucket aan met de naam "Python Stream Voorbeeld" en is gekoppeld aan uw account. Deze koppeling vindt plaats vanwege de access_key="…". parameter op diezelfde regel. Die lange reeks letters en cijfers is de toegangssleutel van uw Initial State-account. Als u in uw webbrowser naar uw Initial State-account gaat, klikt u op uw gebruikersnaam in de rechterbovenhoek en gaat u naar "mijn account", vindt u diezelfde toegangssleutel onderaan de pagina onder “Toegangssleutels streamen”.

Elke keer dat u een gegevensstroom maakt, leidt die toegangssleutel die gegevensstroom naar uw account (deel uw sleutel dus met niemand).

Stap 5: Voer het voorbeeld uit

Voer het testscript uit om er zeker van te zijn dat we een gegevensstroom naar uw Initial State-account kunnen maken.

Voer het volgende uit:

$ python is_voorbeeld.py

Stap 6: Winst

Ga terug naar uw Initial State-account in uw webbrowser. Een nieuwe data-bucket genaamd "Python Stream-voorbeeld" zou aan de linkerkant in uw logplank moeten verschijnen (mogelijk moet u de pagina vernieuwen). Klik op deze bucket en klik vervolgens op het Waves-pictogram om de testgegevens te bekijken.

U zult de Waves-zelfstudie willen doorlopen om vertrouwd te raken met het gebruik van deze tool voor gegevensvisualisatie. Bekijk vervolgens de gegevens in Tegels om dezelfde gegevens in dashboardvorm te zien.

U bent nu klaar om echte gegevens van Wunderground en meer te streamen.

Stap 3: Sense HAT

Sense HOED
Sense HOED
Sense HOED
Sense HOED
Sense HOED
Sense HOED

De Sense HAT is een add-on board voor de Raspberry Pi dat vol zit met sensoren, LED's en een kleine joystick. Wat zo geweldig is aan deze kleine add-on, is dat het ongelooflijk eenvoudig te installeren en te gebruiken is dankzij een fantastische Python-bibliotheek die je snel kunt installeren. Voor dit project zullen we de temperatuur-, vochtigheids- en luchtdruksensoren op de Sense HAT gebruiken. Laten we het opzetten.

De eerste stap bij het gebruik van de Sense HAT is om deze fysiek op uw Pi te installeren. Met de Pi uitgeschakeld, bevestig de HAT zoals weergegeven in de afbeelding.

Zet je Pi aan. We moeten de Python-bibliotheek installeren om het gemakkelijk te maken om de sensorwaarden van de Sense HAT te lezen. Eerst moet je ervoor zorgen dat alles up-to-date is in je versie van Raspbian door te typen:

$ sudo apt-get update

Installeer vervolgens de Sense HAT Python-bibliotheek:

$ sudo apt-get install sense-hat

Start je Pi opnieuw op

We zijn klaar om de Sense HAT te testen door er sensorgegevens uit te lezen en die gegevens naar de beginstatus te sturen.

Laten we onze Sense HAT testen om er zeker van te zijn dat alles werkt. We gebruiken het script op https://github.com/InitialState/wunderground-sensehat/blob/master/sensehat.py. Je kunt dit script naar een bestand op je Pi kopiëren of het openen vanuit onze Github-repository die we eerder hebben gekloond. Ga naar je wunderground-sensehat-directory en vervolgens nano naar je sensehat.py-bestand door te typen:

$ nano sensehat.py

Merk op de eerste regel op dat we de SenseHat-bibliotheek in het script importeren. Voordat u dit script uitvoert, moeten we onze gebruikersparameters instellen.

# --------- Gebruikersinstellingen ---------CITY = "Nashville"

BUCKET_NAME = ":partly_sunny: " + CITY + " Weer"

BUCKET_KEY = "zintuig"

ACCESS_KEY = "Uw_Toegangssleutel"

SENSOR_LOCATION_NAME = "Kantoor"

MINUTES_BETWEEN_SENSEHAT_READS = 0.1

# ---------------------------------

In het bijzonder moet u uw ACCESS_KEY instellen op de toegangssleutel van uw Initial State-account. Merk op hoe gemakkelijk het is om gegevens van de Sense HAT te lezen in een enkele regel Python (bijv. sense.get_temperature()). Voer het script uit bij een opdrachtprompt op uw Pi:

$ sudo python sensehat.py

Ga naar je Initial State-account en bekijk de nieuwe databucket die door de Sense HAT is gemaakt.

Nu zijn we klaar om alles samen te stellen en ons hyperlokale weerdashboard te maken!

Stap 4: Hyper lokaal weer-dashboard

Hyper lokaal weer-dashboard
Hyper lokaal weer-dashboard
Hyper lokaal weer-dashboard
Hyper lokaal weer-dashboard

De laatste stap in dit project is simpelweg het combineren van onze Weather Data en ons Sense HAT-script in één dashboard. Om dit te doen, zullen we de Initial State Integration met Weatherstack gebruiken om weergegevens toe te voegen aan ons Sensehat-dashboard dat we in de laatste stap hebben gemaakt.

Het gebruik van de Weatherstack API is supereenvoudig. In het verleden lieten we u in deze zelfstudie een script maken en uitvoeren om gegevens uit een weergegevenapi te halen, maar sinds het begin van deze zelfstudie heeft Initial State de Data Integration Marketplace gecreëerd. De Data Integration Marketplace geeft u de mogelijkheid om zonder code toegang te krijgen tot en het streamen van API's naar een Initial State-dashboard. Het is letterlijk slechts een paar muisklikken en BAM: weergegevens. Op Medium heb ik een meer diepgaande tutorial geschreven over het gebruik van de Weatherstack-integratie en het maken van weerwaarschuwingen, maar ik zal hieronder snel opsommen hoe je aan de slag kunt gaan.

De Weatherstack-integratie gebruiken

1. Log in op uw Initial State-account

2. Klik op de detailknop in het vak Weatherstack op de integratiepagina. Op deze pagina vindt u alle basisinformatie over de integratie en wat er nodig is om deze te gebruiken. In dit geval heb je alleen een postcode (of breedtegraad en lengtegraad) nodig van een locatie waarvoor je het weer wilt volgen, en je moet weten in welke eenheden je die gegevens wilt zien (metrisch, wetenschappelijk of US imperial).

3. Klik op de knop Begin met instellen en u ziet een modaal pop-upvenster aan de rechterkant van uw scherm. Er zijn slechts een paar eenvoudige stappen die we moeten nemen voordat we kunnen beginnen kijken naar de weergegevens:

4. Geef uw nieuwe dashboard een naam. Ik noemde de mijne Nashville Weather. Pro tip: ik gebruik graag emoji's in de namen van mijn dashboards om ze een beetje meer pit te geven. Een snelle manier om emoji's op een Mac op te halen, is Ctrl+Command+spatiebalk. Voor Windows houdt u de Windows-knop en de punt (.) of puntkomma (;) ingedrukt. 2 5. Typ uw locatie in. Ik gebruik de postcode van het gebied dat ik wil volgen, maar je kunt ook de breedtegraad en lengtegraad specificeren. Het is gemakkelijk om de lengte- en breedtegraad van uw gebied te vinden door naar Google Maps te gaan, een plaats te zoeken en vervolgens de breedte- en lengtegraad uit de browser te kopiëren en in het formulier te plakken. Op dit moment kunnen alleen locaties in de VS, het VK en Canada worden gebruikt.

6. Kies je eenheden. Ik koos voor US/Imperial omdat ik in de Verenigde Staten woonde.

7. Kies ervoor om een nieuwe bucket te maken of om uw Weatherstack-gegevens naar een bestaande bucket te sturen. Als u in deze zelfstudie uw Sense Hat al hebt ingesteld om naar de beginstatus te streamen (in de laatste stap), stuurt u de Weatherstack-gegevens naar die emmer.

8. Kies of je alle gegevens wilt die Weatherstack verzendt of dat je alleen specifieke weergegevens naar je dashboard wilt sturen. Je kunt altijd alle gegevens verzenden en er later een paar tegels uit halen.

9. Kies hoe vaak u wilt dat uw dashboard wordt bijgewerkt met de weersomstandigheden. U kunt kiezen tussen elk kwartier of uur per uur. Houd er rekening mee dat het verzenden van gegevens om de 15 minuten een extra token kost in vergelijking met het verzenden van elk uur. Dus als u tegelijkertijd andere integraties op de markt wilt gebruiken, wilt u misschien elk uur een poll houden. U kunt altijd stoppen met het verzenden van gegevens vanuit de integratie en opnieuw starten, of de frequentie waarmee u gegevens verzendt later wijzigen. Als u het echter stopt en opnieuw begint, zullen er hiaten in uw gegevens zijn.

10. Klik op Integratie starten. Nu stream je gegevens van Weatherstack! Klik op de knop "Bekijken in de IoT-app" om de eerste datapunten te zien binnenkomen.

11. Pas uw dashboard aan. Als u naar een nieuwe bucket streamt, hebben we een sjabloon voor u opgesteld om u op weg te helpen. Maar je moet het je eigen maken! Druk op de pijl-omlaag in het midden bovenaan uw dashboard om de tijdlijn omlaag te brengen, klik op Tegels bewerken, verplaats enkele tegels, verklein ze en verander de achtergrond. Maak het dashboard zoals u het wilt, zodat u gemakkelijk de gegevens kunt opnemen die u wilt verzamelen. U kunt ook andere Weatherstack-sjablonen gebruiken die we hier voor u hebben gemaakt. Om wat meer context aan uw dashboard toe te voegen, kunt u ook een kaart toevoegen die de locatie laat zien van waar u het weer in de gaten houdt. Uw dashboard ziet er in het begin misschien een beetje kaal uit, maar geef het wat tijd en het zal vollopen met prachtige historische weergegevens.

Stap 5: voeg een kaart toe aan uw dashboard (bonus)

Voeg een kaart toe aan uw dashboard (bonus)
Voeg een kaart toe aan uw dashboard (bonus)
Voeg een kaart toe aan uw dashboard (bonus)
Voeg een kaart toe aan uw dashboard (bonus)
Voeg een kaart toe aan uw dashboard (bonus)
Voeg een kaart toe aan uw dashboard (bonus)

We kunnen eenvoudig een kaarttegel aan ons dashboard toevoegen met de locatie van onze weerstroom. U kunt meer te weten komen over de interactieve kaartweergave in tegels op https://support.initialstate.com/knowledgebase/articles/800232-tiles-map-view. We zouden eenvoudig een nieuwe streamer.log-instructie in ons Python-script kunnen toevoegen (en ik zal aan het einde van deze sectie uitleggen hoe u dat kunt doen). In plaats daarvan maken we van deze gelegenheid gebruik om u een andere manier te laten zien om gegevens naar uw dashboard te verzenden.

Stap 1: Verkrijg de breedtegraad/lengtegraadcoördinaten van uw locatie

U moet de lengte- en breedtegraadcoördinaten van uw locatie krijgen. Een manier om dit te doen is door naar Google Maps te gaan, uw locatie te zoeken en in te zoomen op uw exacte locatie. In de URL ziet u uw lengte- en breedtegraadcoördinaten. In het bovenstaande voorbeeld zijn mijn coördinaten 35.925298, -86.8679478.

Kopieer je coördinaten (je hebt ze nodig in stap 2) en zorg ervoor dat je niet per ongeluk extra tekens uit de URL kopieert.

Stap 2: Bouw een URL om gegevens naar uw dashboard te verzenden

Klik op de link "instellingen" onder de naam van de emmer in het emmerschap. Hierdoor wordt het bovenstaande scherm weergegeven. Kopieer de tekst in het gedeelte API-eindpunt en plak deze in uw favoriete teksteditor. We zullen dit gebruiken om een URL te bouwen die we kunnen gebruiken om gegevens naar onze bestaande bucket en dashboard te sturen. In mijn bucket ziet de tekst die ik heb gekopieerd eruit als: https://groker.initialstate.com/api/events?accessKey=bqHk4F0Jj4j4M4CrhJxEWv6ck3nfZ79o&bucketKey=shwu1 Uw URL heeft uw accessKey en bucketKey. We moeten een streamnaam en waarde toevoegen aan de URL-parameters om de URL te voltooien.

Voeg "&MapLocation=YOUR_COORDINATES_FROM_STEP1" toe aan uw URL

(vul de coördinaten van stap 1 in, geen spaties en kopieer de mijne niet!!)

Zo ziet de mijne eruit: https://groker.initialstate.com/api/events?accessKey=bqHk4F0Jj4j4M4CrhJxEWv6ck3nfZ79o&bucketKey=shwu1&MapLocation=35.925298, -86.8679478

Plak je volledige URL in de adresbalk van je browser en druk op enter (of gebruik de 'curl'-opdracht bij een opdrachtprompt) om je kaartcoördinaten naar de stream, "MapLocation", in je nieuwe bucket te sturen.

Als je nu naar je dashboard in Tiles kijkt (mogelijk moet je vernieuwen als je ongeduldig wordt), zou er een nieuwe Tile met de naam MapLocation moeten zijn verschenen, ingezoomd op je huidige locatie.

Stap 2 Alternatief: wijzig uw script

Als je stap 2 hierboven echt niet leuk vindt, kun je gewoon nog een streamer.log-instructie toevoegen aan je Python-script. Voeg gewoon de regel toe

streamer.log("KaartLocatie", "YOUR_COORDINATES_FROM_STEP1")

ergens in de def main(): functie van het sensehat_wunderground.py script (let op inspringen b/c Python vereist dat je strikte inspringregels volgt). Ik heb bijvoorbeeld streamer.log("MapLocation", "35.925298, -86.8679478") direct na regel 138 toegevoegd.

Stap 6: De Sense Hat-temperatuurmeting corrigeren

De Sense Hat-temperatuurmeting corrigeren
De Sense Hat-temperatuurmeting corrigeren
De Sense Hat-temperatuurmeting corrigeren
De Sense Hat-temperatuurmeting corrigeren
De Sense Hat-temperatuurmeting corrigeren
De Sense Hat-temperatuurmeting corrigeren

Het is je misschien opgevallen dat de temperatuurmetingen van je Sense HAT een beetje hoog lijken - dat is omdat ze dat zijn. De boosdoener is de warmte die wordt gegenereerd door de CPU van de Pi die de lucht rond de Sense HAT opwarmt wanneer deze bovenop de Pi zit.

Om de temperatuursensor bruikbaar te maken, moeten we ofwel de HAT weghalen van de Pi (wat het belangrijke voordeel van een compacte oplossing zou wegnemen) of proberen de temperatuursensormeting te kalibreren. De CPU is de primaire oorzaak van de parasitaire hitte die onze temperatuursensor beïnvloedt, dus we moeten de correlatie achterhalen. Bij het beoordelen van de Enviro pHAT voor de Pi Zero kwamen we met een vergelijking om rekening te houden met de CPU-temperatuur die de temperatuurmeting van een hoed beïnvloedt. We hebben alleen de CPU-temperatuur en een schaalfactor nodig om de gekalibreerde temperatuur te berekenen:

temp_calibrated = temp - ((cpu_temp - temp)/FACTOR)

We kunnen de factor vinden door de werkelijke temperatuur te registreren en deze op te lossen. Om de werkelijke temperatuur in de kamer te vinden, hebben we een andere opstelling van de temperatuursensor nodig. Met behulp van een DHT22-sensor (installatie-instructies hier en script hier), kunnen we beide temperaturen tegelijkertijd opnemen en visualiseren:

Het resultaat laat zien dat de lezing van de Sense HAT vrij constant 5-6 graden Fahrenheit afwijkt. Door de CPU-temperatuur aan de mix toe te voegen (met dit script), laat ten eerste zien dat het extreem heet is, en ten tweede onthult een soort golf die de Sense HAT-meting nabootst.

Na ongeveer 24 uur opnemen, heb ik de factor opgelost door zes verschillende metingen op zes verschillende tijdstippen te gebruiken. Middeling van de factorwaarden gaf een uiteindelijke factorwaarde van 5,466. De vergelijking toepassen

temp_calibrated = temp - ((cpu_temp - temp)/5.466)

de gekalibreerde temperatuur kwam binnen één graad van de werkelijke temperatuurmeting:

U kunt deze kalibratiecorrectie uitvoeren op de Pi zelf, in het wunderground_sensehat.py-script.

Stap 7: Bonus: configureer uw eigen weerwaarschuwingen

Bonus: configureer uw eigen weerwaarschuwingen
Bonus: configureer uw eigen weerwaarschuwingen
Bonus: configureer uw eigen weerwaarschuwingen
Bonus: configureer uw eigen weerwaarschuwingen

Laten we een sms-waarschuwing maken wanneer de temperatuur onder het vriespunt daalt.

We gaan het installatieproces voor triggermeldingen volgen dat op de ondersteuningspagina wordt beschreven.

Zorg ervoor dat uw weergegevens-bucket is geladen.

Klik op de instellingen van de bucket in de dataplank (onder de naam).

Klik op het tabblad Triggers.

Selecteer de gegevensstroom die moet worden geactiveerd (u kunt de vervolgkeuzelijst gebruiken om uit bestaande streams te selecteren zodra een gegevensbucket is geladen of u kunt de naam/sleutel van de stream handmatig invoeren; *opmerking Safari ondersteunt geen HTML5-vervolgkeuzelijsten). In mijn voorbeeldschermafbeelding hierboven heb ik Temperatuur (F) geselecteerd.

Selecteer de voorwaardelijke operator, in dit geval '<'.

Selecteer de triggerwaarde die een actie activeert (typ handmatig de gewenste waarde in). Typ in dit geval 32 zoals hierboven weergegeven.

Klik op de knop '+' om de triggervoorwaarde toe te voegen.

Selecteer de actie (huidige beschikbare acties worden gemeld via sms of e-mail).

Klik op de knop '+' om de actie toe te voegen. Voer een verificatiecode in als u een nieuw telefoonnummer of e-mailadres toevoegt om de installatie te voltooien.

Je trigger is nu live en wordt geactiveerd wanneer aan de voorwaarde is voldaan. Klik op gereed om terug te keren naar het hoofdscherm.

PIR-sms

Wanneer de temperatuur onder de 32 daalt, krijg je een sms. U stelt waarschuwingen in voor alles in uw weergegevens-bucket (* houd er rekening mee dat u emoji-tokens moet gebruiken, niet de daadwerkelijke emoji's).

Bijvoorbeeld als het regent

:wolk: Weersomstandigheden =:paraplu:

Wanneer het winderig is

:streepje: Windsnelheid (MPH) > 20

enzovoort.

Stap 8:

Internet of Things-wedstrijd 2016
Internet of Things-wedstrijd 2016
Internet of Things-wedstrijd 2016
Internet of Things-wedstrijd 2016

Tweede prijs in de Internet of Things-wedstrijd 2016

Aanbevolen: