INHOUDSOPGAWE:

Tweeting Weather Station: 8 stappe (met foto's)
Tweeting Weather Station: 8 stappe (met foto's)

Video: Tweeting Weather Station: 8 stappe (met foto's)

Video: Tweeting Weather Station: 8 stappe (met foto's)
Video: seeing wife face for first time #shorts 2024, November
Anonim
Tweeting Weather Station
Tweeting Weather Station

Ooit wou u die huidige weerstoestande, koolstofvoetspoor, geraas en besoedelingsvlakke in u stad monitor? Wil u 'n kruisvaardiger vir klimaatsverandering wees, of wil u u eie Tweeting Weerstasie oprig en u plaaslike weersomstandighede met die wêreld deel?

Ontmoet Tweeting Weather IoT Station, ook bekend as TWIST - 'n selfgemaakte, oopbron -omgewingsmonitering en meteorologiese data -verkrygingsplatform. Die doel van TWIST is sodat individue en gemeenskappe data kan versamel oor wat werklik in hul omgewing gebeur en hierdie data op sosiale media soos Twitter kan deel.

  • TWIST is 'n platform van Internet of Things (IoT).
  • Die brein van TWIST is 'n Intel Edison Board.
  • TWIST is verenigbaar met 'n verskeidenheid sensors.
  • Alle kode, ontwerp lêers (skematika en PCB uitleg) is oopbron. Dit beteken dat almal tot die TWIST -platform kan bydra deur kode en skemas vir verskillende sensors te deel.

TWIST bestaan uit drie tegnologiese lae:

Die eerste laag is 'n hardeware bord wat al die weer- en omgewingsensors bevat, bekend as die 'sensorbord'. Soos die naam aandui, bevat dit sensors wat die lugsamestelling, temperatuur, humiditeit, reën meet. Bykomende sensors soos seismiese aktiwiteit, UV -indeks, barometriese druk, hoogte, lux (helderheid), klankvlakke, windspoed en rigting, ens kan ook bygevoeg word. Sodra dit opgestel is, kan die sensorbord data wat deur die sensors gemeet is, na die tweede laag stroom. Die tweede laag is die Intel Edison Board wat data van die Sensor Board ontvang, dit verwerk en na die volgende laag stuur. Die derde laag verbind u Edison Board met die internet via Wi-Fi met behulp van die draadlose module op die Edison-bord en Tweet's the Current Weather & Environmental conditions.

Die toestel kan deur 'n sonpaneel of 'n wisselstroomadapter voorsien word.

Weergawe beheerde bewaarplekke

Al drie die tegnologiese lae van TWIST is Open-Source, en dus is al die lêers wat ons gebruik vir kode, PCB-ontwikkeling, meganiese ontwerp, ens beskikbaar op ons Github-bewaarplek.

Kompetisie -inskrywings

Intel IoT -uitnodiging

Ek wil Intel+Instructables bedank dat u die Intel Edison Board aan my verskaf het. Ek is van plan om nog meer IoT -verwante instruksies te maak met behulp van die Edison -bord.

#iotweatherstn

As u TWIST maak, moet u nie vergeet om die weer te tweet met #iotweatherstn nie. #iotweatherstn kan 'n hutsmerk wees wat deur alle IoT -aangedrewe Tweeting -weerstasies gebruik word.

Stap 1: Onderdele en materiaal

Onderdele en materiaal
Onderdele en materiaal
Onderdele en materiaal
Onderdele en materiaal
Onderdele en materiaal
Onderdele en materiaal

QuantityPartDetails 1

Intel Edison

met Arduino Breakout Board

1

MQ2 brandbare gassensor

1

YL-83

Reën sensor

1

SL-HS-220

Temperatuur- en humiditeitsensor

1

Weerstand

32K

4,7K

3 Metal Standoff 1 duim

1

Weerstand

32K

4,7K

2

Houtblad A4 -grootte

Kan later in grootte gesny word

3

Metaal opstand

1 duim

Stap 2: Elektriese ontwerp

Krag

Die hele stelsel word aangedryf deur 'n 5V 1A kragtoevoer. Die sensors (temperatuur, humiditeit, reën, gas) trek ongeveer 200 mA, die Edison ongeveer 500 mA, aangesien die totale benodigde stroom minder as 1 amp is, behoort 'n 1 amp -toevoer goed te werk. Die ingeboude groen LED op die digitale pen 13 van die Edison Board word gebruik om die kragstatus aan te toon.

Beheer: 'n Intel Edison voer die program vir TWIST uit. Die Edison is gemonteer op 'n Arduino -uitbreekbord, wat dit maklik maak om die digitale en analoog seine van die sensors te lees. Die Edison is via 'n mikro -USB -kabel aan die 5V -spoor gekoppel. Die Edison het 'n ingeboude Wi-Fi-radio waarmee u aan die Twitter kan koppel sonder dat u ekstra hardeware nodig het.

Intydse klok (RTC)

Aangesien die tydstempel wat outomaties deur Twitter vir elke tweet uitgevoer word, 'n resolusie het wat beperk is tot die totale aantal dae sedert die tyd van tweeter, word 'n intydse klok gebruik om die datum en tyd in die uur-minuut akkuraat te stempel. Tweede formaat. Die intydse klok wat op die TWIST-platform gebruik word, is die DS-1307 RTC-module.

Sensors Die mees basiese opstelling van hierdie stelsel het vier sensors (temperatuur, humiditeit, reën, gas) wat met die Edison verbind word. Bykomende sensors kan bygevoeg word, soos geraas, wind, ens. Elke sensor word direk van die 5V -spoor aangedryf en sy seinpen is onderskeidelik gekoppel aan analoog penne A0 tot A2 en digitale pen 2 op die Edison -uitbreekbord. Die sensors het ook elkeen 'n sensitiwiteitsverstelling potensiometer op elke sensorbord gemonteer; Die MQ-2 is 'n brandbare gassensor (vloeibare petroleumgas, propaan, waterstof en metaan) wat 'n analoog spanning lewer wat eweredig is aan die konsentrasie van gasse in dele per miljoen. Die SL-HS-220 het 'n termistor wat die temperatuurwaarde gee. Aangesien die uitset van die termistor nie-lineêr is, word die ooreenstemmende temperatuurtabel in die sensorbewaarplek gegee. Die termistor benodig 'n spanningsverdelerkring wanneer dit aan die Edison -bord gekoppel is, soos in die stroombaandiagram getoon. Die SL-HS-220 het ook 'n ingeboude higrometer wat humiditeit meet en 'n analoog spanning lewer wat ooreenstem met 'n vaste humiditeitswaarde. Die humiditeit-spanningstabel word ook in die sensorbewaarplek gegee. 'N Algemene plaasvervanger vir die SL-HS-220 is die DHT11-sensor. Die reënsensor/watersensor het 'n potensiometer wat aangepas is om 'n digitale uitset te gee vir 'n sekere hoeveelheid reën waarvan die sensitiwiteit deur die gebruiker aangepas kan word.

Weerstasie.fzz

Stap 3: Meganiese ontwerp

Die liggaam van die TWIST bestaan uit twee plate houtblaaie. Alhoewel ek 1/4 "laaghout gebruik het, kan die ontwerp uit enige plaatmateriaal saamgestel word, aangesien die spasiëring (gehandhaaf deur 1" aluminium -afstande) die enigste kritieke element is. Ek het die vektorgelêers hierbo aangeheg om af te laai.

Laser sny

Vir almal wat die twee plate met laser wil sny, het ek die lasersnyer -lêers hierby aangeheg om af te laai. Dit bevat ook 'n ekstra luggehalte sensor in sy ontwerp. U kan dus 'n MQ2 -sensormodule of 'n luggehalte -sensormodule gebruik, afhangende van u keuse.

Stap 4: Raamwerk: gesig en basis

Voorblad

Die sensors pas in hul bypassende gate en uitsparings en kan met skroewe of gom vasgemaak word.

Basisplaat

Die afstande van die Edison -bord word op die basisplaat vasgeskroef. Die analoog-na-digitale omskakelaar (ADC) wat aan die reënsensor gekoppel is, kan ook op die basisplaat vasgeskroef word.

Bykomende komponente soos gonsers of die spanningsreguleerderkring vir die sonkrag kan ook op die basisplaat vasgeskroef word.

Die basisplaat en die voorplaat word beide geskei deur 1 standoffs.

Stap 5: Elektronika en sensormontering

Krag

Die krag vir die stelsel word verskaf deur 'n muuradapter met 'n standaard vataansluiting wat direk aan die Edison's Barrel -aansluiting gekoppel is. Die stelsel kan ook deur die USB -poort op die Edison -bord gevoed word. U kan die bord ook van 'n eksterne sonpaneel voorsien.

Sensors

Die sensors word met uitbreidingsborde met manlike kopstukke vasgemaak, en hulle kan dus direk met die Edison verbind word via man-tot-vroulike springdrade.

Stap 6: Twitter -opset

Om te twiet, gebruik ons 'n derdeparty-app wat deur NeoCat ontwikkel is, wat die Twitter-teken wat u nodig het om saam met u Edison-bord te kry, kry. Tokens kan ook afkomstig wees van Twitter se ontwikkelaarswebblad.

Om aan die gang te kom, besoek die webwerf van NeoCat, volg sy/haar tutoriaal om die twitter -biblioteek en u twittertoken te kry. Soos NeoCat op hul webwerf genoem het, moet u die diens nie misbruik nie. Hou u tweets yl. As u elke 6 sekondes iets nodig het, moet u u eie bediener en twitter -app instel, en daarom verseker die kode wat ek geskryf het dat NeoCat se bediener nie oorlaai nie (TWIST tweets elke 6 uur).

Die biblioteek gebruik die webwerf van hierdie NeoCat as 'n instaanbediener vir OAuth -dinge. U tweet mag nie toegepas word tydens die instandhouding van hierdie NeoCat -webwerf nie. Dit lyk asof Twitter herhaalde tweets met dieselfde inhoud verwerp (gee fout 403 terug).

Twitter -teken

Arduino Tweet -biblioteek

Stap 7: Sagteware en konfigurasie

Volg die opstellingsgids van Intel vir die Intel Edsion voordat u begin met kodering.

Die program is 'n Arduino -skets wat op die Edison loop. Ek het elk van die belangrikste kodeblokke hieronder verduidelik.

Die kode bevat 'n paar vooraf gedefinieerde konstantes, penverklarings en 'n paar reeksafdrukstate wat help met die oplos van probleme.

Tweet Vertraag

Aangesien Twitter tweets met dieselfde inhoud uitvee en binne 'n kort tydjie tussen elkeen van hulle getwiet word, is 'n standaardvertraging van 3 uur (10800000 miljard sekondes) tussen elke tweet bepaal.

tweetMessage ();

vertraging (10800000);

Tik Casting

Baie van die lesings wat ons van die sensors kry, is in die 'int' of 'float' datatipe. Maar aangesien ons hierdie waardes tweet, moet ons dit omskakel in 'n 'String' datatipe. Hiervoor gebruik ons 'n spesiale tipe giettegniek.

char *dtostrf (dubbel val, getekende char breedte, ongetekende char prec, char *sout) {

char fmt [100]; sprintf (fmt, "%%% d.%df", breedte, vooraf); sprintf (sout, fmt, val); terugkeer sout; }

Twitter -teken

Die twitter -token word op NeoCat se webwerf geskep en moet hier in die tokenruimte geplak word.

leegte tweetMessage () {

Twitter twitter ("Voer TWITTER TOKEN HIER IN");

Tweet -sensorwaardes

Om die sensorwaarde te tweet, sluit ons eers die tipe sensor in; Voorbeeld: "Humiditeit". Dit gevolg deur 'n tekenverklaring en 'n reël kode wat benodig word vir tikverwerking. Vervolgens voeg ons 'n verklaring by vir die meeteenheid; Voorbeeld: "%RH". Ons kan ook op dieselfde manier waardes van ander sensors byvoeg.

humiditeit (); dryf vogtig;

// Twitter -boodskap String stringMsg = "Humidity:"; char tmp [10]; dtostrf (vogtig, 1, 2, tmp); stringMsg += tmp; stringMsg += "%RH";

Weerstasie se ligging en etikettering

Daarna merk ons die ligging (stad, ligging, ens.) En ander etikette soos #iotweatherstn.

stringMsg += "#Mumbai #Bandra #iotweatherstn";

Intydse klok (RTC)

Soos vroeër verduidelik, kan TWIST ook die real -time klokdata tweet. Hieronder is 'n voorbeeld van die 'dag' -parameterblok kode van die RTC. Die Real Time Clock -funksie is opsioneel in die TWIST -platform, aangesien die module afsonderlik kom. Daarom is daar 'n aparte tak in die TWIST -bewaarplek vir die kode en skemas van die Real Time Clock -tak.

TwistDateTime (); DateTime nou = rtc.now (); int twistday, twistmonth, twistyear, twisthour, twistmin, twistsec; String stringMsg = ""; char ds1307day [10]; dtostrf (twistday, 1, 0ds1307day); stringMsg += ds1307day; stringMsg += "/";

140 Karakterlimiet

Hierdie blok kode dek die stringreeks tot 140 tekensreeks wat gereed is om te tweet.

char msg [140];

stringMsg.toCharArray (boodskap, 140);

Boodskap en verbinding probleemoplossing

Hierdie blok kode druk 'n paar reëls teks in die Serial Monitor af om die gebruiker te help om die boodskap en die tweetstatus na te gaan.

// Tweet daai sukkelaar!

as (twitter.post (msg)) {int status = twitter.wait (); as (status == 200) {Serial.println ("OK."); Serial.println ("Boodskap getwiet"); } anders {// Verbindingstoets Serial.print ("misluk: kode"); Serial.println ("Boodskap nie getweet nie"); Serial.println (status); }} anders {Serial.println ("verbinding misluk."); Serial.println ("Boodskap nie getweet nie"); }

Al die ander blokkies kode omskakel eenvoudig die analoog of digitale lesing van die sensors in bruikbare data.

Die kode kan van hier af afgelaai word of vanaf die hoofbewaarplek:

Weerstasie.ino

Stap 8: Dra by tot die sensorbewaarplek

Is u 'n programmeerder, ingenieur of ontwerper wat 'n goeie idee het vir 'n nuwe funksie in TWIST? Het u miskien 'n goeie idee vir 'n foutoplossing? Gryp gerus ons kode, skemas en CAD -lêers van Github aan en probeer daarmee.

TWIST GitHub

Intel® IoT -uitnodiging
Intel® IoT -uitnodiging
Intel® IoT -uitnodiging
Intel® IoT -uitnodiging

Tweede prys in die Intel® IoT -uitnodiging

Aanbeveel: