Sisällysluettelo:

Tweeting -sääasema: 8 vaihetta (kuvilla)
Tweeting -sääasema: 8 vaihetta (kuvilla)

Video: Tweeting -sääasema: 8 vaihetta (kuvilla)

Video: Tweeting -sääasema: 8 vaihetta (kuvilla)
Video: KIRJOITTAMISESTA | 10 vaihetta ideasta kirjaksi 2024, Marraskuu
Anonim
Tweeting -sääasema
Tweeting -sääasema

Oletko koskaan halunnut seurata kaupunkisi nykyisiä sääolosuhteita, hiilijalanjälkeä, melua ja saastumista? Haluatko olla ilmastonmuutoksen ristiretkeläinen tai perustaa oman Tweeting-sääaseman ja jakaa paikalliset sääolosuhteet maailman kanssa?

Tapaa Tweeting Weather IoT Station eli TWIST - DIY, avoimen lähdekoodin ympäristön seuranta- ja säätietojen hankinta -alusta. TWISTin tarkoitus on, että yksilöt ja yhteisöt voivat kerätä tietoja siitä, mitä heidän ympäristössään todella tapahtuu, ja jakaa nämä tiedot sosiaalisessa mediassa, kuten Twitterissä.

  • TWIST on esineiden internetissä (IoT) toimiva alusta.
  • TWISTin aivot ovat Intel Edison Board.
  • TWIST on yhteensopiva useiden antureiden kanssa.
  • Kaikki koodit, suunnittelutiedostot (kaaviot ja piirilevyasettelu) ovat avoimen lähdekoodin. Tämä tarkoittaa, että kuka tahansa voi osallistua TWIST -alustaan jakamalla koodia ja kaavioita eri antureille.

TWIST koostuu kolmesta teknologisesta kerroksesta:

Ensimmäinen kerros on laitteistokortti, joka sisältää kaikki sää- ja ympäristöanturit, jotka tunnetaan nimellä "Sensor Board". Kuten nimestä voi päätellä, siinä on antureita, jotka mittaavat ilman koostumusta, lämpötilaa, kosteutta, sadetta. Lisäksi voidaan lisätä muita antureita, kuten likeseisminen aktiivisuus, UV -indeksi, ilmanpaine, korkeus, lux (kirkkaus), äänitasot, tuulen nopeus ja suunta jne. Kun anturikortti on määritetty, se voi lähettää antureiden mittaamia tietoja toiselle kerrokselle. Toinen kerros on Intel Edison Board, joka vastaanottaa tietoja anturikortilta, käsittelee sitä ja lähettää sen seuraavalle tasolle. Kolmas kerros yhdistää Edison Boardisi Internetiin Wi-Fi-yhteyden kautta käyttämällä Edison-levyn langatonta moduulia ja Tweet's the Current Weather & Environment conditions.

Laitteeseen voi saada virtaa aurinkopaneelilla tai verkkolaitteella.

Versio -ohjatut arkistot

Kaikki kolme TWISTin teknologista kerrosta ovat avoimen lähdekoodin, joten kaikki koodiin, piirilevykehitykseen, mekaaniseen suunnitteluun jne. Käyttämämme tiedostot ovat helposti saatavilla Github-arkistossamme.

Kilpailutyöt

Intel IoT Invitational

Haluan kiittää Intel+Instructablesia Intel Edison Boardin toimittamisesta. Aion tehdä paljon enemmän esineiden internetiin liittyviä ohjekirjoja Edison -levyn avulla.

#ilmasää

Jos teet TWISTin, älä unohda twiittaa säätä #iotweatherstn. #iotweatherstn voi olla hashtag, jota käyttävät kaikki IoT -käyttöiset Tweeting -sääasemat.

Vaihe 1: Osat ja materiaalit

Osat ja materiaalit
Osat ja materiaalit
Osat ja materiaalit
Osat ja materiaalit
Osat ja materiaalit
Osat ja materiaalit

Määrä Osatiedot 1

Intel Edison

Arduino Breakout Boardin kanssa

1

MQ2 palavien kaasujen anturi

1

YL-83

Sadetunnistin

1

SL-HS-220

Lämpötila- ja kosteusanturi

1

Vastus

32K

4,7 tuhatta

3 Metallirunko 1 tuumaa

1

Vastus

32K

4,7 tuhatta

2

Puulevy A4 -koko

Voidaan leikata myöhemmin kokoon

3

Metal Standoff

1 tuuma

Vaihe 2: Sähköinen suunnittelu

Virta

Koko järjestelmä saa virtansa 5V 1A virtalähteestä. Anturit (lämpötila, kosteus, sade, kaasu) kuluttavat noin 200 mA, Edison noin 500 mA. Edison Boardin digitaalisen nastan 13 sisäänrakennettua vihreää LEDiä käytetään näyttämään virran tila.

Intel Edison johtaa TWIST -ohjelman. Edison on asennettu Arduino -murtokortille, mikä helpottaa digitaalisten ja analogisten signaalien lukemista antureista. Edison on kytketty 5V -kiskoon mikro -USB -kaapelin avulla. Edisonissa on sisäänrakennettu Wi-Fi-radio, jonka avulla se voi muodostaa yhteyden Twitteriin ilman lisälaitteistoa.

Reaaliaikainen kello (RTC)

Koska Twitterin automaattisesti suorittaman aikaleimauksen kussakin twiitissä resoluutio on rajoitettu twiittiajan jälkeisten päivien kokonaismäärään, reaaliaikaista kelloa käytetään päivämäärän ja kellonajan tarkkaan aikaleimaamiseen tunti-minuutteina. Toinen muoto. TWIST-alustassa käytetty reaaliaikainen kello on DS-1307 RTC-moduuli.

Anturit Tämän järjestelmän perusasetuksissa on neljä anturia (lämpötila, kosteus, sade, kaasu), jotka liitetään Edisoniin. Muita antureita voidaan lisätä, kuten kohinaa, tuulta jne. Jokainen anturi saa virtansa suoraan 5 V: n kiskosta ja sen signaalitappi on kytketty vastaavasti analogisiin nastoihin A0 - A2 ja digitaalisiin nastoihin 2 Edisonin katkaisukortilla. Kussakin anturissa on herkkyyden säätöpotentiometri jokaiseen anturilevyyn; MQ-2 on palavien kaasujen anturi (nestekaasu, propaani, vety ja metaani), joka antaa analogisen jännitteen, joka on verrannollinen kaasun pitoisuuteen miljoonasosina. SL-HS-220: ssa on termistori, joka ilmoittaa lämpötila-arvon. Koska termistorin lähtö on epälineaarinen, vastaava lämpötilataulukko on annettu anturivarastossa. Termistori vaatii jännitteenjakajapiirin, kun se on kytketty Edison Boardiin piirikaavion mukaisesti. SL-HS-220: ssa on myös sisäänrakennettu kosteusmittari, joka mittaa kosteutta ja antaa analogisen jännitteen, joka vastaa kiinteää kosteusarvoa. Kosteus-jännite-taulukko on myös anturivarastossa. Yleinen korvaaja SL-HS-220: lle on DHT11-anturi. Sadetunnistimessa/vesianturissa on potentiometri, joka on säädetty antamaan digitaalinen lähtö tietylle sademäärälle, jonka herkkyyttä käyttäjä voi säätää.

Sää Station.fzz

Vaihe 3: Mekaaninen suunnittelu

TWISTin runko on valmistettu kahdesta puulevylevystä. Vaikka käytin 1/4 "vaneria, muotoilu voidaan koota mistä tahansa levymateriaalista, koska etäisyys (ylläpidetty 1": n alumiiniseisokkeilla) on ainoa kriittinen elementti. Olen liittänyt vektoritiedostot ladattavaksi yllä.

Laserleikkaus

Kaikille niille, jotka haluavat leikata kaksi levyä laserilla, olen liittänyt alla olevat laserleikkuritiedostot ladattavaksi. Sen suunnittelussa on myös ylimääräinen ilmanlaatutunnistin. Joten voit joko käyttää MQ2 -anturimoduulia tai ilmanlaadun anturimoduulia valintasi mukaan.

Vaihe 4: Kehyksen asennus: Face & Base

Etulevy

Anturit sopivat vastaaviin reikiin ja aukkoihin, ja ne voidaan kiinnittää ruuveilla tai liimalla.

Pohjalevy

Edison -levyn pysäytykset ruuvataan pohjalevyyn. Sadeanturiin liitetty analoginen digitaalimuunnin (ADC) voidaan myös ruuvata pohjalevyyn.

Lisäkomponentteja, kuten summerit tai aurinkotulon jännitesäädinpiiri, voidaan myös ruuvata pohjalevyyn.

Pohjalevy ja etulevy on erotettu toisistaan 1 : n pysäytyksillä.

Vaihe 5: Elektroniikka- ja anturikokoonpano

Virta

Järjestelmän virransyöttö saadaan seinäsovittimesta, jossa on tavallinen tynnyripistoke, joka on kytketty suoraan Edisonin piippuliittimeen. Järjestelmää voidaan käyttää myös Edison -levyn USB -portin kautta. Voit myös virittää kortin ulkoisesta aurinkopaneelista.

Anturit

Anturit on kiinnitetty urosliittimillä varustettuihin katkaisulaudoihin, joten ne voidaan yhdistää suoraan Edisoniin uros-naaras-hyppyjohtimien kautta.

Vaihe 6: Twitter -määritykset

Inorder to Tweet, käytämme NeoCatin kehittämää kolmannen osapuolen sovellusta, joka saa Twitter-tunnuksen, jota tarvitset twiittaamaan Edison-levyn kanssa. Tunnuksia voi hankkia myös Twitterin kehittäjien verkkosivulta.

Joten aloita käymällä NeoCatin verkkosivustolla, seuraamalla hänen opetusohjelmaansa saadaksesi twitter -kirjaston ja twitter -tunnuksesi. Kuten NeoCat mainitsi sivustollaan, älä käytä palvelua väärin. Pidä twiitit harvinaisina. Jos tarvitset jotain, joka twiittaa 6 sekunnin välein, sinun on määritettävä oma palvelin ja twitter -sovellus, joten kirjoittamani koodi varmistaa, että NeoCatin palvelin ei ylikuormitu (TWIST -twiitit 6 tunnin välein).

Kirjasto käyttää NeoCatin verkkosivustoa OAuth -asioiden välityspalvelimena. Twiittiäsi ei saa käyttää tämän NeoCatin verkkosivuston ylläpidon aikana. Twitter näyttää hylkäävän toistuvat samaa sisältöä sisältävät twiitit (palauttaa virheen 403).

Twitter -merkki

Arduinon twiittikirjasto

Vaihe 7: Ohjelmisto ja määritykset

Noudata Intelin asennusopasta Intel Edsionille ennen koodauksen aloittamista.

Ohjelma on Arduinon luonnos, joka toimii Edisonissa. Olen selittänyt jokaisen alla olevan koodin päälohkon.

Koodi sisältää joitakin ennalta määritettyjä vakioita, nastan ilmoituksia ja pari sarjatulostuslauseketta, jotka auttavat vianetsinnässä.

Twiitin viive

Koska Twitter suodattaa pois twiitit, joilla on sama sisältö ja jotka twiittaavat lyhyiden ajanjaksojen aikana niiden välillä, jokaisen twiitin välille on asetettu normaali 3 tunnin (10800000 milli sekunnin) viive.

tweetMessage ();

viive (10800000);

Tyyppi valu

Suurin osa antureista saamistamme lukemista on 'int' tai 'float' -tietotyypissä. Mutta koska me tweetataan näitä arvoja, meidän on muutettava ne merkkijonotyypiksi. Käytämme tätä varten erityistä tyyppi-valutekniikkaa.

char *dtostrf (kaksoisval, allekirjoitettu char -leveys, allekirjoittamaton char prec, char *Sout) {

char fmt [100]; sprintf (fmt, "%%% d.%df", leveys, tarkkuus); sprintf (etelä, fmt, val); paluu etelään; }

Twitter -merkki

Twitter -tunnus on luotu NeoCatin verkkosivustolla ja se tulee liittää token -tilaan täällä.

void tweetMessage () {

Twitter twitter ("ENTER TWITTER TOKEN TÄSTÄ");

Tweeting -anturin arvot

Anturin arvon tweetiksi sisällytetään ensin anturityyppi; Esimerkki: "Kosteus". Tätä seurasi merkkijono ja tyypin lähettämiseen tarvittava koodirivi. Seuraavaksi lisäämme lausunnon mittayksikölle; Esimerkki: "%RH". Voimme myös jatkaa muiden antureiden arvojen lisäämistä samalla tavalla.

kosteus(); kellua kosteaa;

// Twitter -viesti String stringMsg = "Kosteus:"; char tmp [10]; dtostrf (kostea, 1, 2, tmp); stringMsg += tmp; stringMsg += "%RH";

Sääaseman sijainti ja merkinnät

Seuraavaksi merkitsemme sijainnin (kaupunki, paikkakunta jne.) Ja muut tunnisteet, kuten #iotweatherstn.

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

Reaaliaikainen kello (RTC)

Kuten aiemmin selitettiin, TWIST voi myös tweetata reaaliaikaisia kellotietoja. Alla on esimerkki RTC: n koodipäivän parametriplokista. Reaaliaikainen kello -ominaisuus on valinnainen TWIST -alustassa, koska moduuli toimitetaan erikseen. Siksi TWIST -arkistoon on luotu erillinen haara reaaliaikaisen kellon haaran koodille ja kaavioille.

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

140 Merkkirajoitus

Tämä koodilohko peittää merkkijonon 140 merkiksi, joka on valmis twiittaamaan.

char msg [140];

stringMsg.toCharArray (viesti, 140);

Viestien ja yhteyden vianmääritys

Tämä koodilohko tulostaa muutaman rivin tekstiä sarjamittarissa, jotta käyttäjä voi tarkistaa viestin ja twiitin tilan.

// Twiittaa tuo kusipää!

jos (twitter.post (msg)) {int status = twitter.wait (); if (tila == 200) {Serial.println ("OK"); Serial.println ("Viesti tweetattu"); } else {// Yhteystesti Serial.print ("epäonnistui: koodi"); Serial.println ("Viestiä ei ole twiitattu"); Serial.println (tila); }} else {Serial.println ("yhteys epäonnistui."); Serial.println ("Viestiä ei ole twiitattu"); }

Kaikki muut koodilohkot yksinkertaisesti muuttavat anturien analogisen tai digitaalisen lukeman käyttökelpoiseksi dataksi.

Koodi voidaan ladata täältä tai päärekisteristä:

Sääasema.ino

Vaihe 8: Osallistuminen anturivarastoon

Oletko ohjelmoija, insinööri tai suunnittelija, jolla on loistava idea TWISTin uudesta ominaisuudesta? Ehkä sinulla on hyvä idea virheenkorjaukseen? Voit vapaasti napata koodimme, kaaviot ja CAD -tiedostot Githubista ja käsitellä sitä.

TWIST GitHub

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

Toinen palkinto Intel® IoT Invitational -ohjelmassa

Suositeltava: