Sisällysluettelo:
- Vaihe 1: Osat ja materiaalit
- Vaihe 2: Sähköinen suunnittelu
- Vaihe 3: Mekaaninen suunnittelu
- Vaihe 4: Kehyksen asennus: Face & Base
- Vaihe 5: Elektroniikka- ja anturikokoonpano
- Vaihe 6: Twitter -määritykset
- Vaihe 7: Ohjelmisto ja määritykset
- Vaihe 8: Osallistuminen anturivarastoon
Video: Tweeting -sääasema: 8 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:00
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
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
Toinen palkinto Intel® IoT Invitational -ohjelmassa
Suositeltava:
DIY 37 Leds Arduino -rulettipeli: 3 vaihetta (kuvilla)
DIY 37 Leds Arduino Roulette Peli: Ruletti on kasinopeli, joka on nimetty ranskalaisen sanan mukaan, joka tarkoittaa pientä pyörää
Covid -suojakypärä, osa 1: johdanto Tinkercad -piireihin!: 20 vaihetta (kuvilla)
Covid -suojakypärä, osa 1: johdanto Tinkercad -piireihin!: Hei, ystävä! Tässä kaksiosaisessa sarjassa opimme käyttämään Tinkercadin piirejä - hauskaa, tehokasta ja opettavaista työkalua piirien toiminnasta! Yksi parhaista tavoista oppia on tehdä. Joten suunnittelemme ensin oman projektimme: th
Pultti - DIY -langaton latauskello (6 vaihetta): 6 vaihetta (kuvilla)
Pultti - DIY -langaton latausyökello (6 vaihetta): Induktiiviset lataukset (tunnetaan myös nimellä langaton lataus tai langaton lataus) on langattoman voimansiirron tyyppi. Se käyttää sähkömagneettista induktiota sähkön tuottamiseen kannettaville laitteille. Yleisin sovellus on langaton Qi -latauslaite
Tweeting -lampun botti: 5 vaihetta (kuvilla)
Tweeting Lamp Bot: Tämä ohje opettaa sinulle, kuinka tehdä matkapuhelimella ohjattu Tweeting - lamppu. Se on yksinkertainen viileä projekti, joka käyttää MIT -sovellusten keksijää ja hiukkaskoodausympäristöä luodakseen matkapuhelimen ohjaaman lampun IoT: n kautta, joka twiittaa
Tweeting -maanjäristysanturi: 4 vaihetta
Tweeting -maanjäristysanturi: Tämä projekti nimeltä Tweeting Earthquake Sensor on projekti, jonka tavoitteena on varoittaa käyttäjää aina, kun se havaitsee vapinaa tai maanjäristyksiä. Kallistuskytkimen avulla se mittaa tehokkaasti, tapahtuuko maanjäristyksen värähtely ennalta määritetyn ajan kuluessa