Indholdsfortegnelse:

Tweeting vejrstation: 8 trin (med billeder)
Tweeting vejrstation: 8 trin (med billeder)

Video: Tweeting vejrstation: 8 trin (med billeder)

Video: Tweeting vejrstation: 8 trin (med billeder)
Video: S1: Ep. #4 - Independent Research / EPIC UFO Sighting w/ Tim Seanor 2024, Juli
Anonim
Tweeting vejrstation
Tweeting vejrstation

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

Dele og materialer
Dele og materialer
Dele og materialer
Dele og materialer
Dele og materialer
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

Intel® IoT Invitational
Intel® IoT Invitational
Intel® IoT Invitational
Intel® IoT Invitational

Anden pris i Intel® IoT Invitational

Anbefalede: