Inhoudsopgave:
- Stap 1: Onderdelen en materialen
- Stap 2: Elektrisch ontwerp
- Stap 3: Mechanisch ontwerp
- Stap 4: Framemontage: gezicht en basis
- Stap 5: Elektronica en sensorassemblage
- Stap 6: Twitter-configuratie
- Stap 7: Software & Configuratie
- Stap 8: Bijdragen aan de Sensor Repository
Video: Weerstation tweeten: 8 stappen (met afbeeldingen)
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:15
Ooit de huidige weersomstandigheden, CO2-voetafdruk, geluidsoverlast en vervuilingsniveaus van uw stad willen volgen? Wil je een Climate Change Crusader zijn of je eigen Twitter-weerstation opzetten en je lokale weersomstandigheden met de wereld delen?
Maak kennis met het tweeten van Weather IoT Station, ook bekend als TWIST - een doe-het-zelf, open-source platform voor milieumonitoring en meteorologische data-acquisitie. Het doel van TWIST is dat individuen en gemeenschappen gegevens kunnen verzamelen over wat er werkelijk in hun omgeving gebeurt en deze gegevens kunnen delen op sociale media zoals Twitter.
- TWIST is een door Internet of Things (IoT) aangedreven platform.
- Het brein van TWIST is een Intel Edison Board.
- TWIST is compatibel met verschillende sensoren.
- Alle code, ontwerpbestanden (schema's en PCB-lay-out) zijn open source. Dit betekent dat iedereen kan bijdragen aan het TWIST-platform door code en schema's voor verschillende sensoren te delen.
TWIST bestaat uit drie technologische lagen:
De eerste laag is een hardwarebord dat alle weer- en omgevingssensoren bevat die bekend staan als het 'Sensorbord'. Zoals de naam al doet vermoeden, draagt het sensoren die de luchtsamenstelling, temperatuur, vochtigheid en regen meten. Extra sensoren zoals seismische activiteit, UV-index, luchtdruk, hoogte, lux (lichtsterkte), geluidsniveaus, windsnelheid en -richting, enz. kunnen ook worden toegevoegd. Zodra het is ingesteld, kan het Sensor Board de door de sensoren gemeten gegevens naar de tweede laag streamen. De tweede laag is het Intel Edison Board dat gegevens van het Sensor Board ontvangt, verwerkt en naar de volgende laag stuurt. De derde laag verbindt uw Edison-bord met internet via Wi-Fi met behulp van de draadloze module op het Edison-bord en Tweet's de huidige weers- en omgevingsomstandigheden.
Het apparaat kan van stroom worden voorzien door een zonnepaneel of een AC-adapter.
Versiebeheerde opslagplaatsen
Alle drie de technologische lagen van TWIST zijn open-source, en dus zijn alle bestanden die we gebruiken voor code, PCB-ontwikkeling, mechanisch ontwerp, enz. direct beschikbaar in onze Github-repository.
Wedstrijdinzendingen
Intel IoT Invitational
Ik wil Intel+Instructables bedanken voor het verstrekken van de Intel Edison Board. Ik ben van plan om nog veel meer IoT-gerelateerde Instructables te maken met behulp van het Edison-bord.
#iotweatherstn
Als je TWIST maakt, vergeet dan niet het weer te tweeten met #iotweatherstn. #iotweatherstn kan een hashtag zijn die door alle door IoT aangedreven tweeting-weerstations wordt gebruikt.
Stap 1: Onderdelen en materialen
HoeveelheidOnderdeelDetails 1
Intel Edison
met Arduino Breakout Board
1
MQ2 sensor voor brandbaar gas
1
YL-83
Regen sensor
1
SL-HS-220
Temperatuur- en vochtigheidssensor
1
Weerstand
32K
4,7K
3 metalen afstandhouder 1 inch
1
Weerstand
32K
4,7K
2
Houten blad A4-formaat
Kan later op maat worden gesneden
3
Metalen afstandhouder
1 inch
Stap 2: Elektrisch ontwerp
Stroom
Het hele systeem wordt gevoed door een 5V 1A voeding. De sensoren (temperatuur, vochtigheid, regen, gas) verbruiken ongeveer 200 mA, de Edison ongeveer 500 mA. Aangezien de totale benodigde stroom minder dan 1 ampère is, zou een voeding van 1 ampère prima moeten werken. De ingebouwde groene LED op digitale pin 13 van het Edison Board wordt gebruikt om de stroomstatus weer te geven.
ControleEen Intel Edison runt de show voor TWIST. De Edison is gemonteerd op een Arduino breakout board, waardoor het gemakkelijk is om de digitale & analoge signalen van de sensoren te lezen. De Edison wordt via een micro-USB-kabel aangesloten op de 5V-rail. De Edison heeft een ingebouwde Wi-Fi-radio, waardoor hij verbinding kan maken met Twitter zonder dat er extra hardware nodig is.
Realtime klok (RTC)
Aangezien de tijdstempel die automatisch door Twitter wordt uitgevoerd voor elke tweet een resolutie heeft die beperkt is tot het totale aantal dagen sinds de tijd van het tweeten, wordt een realtime klok gebruikt om de datum en tijd nauwkeurig in de Hour-Minuten- Tweede formaat. De realtime klok die in het TWIST-platform wordt gebruikt, is de DS-1307 RTC-module.
Sensoren De meest basale opstelling van dit systeem heeft vier sensoren (Temperatuur, Vochtigheid, Regen, Gas) die op de Edison worden aangesloten. Er kunnen extra sensoren worden toegevoegd, zoals ruis, wind, enz. Elke sensor wordt rechtstreeks gevoed door de 5V-rail en heeft zijn signaalpin aangesloten op respectievelijk analoge pinnen A0 tot en met A2 en digitale pin 2 op het Edison-breakoutboard. De sensoren hebben ook elk een potentiometer voor het instellen van de gevoeligheid die op elke sensorkaart is gemonteerd; De MQ-2 is een sensor voor brandbaar gas (vloeibaar petroleumgas, propaan, waterstof en methaan) die een analoge spanning afgeeft die evenredig is met de concentratie van gassen in delen per miljoen. De SL-HS-220 heeft een thermistor die de temperatuurwaarde aangeeft. Aangezien de output van de thermistor niet-lineair is, wordt de overeenkomstige temperatuurtabel gegeven in de sensoropslag. De thermistor heeft een spanningsdelercircuit nodig wanneer deze is aangesloten op de Edison Board, zoals weergegeven in het schakelschema. De SL-HS-220 heeft ook een ingebouwde hygrometer die de vochtigheid meet en een analoge spanning afgeeft die overeenkomt met een vaste vochtigheidswaarde. De vochtigheid-spanningstabel wordt ook gegeven in de sensorrepository. Een veelvoorkomend alternatief voor de SL-HS-220 is de DHT11-sensor. De regensensor/watersensor heeft een potentiometer die is afgesteld om een digitale uitgang te geven voor een bepaalde hoeveelheid regen waarvan de gevoeligheid door de gebruiker kan worden aangepast.
Weerstation.fzz
Stap 3: Mechanisch ontwerp
Het lichaam van de TWIST is gemaakt van twee platen van houten platen. Hoewel ik 1/4" multiplex heb gebruikt, kan het ontwerp uit elk plaatmateriaal worden geassembleerd, aangezien de afstand (behouden door 1" aluminium afstandhouders) het enige kritische element is. Ik heb de vectorbestanden voor download hierboven bijgevoegd.
Laser snijden
Voor iedereen die de twee platen wil lasersnijden, heb ik de lasercutter-bestanden hieronder bijgevoegd om te downloaden. Het bevat ook een extra luchtkwaliteitssensor in zijn ontwerp. U kunt dus een MQ2-sensormodule of luchtkwaliteitssensormodule gebruiken, afhankelijk van uw keuze.
Stap 4: Framemontage: gezicht en basis
Voorplaat
De sensoren passen in hun bijpassende gaten en uitsparingen en kunnen worden bevestigd met schroeven of lijm.
Grondplaat
De afstandhouders van het Edison-bord worden op de basisplaat geschroefd. De analoog-naar-digitaal converter (ADC) die is aangesloten op de regensensor kan ook op de grondplaat worden geschroefd.
Extra componenten zoals zoemers of het spanningsregelaarcircuit voor de zonne-ingang kunnen ook op de grondplaat worden geschroefd.
De grondplaat en de voorplaat zijn beide gescheiden door afstandhouders van 1 inch.
Stap 5: Elektronica en sensorassemblage
Stroom
De stroomvoorziening voor het systeem wordt geleverd door een wandadapter met een standaard barrel jack die direct is aangesloten op de Edison's Barrel connector. Het systeem kan ook worden gevoed via de USB-poort op het Edison-bord. U kunt het bord ook van stroom voorzien via een extern zonnepaneel.
Sensoren
De sensoren zijn bevestigd aan breakout-borden met mannelijke headers en kunnen daarom rechtstreeks op de Edison worden aangesloten via mannelijke-naar-vrouwelijke jumperdraden.
Stap 6: Twitter-configuratie
Om te kunnen tweeten, gebruiken we een app van derden die is ontwikkeld door NeoCat en die de Twitter-token krijgt die je nodig hebt om te tweeten met je Edison-bord. Tokens kunnen ook worden verkregen via de ontwikkelaarswebpagina van Twitter.
Dus, om te beginnen, bezoek NeoCat's website, volg zijn/haar tutorial om de Twitter-bibliotheek en je Twitter-token te krijgen. Zoals NeoCat op hun site vermeldt, maak geen misbruik van de service. Houd je tweets spaarzaam. Als je iets nodig hebt dat elke 6 seconden tweet, moet je je eigen server en twitter-app opzetten en daarom zorgt de code die ik heb geschreven ervoor dat de server van NeoCat niet overbelast wordt (TWIST tweets elke 6 uur).
De bibliotheek gebruikt de website van deze NeoCat als een proxyserver voor OAuth-dingen. Uw tweet mag niet worden toegepast tijdens het onderhoud van de website van deze NeoCat. Twitter lijkt herhaalde tweets met dezelfde inhoud te weigeren (retourneert fout 403).
Twitter-token
Arduino Tweet Bibliotheek
Stap 7: Software & Configuratie
Volg de installatiehandleiding van Intel voor de Intel Edsion voordat u begint met coderen.
Het programma is een Arduino-schets die op de Edison draait. Ik heb elk van de belangrijkste codeblokken hieronder uitgelegd.
De code bevat een aantal vooraf gedefinieerde constanten, pin-declaraties en een aantal seriële print-statements die helpen bij het oplossen van problemen.
Tweet vertraging
Aangezien Twitter tweets uitfiltert die dezelfde inhoud hebben en binnen korte tijd tussen beide tweets worden getweet, is er standaard een vertraging van 3 uur (10800000 milliseconden) tussen elke tweet ingesteld.
tweetBericht();
vertraging (10800000);
Type Gieten
Veel van de metingen die we van de sensoren krijgen, zijn van het datatype 'int' of 'float'. Maar aangezien we deze waarden tweeten, moeten we ze converteren naar een 'String'-gegevenstype. Hiervoor gebruiken we een speciale Type-casting techniek.
char *dtostrf (dubbele waarde, ondertekende char-breedte, niet-ondertekende char prec, char *sout) {
char fmt[100]; sprintf(fmt, "%%%d.%df", breedte, prec); sprintf(zuid, fmt, val); terug naar het zuiden; }
Twitter-token
De twitter-token is gemaakt op de website van NeoCat en moet hier in de tokenruimte worden geplakt.
ongeldige tweetMessage() {
Twitter twitter ("VOER HIER TWITTER TOKEN IN ");
Sensorwaarden tweeten
Om de sensorwaarde te tweeten nemen we eerst het Sensortype op; Voorbeeld: "Vochtigheid". Dit gevolgd door een karakterdeclaratie en een regel code die nodig is voor typecasting. Vervolgens voegen we een statement toe voor de meeteenheid; Voorbeeld: "%RH". Op dezelfde manier kunnen we ook waarden van andere sensoren blijven toevoegen.
vochtigheid(); drijven vochtig;
// Twitter-bericht String stringMsg = "Vochtigheid:"; char tmp[10]; dtostrf(vochtig, 1, 2, tmp); stringMsg += tmp; stringMsg += "%RH";
Locatie en tagging van weerstation
Vervolgens taggen we de locatie (stad, plaats, enz.) en andere tags zoals #iotweatherstn.
stringMsg += " #Mumbai #Bandra #iotweatherstn ";
Realtime klok (RTC)
Zoals eerder uitgelegd, kan TWIST ook de realtimeklokgegevens tweeten. Hieronder ziet u een voorbeeld van het codeblok 'dag' van de RTC. De Real Time Clock-functie is optioneel in het TWIST-platform, aangezien de module afzonderlijk wordt geleverd. Daarom is er een aparte tak gemaakt in de TWIST-repository voor de code en schema's van de Real Time Clock-tak.
TwistDateTijd(); DateTime nu = rtc.now(); int twistday, twistmonth, twistyear, twisthour, twistmin, twistsec; String stringMsg = ""; char ds1307day[10]; dtostrf(twistday, 1, 0ds1307day); stringMsg += ds1307day; stringMsg += "/";
Limiet van 140 tekens
Dit codeblok bedekt de stringarray tot een array van 140 tekens, klaar om te tweeten.
char bericht[140];
stringMsg.toCharArray(msg, 140);
Problemen met berichten en verbinding oplossen
Dit codeblok drukt een paar regels tekst af in de seriële monitor om de gebruiker te helpen het bericht en de tweetstatus te controleren.
//Tweet die sukkel!
if (twitter.post(msg)) {int status = twitter.wait(); if (status == 200) { Serial.println("OK."); Serial.println("Bericht getweet"); } else { //Verbindingstest Serial.print("mislukt: code"); Serial.println("Bericht niet getweet"); Serieel.println(status); } } else { Serial.println("verbinding mislukt."); Serial.println("Bericht niet getweet"); }
Alle andere codeblokken zetten de analoge of digitale uitlezing van de sensoren eenvoudig om in bruikbare gegevens.
De code kan hier of vanuit de hoofdrepository worden gedownload:
Weerstation.ino
Stap 8: Bijdragen aan de Sensor Repository
Ben jij een programmeur, ingenieur of ontwerper die een geweldig idee heeft voor een nieuwe functie in TWIST? Misschien heb je een goed idee voor een bugfix? Voel je vrij om onze code, schema's en CAD-bestanden van Github te pakken en ermee te sleutelen.
TWIST GitHub
Tweede prijs in de Intel® IoT Invitational
Aanbevolen:
NaTaLia-weerstation: Arduino-weerstation op zonne-energie op de juiste manier gedaan - Ajarnpa
NaTaLia-weerstation: Arduino-weerstation op zonne-energie op de juiste manier gedaan: na 1 jaar succesvol gebruik op 2 verschillende locaties deel ik mijn projectplannen voor een weerstation op zonne-energie en leg ik uit hoe het is geëvolueerd tot een systeem dat echt kan overleven gedurende lange tijd perioden van zonne-energie. Als je volgt
Weerstation met Arduino, BME280 & display voor het zien van de trend in de afgelopen 1-2 dagen: 3 stappen (met afbeeldingen)
Weerstation met Arduino, BME280 & display voor het zien van de trend in de afgelopen 1-2 dagen: Hallo! Hier op instructables zijn al weerstations geïntroduceerd. Ze tonen de huidige luchtdruk, temperatuur en vochtigheid. Wat ze tot nu toe misten, was een presentatie van de cursus in de afgelopen 1-2 dagen. Dit proces zou de a
Weerstation met datalogging: 7 stappen (met afbeeldingen)
Weerstation met datalogging: in deze instructable laat ik je zien hoe je zelf een weerstationsysteem kunt maken. Het enige wat je nodig hebt is basiskennis van elektronica, programmeren en een beetje tijd. Dit project is nog in de maak. Dit is pas het eerste deel. Upgraden zal
Acurite 5 in 1 weerstation met een Raspberry Pi en Weewx (andere weerstations zijn compatibel): 5 stappen (met afbeeldingen)
Acurite 5 in 1 weerstation met een Raspberry Pi en Weewx (andere weerstations zijn compatibel): Toen ik het Acurite 5 in 1 weerstation had gekocht, wilde ik het weer thuis kunnen controleren terwijl ik weg was. Toen ik thuiskwam en het instelde, realiseerde ik me dat ik het beeldscherm op een computer moest aansluiten of hun slimme hub moest kopen
Beginnersgids voor ESP8266 en tweeten met ESP8266: 17 stappen (met afbeeldingen)
Beginnersgids voor ESP8266 en tweeten met ESP8266: ik leerde over Arduino 2 jaar geleden. Dus begon ik te spelen met eenvoudige dingen zoals LED's, knoppen, motoren enz. Toen dacht ik dat het niet cool zou zijn om verbinding te maken om dingen te doen zoals het weergeven van de het weer van de dag, aandelenkoersen, treintijden op een LCD-scherm. Ik