Kazalo:

Tweetanje vremenske postaje: 8 korakov (s slikami)
Tweetanje vremenske postaje: 8 korakov (s slikami)

Video: Tweetanje vremenske postaje: 8 korakov (s slikami)

Video: Tweetanje vremenske postaje: 8 korakov (s slikami)
Video: НЕ ВЗДУМАЙ снимать аккумулятор с машины. Делай это ПРАВИЛЬНО ! 2024, November
Anonim
Tweetanje vremenske postaje
Tweetanje vremenske postaje

Ste kdaj želeli spremljati trenutne vremenske razmere v vašem mestu, ogljični odtis, hrup in onesnaženost? Ali želite biti Crusader za podnebne spremembe ali postaviti svojo lastno vremensko postajo s tvitanjem in deliti svoje lokalne vremenske razmere s svetom?

Spoznajte Tweeting Weather IoT Station alias TWIST - platformo za samostojno spremljanje okolja in pridobivanje meteoroloških podatkov z lastnimi rokami. Namen TWIST -a je, da lahko posamezniki in skupnosti zbirajo podatke o tem, kaj se dejansko dogaja v njihovem okolju, in te podatke delijo v družabnih medijih, kot je Twitter.

  • TWIST je platforma za internet stvari (IoT).
  • Možgani TWIST so Intel Edison Board.
  • TWIST je združljiv z različnimi senzorji.
  • Vse kode, oblikovalske datoteke (sheme in postavitev tiskanega vezja) so odprtokodne. To pomeni, da lahko k platformi TWIST prispeva kdor koli z izmenjavo kode in shem za različne senzorje.

TWIST je sestavljen iz treh tehnoloških plasti:

Prvi sloj je plošča strojne opreme, ki vsebuje vse vremenske in okoljske senzorje, znane kot "senzorska plošča". Kot že ime pove, nosi senzorje, ki merijo sestavo zraka, temperaturo, vlažnost, dež. Dodajo se lahko tudi dodatni senzorji, kot so potresna aktivnost, UV indeks, barometrični tlak, nadmorska višina, luks (svetilnost), raven hrupa, hitrost in smer vetra itd. Ko je senzorska plošča nastavljena, lahko pretaka podatke, ki jih merijo senzorji, v drugo plast. Druga plast je plošča Intel Edison, ki prejema podatke s plošče senzorjev, jih obdeluje in pošilja na naslednjo plast. Tretja plast poveže vašo Edisonovo ploščo z internetom prek Wi-Fi-ja z uporabo brezžičnega modula na plošči Edison in trenutnih vremenskih in okoljskih razmer Tweeta.

Napajanje naprave lahko zagotavlja sončna celica ali napajalnik.

Repozitoriji, ki jih nadzira različica

Vse tri tehnološke plasti TWIST so odprtokodne, zato so vse datoteke, ki jih uporabljamo za kodo, razvoj tiskanih vezij, mehansko oblikovanje itd., Na voljo v našem skladišču Github.

Prijave na natečaj

Intel IoT Invitational

Rad bi se zahvalil podjetju Intel+Instructables, ki mi je priskrbel ploščo Intel Edison. Načrtujem, da bom z Edisonovo ploščo izdelal še veliko navodil, povezanih z IoT.

#iotweatherstn

Če naredite TWIST, ne pozabite tvitati vremena s pomočjo #iotweatherstn. #iotweatherstn je lahko hashtag, ki ga uporabljajo vse vremenske postaje, ki poganjajo IoT.

1. korak: Deli in materiali

Deli in materiali
Deli in materiali
Deli in materiali
Deli in materiali
Deli in materiali
Deli in materiali

QuantityPartDetails 1

Intel Edison

z Arduino Breakout Board

1

Senzor gorljivih plinov MQ2

1

YL-83

Senzor dežja

1

SL-HS-220

Senzor temperature in vlažnosti

1

Upor

32 tisoč

4,7 tisoč

3 Kovinsko stojalo 1 palčni

1

Upor

32 tisoč

4,7 tisoč

2

Leseni list velikosti A4

Kasneje se lahko razreže po velikosti

3

Kovinsko stojalo

1 palec

2. korak: Električno oblikovanje

Moč

Celoten sistem se napaja iz 5V 1A napajalnika. Senzorji (temperatura, vlaga, dež, plin) črpajo približno 200 mA, Edison pa okoli 500 mA. Ker je skupni zahtevani tok manjši od 1 ampera, mora napajanje z 1 amperom delovati v redu. Vgrajena zelena LED na digitalnem zatiču 13 plošče Edison se uporablja za prikaz stanja napajanja.

ControlIn Edison vodi oddajo za TWIST. Edison je nameščen na plošči Arduino, kar olajša branje digitalnih in analognih signalov s senzorjev. Edison je priključen na 5V vodilo prek kabla mikro USB. Edison ima vgrajen radio Wi-Fi, ki mu omogoča povezavo s Twitterjem brez dodatne strojne opreme.

Ura v realnem času (RTC)

Ker ima časovni žig, ki ga za vsak tvit samodejno izvede Twitter, ločljivost, omejeno na skupno število dni od časa tvita, se ura v realnem času uporablja za natančen časovni žig datuma in časa v uri-minuti- Drugi format. Ura v realnem času, ki se uporablja v platformi TWIST, je modul RTC DS-1307.

Senzorji Najosnovnejša nastavitev tega sistema ima štiri senzorje (temperaturo, vlažnost, dež, plin), ki so povezani z Edisonom. Dodati je mogoče dodatne senzorje, kot so hrup, veter itd. Vsak senzor se napaja neposredno iz tirnice 5V in ima svoj signalni zatič priključen na analogne zatiče A0 do A2 in digitalni zatič 2 na Edisonovi odklopni plošči. Senzorji imajo tudi potenciometer za nastavitev občutljivosti, nameščen na vsaki senzorski plošči; MQ-2 je senzor gorljivih plinov (utekočinjen naftni plin, propan, vodik in metan), ki oddaja analogno napetost, sorazmerno s koncentracijo plinov v delih na milijon. SL-HS-220 ima termistor, ki daje vrednost temperature. Ker je izhod termistorja nelinearen, je v shrambi senzorjev podana ustrezna tabela temperatur. Termistor potrebuje vezje delilnika napetosti, ko je priključen na ploščo Edison, kot je prikazano na shemi vezja. SL-HS-220 ima tudi vgrajen higrometer, ki meri vlažnost in oddaja analogno napetost, ki ustreza fiksni vrednosti vlažnosti. Tabela vlažnosti in napetosti je navedena tudi v shrambi senzorjev. Pogost nadomestek SL-HS-220 je senzor DHT11. Senzor dežja/senzor vode ima potenciometer, ki je nastavljen tako, da daje digitalni izhod za določeno količino dežja, katerega občutljivost lahko nastavi uporabnik.

Vremenska postaja.fzz

3. korak: Mehansko oblikovanje

Telo TWIST je izdelano iz dveh plošč iz lesenih listov. Čeprav sem uporabil 1/4 "vezane plošče, je oblikovanje mogoče sestaviti iz katerega koli pločevinastega materiala, saj je razmik (ki ga vzdržujejo 1" aluminijasta odstopanja) edini kritični element. Vektorske datoteke za prenos sem priložil zgoraj.

Lasersko rezanje

Za vse tiste, ki želite lasersko rezanje dveh plošč, sem spodaj priložil datoteke laserskega rezalnika. V svoji zasnovi vključuje tudi dodatni senzor kakovosti zraka. Tako lahko uporabite senzorski modul MQ2 ali senzorski modul kakovosti zraka, odvisno od vaše izbire.

4. korak: Montaža okvirja: obraz in podnožje

Prednja plošča

Tipala se prilegajo v ustrezne luknje in izreze in jih je mogoče pritrditi z vijaki ali lepilom.

Osnovna plošča

Odmiki plošče Edison so priviti na osnovno ploščo. Analogno-digitalni pretvornik (ADC), ki je priključen na senzor dežja, lahko privijete tudi na osnovno ploščo.

Na osnovno ploščo lahko privijete tudi dodatne komponente, kot so zvočniki ali vezje regulatorja napetosti za solarni vhod.

Osnovna plošča in sprednja plošča sta ločena z 1 odmikoma.

5. korak: Montaža elektronike in senzorja

Moč

Za napajanje sistema skrbi stenski adapter s standardno cevno vtičnico, ki je priključena neposredno na konektor Edison's Barrel. Sistem se lahko napaja tudi prek vrat USB na plošči Edison. Ploščo lahko napajate tudi z zunanje sončne plošče.

Senzorji

Tipala so pritrjena na odklopne plošče z moškimi glavomi, zato jih je mogoče neposredno povezati z Edisonom prek moških žic moškega spola.

6. korak: Konfiguracija Twitterja

V vrstnem redu Tweet uporabljamo aplikacijo tretje osebe, ki jo je razvil NeoCat in dobi žeton Twitter, ki ga boste morali objaviti s svojo tablo Edison. Žetone lahko dobite tudi na spletni strani Twitter's Developers.

Zato za začetek obiščite spletno mesto NeoCat, sledite njegovi vadnici, da dobite knjižnico twitter in vaš žeton twitterja. Kot je NeoCat omenil na svojem spletnem mestu, ne zlorabljajte storitve. Naj bodo tviti redki. Če potrebujete nekaj, kar tvita vsakih 6 sekund, nastavite svoj strežnik in aplikacijo za twitter, zato koda, ki sem jo napisal, zagotavlja, da se strežnik NeoCat ne preobremeni (TWIST tvita vsakih 6 ur).

Knjižnica uporablja to spletno mesto NeoCat kot strežnik proxy za stvari OAuth. Vašega tvita ne smete uporabljati med vzdrževanjem te spletne strani NeoCat. Zdi se, da Twitter zavrača ponavljajoče se tvite z isto vsebino (vrne napako 403).

Žeton Twitter

Knjižnica Tweet Arduino

7. korak: Programska oprema in konfiguracija

Preden začnete s kodiranjem, sledite Intelovemu priročniku za nastavitev Intel Edsion.

Program je skica Arduino, ki deluje na Edisonu. Spodaj sem razložil vsakega od glavnih blokov kode.

Koda vključuje nekatere vnaprej določene konstante, deklaracije pin in nekaj izjav o serijskem tiskanju, ki pomagajo pri odpravljanju težav.

Zakasnitev tvita

Ker Twitter filtrira tweete z enako vsebino in jih tvita v kratkih časovnih obdobjih med vsakim od njih, je bila nastavljena standardna 3 -urna (10800000 milli sekund) zamuda med vsakim tvitom.

tweetMessage ();

zamuda (10800000);

Vrsta ulivanja

Veliko odčitkov, ki jih dobimo s senzorji, je v podatkovnem tipu 'int' ali 'float'. Ker pa te vrednosti tvitamo, jih moramo pretvoriti v podatkovni tip "String". Za to uporabljamo posebno tehniko vlivanja.

char *dtostrf (dvojni val, podpisana širina znaka, nepodpisani prec char, char *sout) {

char fmt [100]; sprintf (fmt, "%%% d.%df", širina, prec); sprintf (sout, fmt, val); vrnitev sout; }

Žeton Twitter

Žeton twitter je ustvarjen na spletnem mestu NeoCat in ga je treba prilepiti v prostor za žetone tukaj.

void tweetMessage () {

Twitter twitter ("TUKAJ VSTAVITE ŽVAK TWITTERJA");

Vrednosti senzorja za tvitanje

Za tvitanje vrednosti senzorja najprej vključimo tip senzorja; Primer: "Vlažnost". Sledi deklaracija znakov in vrstica kode, ki je potrebna za oddajanje vrst. Nato dodamo izjavo za mersko enoto; Primer: "%RH". Na podoben način lahko še naprej dodajamo vrednosti drugih senzorjev.

vlažnost (); plavati vlažno;

// Twitter sporočilo String stringMsg = "Vlažnost:"; char tmp [10]; dtostrf (vlažno, 1, 2, tmp); stringMsg += tmp; stringMsg += "%RH";

Vremenska postaja Lokacija in označevanje

Nato označimo lokacijo (mesto, kraj itd.) In druge oznake, kot je #iotweatherstn.

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

Ura v realnem času (RTC)

Kot je bilo že pojasnjeno, lahko TWIST objavi tudi podatke ure v realnem času. Spodaj je primer bloka parametrov kode RTC "day". Funkcija ure v realnem času je na platformi TWIST neobvezna, saj je modul na voljo ločeno. Zato je v skladišču TWIST ločena veja za kodo in sheme veje ure realnega časa.

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

140 Omejitev znakov

Ta blok kode pokriva niz nizov v 140 znakov, pripravljenih za tvit.

char msg [140];

stringMsg.toCharArray (sporočilo, 140);

Odpravljanje težav s sporočili in povezavo

Ta niz kode natisne nekaj vrstic besedila v serijskem monitorju, da uporabniku pomaga preveriti stanje sporočila in tvita.

// Tweet ta sesalec!

if (twitter.post (msg)) {int status = twitter.wait (); if (status == 200) {Serial.println ("V redu."); Serial.println ("Tweetirano sporočilo"); } else {// Test povezave Serial.print ("neuspešno: koda"); Serial.println ("Sporočilo ni tvitano"); Serial.println (status); }} else {Serial.println ("povezava ni uspela."); Serial.println ("Sporočilo ni tvitano"); }

Vsi drugi bloki kode preprosto pretvorijo analogno ali digitalno branje s senzorjev v uporabne podatke.

Kodo lahko naložite od tu ali iz glavnega skladišča:

Vremenska postaja.ino

8. korak: Prispevajte v skladišče senzorjev

Ste programer, inženir ali oblikovalec, ki ima odlično idejo za novo funkcijo v sistemu TWIST? Mogoče imate dobro idejo za odpravo napak? Ne pozabite vzeti naše datoteke s kodo, shemami in CAD -om iz Github -a in se z njo spoprijeti.

TWIST GitHub

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

Druga nagrada na Intel® IoT Invitational

Priporočena: