Indholdsfortegnelse:
- Trin 1: Dele og materialer
- Trin 2: Elektrisk design
- Trin 3: Mekanisk design
- Trin 4: Rammemontage: Ansigt og bund
- Trin 5: Elektronik og sensormontering
- Trin 6: Twitter -konfiguration
- Trin 7: Software og konfiguration
- Trin 8: Bidrag til sensorlageret
Video: Tweeting vejrstation: 8 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:26
Har du nogensinde ønsket at overvåge din bys aktuelle vejrforhold, kulstofaftryk, støj og forureningsniveauer? Vil du være en korsfarer for klimaændringer eller oprette din egen Tweeting-vejrstation og dele dine lokale vejrforhold med verden?
Mød Tweeting Weather IoT Station aka TWIST - en DIY, Open -Source miljøovervågning og meteorologisk dataindsamlingsplatform. Formålet med TWIST er, at enkeltpersoner og samfund kan indsamle data om, hvad der rent faktisk sker i deres miljø og dele disse data på sociale medier som f.eks. Twitter.
- TWIST er en Internet of Things (IoT) platform.
- Hjernen hos TWIST er et Intel Edison Board.
- TWIST er kompatibel med en række forskellige sensorer.
- Alle kode-, designfiler (skemaer og PCB-layout) er Open-Source. Det betyder, at alle kan bidrage til TWIST -platformen ved at dele kode og skemaer for forskellige sensorer.
TWIST består af tre teknologiske lag:
Det første lag er et hardwarekort, der indeholder alle vejr- og miljøsensorer kendt som 'Sensor Board'. Som navnet antyder, bærer den sensorer, der måler luftsammensætning, temperatur, fugtighed, regn. Yderligere sensorer som f.eks. Seismisk aktivitet, UV -indeks, barometrisk tryk, højde, lux (lysstyrke), lydniveauer, vindhastighed og retning osv. Kan også tilføjes. Når det er konfigureret, er Sensor Board i stand til at streame data målt af sensorerne til det andet lag. Det andet lag er Intel Edison Board, der modtager data fra Sensor Board, behandler det og sender det til det næste lag. Det tredje lag forbinder dit Edison Board med internettet via Wi-Fi ved hjælp af det trådløse modul på Edison boardet og Tweet's Current Weather & Environmental conditions.
Strøm til enheden kan leveres af et solpanel eller en vekselstrømsadapter.
Versionsstyrede lagre
Alle tre teknologiske lag af TWIST er Open-Source, og derfor er alle de filer, vi bruger til kode, PCB-udvikling, mekanisk design osv. Let tilgængelige på vores Github-depot.
Konkurrenceindlæg
Intel IoT Invitational
Jeg vil gerne takke Intel+Instructables for at have givet mig Intel Edison Board. Jeg planlægger at lave mange flere IoT -relaterede instruktioner ved hjælp af Edison -kortet.
#iotweatherstn
Hvis du laver TWIST, skal du ikke glemme at tweet vejret ved hjælp af #iotweatherstn. #iotweatherstn kan være et hashtag, der bruges af alle IoT -drevne Tweeting -vejrstationer.
Trin 1: Dele og materialer
QuantityPartDetails 1
Intel Edison
med Arduino Breakout Board
1
MQ2 brændbar gassensor
1
YL-83
Regnsensor
1
SL-HS-220
Temperatur- og fugtighedsføler
1
Modstand
32K
4,7K
3 Metalstandoff 1 tommer
1
Modstand
32K
4,7K
2
Træplade A4 størrelse
Kan senere skæres i størrelse
3
Metal standoff
1 tommer
Trin 2: Elektrisk design
Strøm
Hele systemet drives af en 5V 1A strømforsyning. Sensorerne (temperatur, luftfugtighed, regn, gas) trækker cirka 200 mA, Edison omkring 500 mA, Da den samlede krævede strøm er mindre end 1 amp, bør en 1 amp forsyning fungere fint. Den indbyggede grønne LED på digital pin 13 på Edison Board bruges til at vise strømstatus.
Kontrol En Intel Edison kører showet for TWIST. Edison er monteret på et Arduino breakout board, som gør det let at læse de digitale og analoge signaler fra sensorerne. Edison er forbundet til 5V -skinnen via et mikro -USB -kabel. Edison har en indbygget Wi-Fi-radio, som gør det muligt at oprette forbindelse til Twitter uden behov for yderligere hardware.
Realtidsur (RTC)
Da tidsstemplingen automatisk udføres af Twitter for hver tweet har en opløsning, der er begrænset til det samlede antal dage siden Tweetingens tid, bruges et real-time ur til nøjagtigt at stemple dato og klokkeslæt i time-minut- Andet format. Realtidsuret, der bruges i TWIST-platformen, er DS-1307 RTC-modulet.
Sensorer Den mest grundlæggende opsætning af dette system har fire sensorer (temperatur, luftfugtighed, regn, gas), der tilsluttes Edison. Yderligere sensorer kan tilføjes, f.eks. Støj, vind osv. Hver sensor drives direkte fra 5V -skinnen og har sin signalstift tilsluttet henholdsvis til analoge ben A0 til A2 og digital pin 2 på Edison breakout -kortet. Sensorerne har også hver et følsomhedsjusteringspotentiometer monteret på hvert sensorbræt; MQ-2 er en brændbar gassensor (flydende petroleumsgas, propan, brint og metan), der udsender en analog spænding, der er proportional med koncentrationen af gasser i dele pr. Million. SL-HS-220 har en termistor, der giver temperaturværdien. Da udgangen af termistoren er ikke-lineær, er den tilsvarende temperaturtabel angivet i sensorlageret. Termistoren kræver et spændingsdelerkredsløb, når det er tilsluttet Edison Board som vist i kredsløbsdiagrammet. SL-HS-220 har også et indbygget hygrometer, der måler fugtighed og udsender en analog spænding, der svarer til en fast luftfugtighedsværdi. Fugtighedsspændingstabellen er også angivet i sensorlageret. En almindelig erstatning for SL-HS-220 er DHT11-sensoren. Regnsensoren/vandsensoren har et potentiometer, der er justeret til at give et digitalt output for en vis mængde regn, hvis følsomhed kan justeres af brugeren.
Vejrstation.fzz
Trin 3: Mekanisk design
TWISTs krop består af to plader af træplader. Selvom jeg brugte 1/4 "krydsfiner, kan designet samles af et hvilket som helst arkmateriale, da afstanden (vedligeholdt af 1" aluminiumafstande) er det eneste kritiske element. Jeg har vedhæftet vektorfilerne til download ovenfor.
Laserskæring
For alle dem, der ønsker at laserskære de to plader, har jeg vedhæftet laserskærerfilerne til download herunder. Det inkluderer også en ekstra luftkvalitetssensor i sit design. Så du kan enten bruge et MQ2 sensormodul eller luftkvalitetssensormodul afhængigt af dit valg.
Trin 4: Rammemontage: Ansigt og bund
Frontplade
Sensorerne passer ind i deres matchende huller og udskæringer og kan fastgøres ved hjælp af skruer eller lim.
Bundplade
Edison -bordets standoffs skrues på bundpladen. Den analog-til-digitale konverter (ADC), der er tilsluttet regnsensoren, kan også skrues på bundpladen.
Yderligere komponenter som summer eller spændingsregulator kredsløb til solindgangen kan også skrues på bundpladen.
Bundpladen og frontpladen er begge adskilt af 1 standoffs.
Trin 5: Elektronik og sensormontering
Strøm
Strømmen til systemet leveres af en vægadapter med et standard tønde -stik, der er forbundet direkte til Edisons tønde -stik. Systemet kan også forsynes via USB -porten på Edison -kortet. Du kan også drive kortet fra et eksternt solpanel.
Sensorer
Sensorerne er fastgjort til breakout boards med hanhoveder, og derfor kan de forbindes direkte til Edison via han-til-hun-jumperwirer.
Trin 6: Twitter -konfiguration
Inorder to Tweet, vi bruger en tredjepartsapp udviklet af NeoCat, der får det Twitter-token, du skal bruge til at tweet med dit Edison-bord. Tokens kan også hentes fra Twitters Developers webside.
Så for at komme i gang skal du besøge NeoCats websted, følge hans/hendes tutorial for at få twitter -biblioteket og dit twitter -token. Som NeoCat nævnte på deres websted, må du ikke misbruge tjenesten. Hold dine tweets sparsomme. Hvis du har brug for noget, der tweeter hvert 6. sekund, skal du oprette din egen server og twitter -app og derfor sikrer koden, som jeg skrev, at NeoCats server ikke overbelastes (TWIST tweets hver 6. time).
Biblioteket bruger dette NeoCats websted som en proxyserver til OAuth -ting. Dit tweet anvendes muligvis ikke under vedligeholdelse af dette NeoCats websted. Twitter ser ud til at afvise gentagne tweets med det samme indhold (returnerer fejl 403).
Twitter -token
Arduino Tweet -bibliotek
Trin 7: Software og konfiguration
Følg Intels installationsvejledning til Intel Edsion, før du begynder at kode.
Programmet er en Arduino -skitse, der kører på Edison. Jeg har forklaret hver af de vigtigste kodeblokke herunder.
Koden indeholder nogle foruddefinerede konstanter, pin -deklarationer og et par serielle udskriftssætninger, der hjælper med fejlfinding.
Tweet Forsinkelse
Da Twitter filtrerer tweets, der har det samme indhold og tweetes inden for korte tidsrum mellem hver af dem, er der indstillet en standardforsinkelse på 3 timer (10800000 milli sekund) mellem hver tweet.
tweetMessage ();
forsinkelse (10800000);
Type støbning
Mange af de aflæsninger, vi får fra sensorerne, er i datatypen 'int' eller 'float'. Men da vi tweeter disse værdier, er vi nødt til at konvertere dem til en 'String' datatype. Til dette bruger vi en særlig Type-casting teknik.
char *dtostrf (dobbelt val, signeret forkølingsbredde, usigneret forkert fork, char *sout) {
char fmt [100]; sprintf (fmt, "%%% d.%df", bredde, forud); sprintf (sout, fmt, val); vende tilbage; }
Twitter -token
Twitter -token er oprettet på NeoCats websted og skal indsættes i token -rummet her.
void tweetMessage () {
Twitter twitter ("ENTER TWITTER TOKEN HER");
Tweeting sensorværdier
For at tweet sensorværdien inkluderer vi først sensortypen; Eksempel: "Fugtighed". Dette efterfulgt af en tegnerklæring og en kodelinje, der kræves til typecasting. Dernæst tilføjer vi en erklæring for måleenheden; Eksempel: "%RH". Vi kan også blive ved med at tilføje værdier for andre sensorer på lignende måde.
fugtighed(); flyde fugtigt;
// Twitter -besked String stringMsg = "Fugtighed:"; char tmp [10]; dtostrf (fugtigt, 1, 2, tmp); stringMsg += tmp; stringMsg += "%RH";
Vejrstationens placering og mærkning
Derefter mærker vi placeringen (by, lokalitet osv.) Og andre mærker som #iotweatherstn.
stringMsg += "#Mumbai #Bandra #iotweatherstn";
Realtidsur (RTC)
Som forklaret tidligere kan TWIST også Tweet Real Time Clock Data. Nedenfor er et eksempel på 'dag' parameterblokken med kode for RTC. Real Time Clock -funktionen er valgfri i TWIST -platformen, da modulet kommer separat. Derfor er der oprettet en separat gren i TWIST -depotet for koden og skemaerne for Real Time Clock -grenen.
TwistDateTime (); DateTime nu = rtc.now (); int twistday, twistmonth, twistyear, twisthour, twistmin, twistsec; String stringMsg = ""; char ds1307day [10]; dtostrf (twistday, 1, 0ds1307day); stringMsg += ds1307day; stringMsg += "/";
140 Tegnbegrænsning
Denne kodeblok dækker strengarrayet til 140 tegn array klar til at tweet.
char msg [140];
stringMsg.toCharArray (msg, 140);
Besked og forbindelse Fejlfinding
Denne blok blok udskriver et par tekstlinjer i Serial Monitor for at hjælpe brugeren med at kontrollere meddelelsen og tweetstatus.
// Tweet den sutter!
hvis (twitter.post (msg)) {int status = twitter.wait (); hvis (status == 200) {Serial.println ("OK."); Serial.println ("Besked tweetet"); } ellers {// Forbindelsestest Serial.print ("mislykkedes: kode"); Serial.println ("Besked ikke tweetet"); Serial.println (status); }} else {Serial.println ("forbindelsen mislykkedes."); Serial.println ("Besked ikke tweetet"); }
Alle de andre kodeblokke konverterer simpelthen den analoge eller digitale aflæsning fra sensorerne til brugbare data.
Koden kan downloades herfra eller fra hovedlageret:
Vejrstation.ino
Trin 8: Bidrag til sensorlageret
Er du en programmør, ingeniør eller designer, der har en god idé til en ny funktion i TWIST? Måske har du en god idé til en fejlrettelse? Tag gerne vores kode, skemaer og CAD -filer fra Github og tinker med det.
TWIST GitHub
Anden pris i Intel® IoT Invitational
Anbefalede:
Komplet DIY Raspberry Pi vejrstation med software: 7 trin (med billeder)
Komplet DIY Raspberry Pi vejrstation med software: Tilbage i slutningen af februar så jeg dette indlæg på Raspberry Pi -webstedet. http://www.raspberrypi.org/school-weather-station-…They havde oprettet Raspberry Pi vejrstationer til skoler. Jeg ville helt have en! Men på det tidspunkt (og jeg tror stadig som i skrivende stund
Mini vejrstation med Attiny85: 6 trin (med billeder)
Mini Weather Station With Attiny85: I en nylig instruerbar Indigod0g beskrev en mini -vejrstation, der fungerer ret godt ved hjælp af to Arduinos. Måske er det ikke alle, der ønsker at ofre 2 Arduinos for at få fugtigheds- og temperaturmålinger, og jeg kommenterede, at det burde være muligt at d
Vejrstation med Arduino, BME280 og display til at se trenden inden for de sidste 1-2 dage: 3 trin (med billeder)
Vejrstation Med Arduino, BME280 & Display til at se trenden inden for de sidste 1-2 dage: Hej! Her på vejledninger er vejrstationer allerede blevet introduceret. De viser det aktuelle lufttryk, temperatur og fugtighed. Det, de hidtil manglede, var en præsentation af forløbet inden for de sidste 1-2 dage. Denne proces ville have en
Vejrstation med lav effekt: 6 trin (med billeder)
Low Power Weather Station: Nu i den tredje version og efter at have været testet i over to år, bliver min vejrstation opgraderet til bedre laveffektydelse og dataoverførselspålidelighed. Strømforbrug - ikke et problem i andre måneder end december og januar, men
Vejrstation med datalogning: 7 trin (med billeder)
Vejrstation med datalogning: I denne instruktive vil jeg vise dig, hvordan du laver vejrstationssystem selv. Alt du behøver er grundlæggende viden inden for elektronik, programmering og en lille smule tid. Dette projekt er stadig undervejs. Dette er kun første del. Opgraderinger vil være