Sadržaj:

Tweetanje meteorološke postaje: 8 koraka (sa slikama)
Tweetanje meteorološke postaje: 8 koraka (sa slikama)

Video: Tweetanje meteorološke postaje: 8 koraka (sa slikama)

Video: Tweetanje meteorološke postaje: 8 koraka (sa slikama)
Video: Памела Мейер: Как распознать лжеца 2024, Studeni
Anonim
Tweetanje meteorološke postaje
Tweetanje meteorološke postaje

Jeste li ikada željeli pratiti trenutne vremenske uvjete u vašem gradu, ugljični otisak, razinu buke i onečišćenja? Želite li biti križar klimatskih promjena ili postaviti vlastitu meteorološku postaju za tweetanje i podijeliti sa svijetom svoje lokalne vremenske uvjete?

Upoznajte Tweeting Weather IoT Station zvanu TWIST - platforma za nadzor okoliša i prikupljanje meteoroloških podataka otvorenog koda. Svrha TWIST -a je da pojedinci i zajednice mogu prikupiti podatke o tome što se zapravo događa u njihovom okruženju i podijeliti te podatke na društvenim medijima kao što je Twitter.

  • TWIST je platforma pokrenuta internetom stvari (IoT).
  • Mozak TWIST -a je Intel Edisonova ploča.
  • TWIST je kompatibilan s raznim senzorima.
  • Sav kod, datoteke dizajna (sheme i izgled PCB-a) su otvorenog koda. To znači da svatko može pridonijeti TWIST platformi dijeljenjem koda i shema za različite senzore.

TWIST se sastoji od tri tehnološka sloja:

Prvi sloj je hardverska ploča koja sadrži sve vremenske i okolišne senzore poznate kao 'Sensor Board'. Kako naziv govori, nosi senzore koji mjere sastav zraka, temperaturu, vlažnost, kišu. Mogu se dodati i dodatni senzori poput seizmičke aktivnosti, UV indeksa, barometrijskog tlaka, nadmorske visine, luksa (svjetline), razine zvuka, brzine i smjera vjetra itd. Nakon što je postavljena, ploča senzora može strujati podatke izmjerene senzorima u drugi sloj. Drugi sloj je Intel Edison ploča koja prima podatke sa ploče senzora, obrađuje ih i šalje na sljedeći sloj. Treći sloj povezuje vašu Edisonovu ploču s internetom putem Wi-Fi-ja pomoću bežičnog modula na Edisonovoj ploči i Tweetovih trenutačnih vremenskih i okolišnih uvjeta.

Napajanje uređaja može se osigurati pomoću solarne ploče ili adaptera za izmjeničnu struju.

Spremišta kontrolirana verzijom

Sva tri tehnološka sloja TWIST-a su otvorenog koda, pa su stoga sve datoteke koje koristimo za kôd, razvoj PCB-a, mehanički dizajn itd. Lako dostupne u našem Github spremištu.

Prijave na natječaj

Intel IoT Invitational

Želio bih zahvaliti Intel+Instructables što su mi dali Intel Edison ploču. Planiram napraviti još mnogo instrukcija povezanih s IoT -om koristeći Edisonovu ploču.

#iotweatherstn

Ako napravite TWIST, ne zaboravite tvitati vrijeme koristeći #iotweatherstn. #iotweatherstn može biti hashtag koji koriste sve meteorološke stanice s tvitovanjem na IoT -u.

Korak 1: Dijelovi i materijali

Dijelovi i materijali
Dijelovi i materijali
Dijelovi i materijali
Dijelovi i materijali
Dijelovi i materijali
Dijelovi i materijali

Pojedinosti o količinskom dijelu 1

Intel Edison

s Arduino Breakout Board -om

1

Senzor zapaljivog plina MQ2

1

YL-83

Senzor za kišu

1

SL-HS-220

Senzor temperature i vlažnosti

1

Otpornik

32 tisuće

4,7K

3 Metalni nosač 1 inč

1

Otpornik

32 tisuće

4,7K

2

Drveni lim A4 veličina

Kasnije se može izrezati po veličini

3

Metalni stalak

1 inč

Korak 2: Električno projektiranje

Vlast

Cijeli sustav napaja se iz 5V 1A napajanja. Senzori (temperatura, vlaga, kiša, plin) crpe približno 200 mA, Edison oko 500 mA, budući da je ukupna potrebna struja manja od 1 ampera, napajanje od 1 ampera trebalo bi raditi sasvim u redu. Ugrađena zelena LED dioda na digitalnom pinu 13 Edisonove ploče koristi se za prikaz statusa napajanja.

ControlAn Edison vodi emisiju za TWIST. Edison je montiran na Arduino probojnu ploču, što olakšava čitanje digitalnih i analognih signala sa senzora. Edison je spojen na 5V šinu putem mikro USB kabela. Edison ima ugrađen Wi-Fi radio koji mu omogućuje povezivanje s Twitterom bez potrebe za dodatnim hardverom.

Sat u stvarnom vremenu (RTC)

Budući da vremensko označavanje koje automatski provodi Twitter za svaki tvit ima razlučivost ograničenu na ukupan broj dana od vremena tvitanja, sat u stvarnom vremenu koristi se za točno označavanje datuma i vremena u satu-minuti- Drugi format. Sat u stvarnom vremenu koji se koristi na TWIST platformi je DS-1307 RTC modul.

SenzoriNajosnovnije postavljanje ovog sustava ima četiri senzora (temperature, vlažnosti, kiše, plina) koji se povezuju s Edisonom. Mogu se dodati dodatni senzori, poput buke, vjetra itd. Svaki senzor napaja se izravno iz 5V šine i ima svoj signalni pin spojen na analogne pinove A0 do A2 i digitalni pin 2 na Edisonovoj ploči. Senzori također imaju potenciometar za podešavanje osjetljivosti postavljen na svaku ploču senzora; MQ-2 je senzor zapaljivih plinova (ukapljeni naftni plin, propan, vodik i metan) koji emitira analogni napon proporcionalan koncentraciji plinova u dijelovima na milijun. SL-HS-220 ima termistor koji daje vrijednost temperature. Budući da je izlaz termistora nelinearan, odgovarajuća tablica temperature data je u spremištu osjetnika. Termistor zahtijeva krug razdjelnika napona kada je spojen na Edisonovu ploču kao što je prikazano na dijagramu kruga. SL-HS-220 također ima ugrađeni higrometar koji mjeri vlagu i daje analogni napon koji odgovara fiksnoj vrijednosti vlažnosti. Tablica vlažnosti i napona također je navedena u spremištu senzora. Uobičajena zamjena za SL-HS-220 je osjetnik DHT11. Senzor za kišu/senzor za vodu ima potenciometar koji je podešen tako da daje digitalni izlaz za određenu količinu kiše čiju osjetljivost može prilagoditi korisnik.

Meteorološka stanica.fzz

Korak 3: Strojarski dizajn

Tijelo TWIST -a izrađeno je od dvije ploče drvenih limova. Iako sam koristio šperploču od 1/4 ", dizajn se može sastaviti od bilo kojeg lima jer je razmak (koji održava 1" aluminijski nosač) jedini kritični element. Gore sam priložio vektorske datoteke za preuzimanje.

Lasersko rezanje

Za sve one koji žele laserski izrezati dvije ploče, ispod sam priložio datoteke laserskog rezača za preuzimanje. U svoj dizajn uključuje i dodatni senzor kvalitete zraka. Dakle, možete koristiti ili senzorski modul MQ2 ili senzorski modul kvalitete zraka, ovisno o vašem izboru.

Korak 4: Montaža okvira: lice i baza

Prednja ploča

Senzori se uklapaju u odgovarajuće rupe i izreze i mogu se pričvrstiti vijcima ili ljepilom.

Osnovna ploča

Zastoji Edisonove ploče pričvršćeni su na osnovnu ploču. Analogno-digitalni pretvarač (ADC) koji je spojen na senzor za kišu također se može pričvrstiti na osnovnu ploču.

Dodatne komponente poput zujalica ili kruga regulatora napona za solarni ulaz također se mogu pričvrstiti na osnovnu ploču.

I osnovna i prednja ploča odvojene su razmacima od 1.

Korak 5: Sklop elektronike i senzora

Vlast

Napajanje sustava osigurava zidni adapter sa standardnom cijevnom utičnicom koja je spojena izravno na konektor Edison's Barrel. Sustav se može napajati i putem USB priključka na Edisonovoj ploči. Također možete napajati ploču s vanjske solarne ploče.

Senzori

Senzori su pričvršćeni na ploče za razbijanje s muškim zaglavljima i stoga se mogu izravno povezati s Edisonom preko žica kratkospojnika muško-žensko.

Korak 6: Konfiguracija Twittera

U skladu s Tweetom, koristimo aplikaciju treće strane koju je razvio NeoCat i koja dobiva Twitter token koji ćete morati tweetati sa svojom Edisonovom pločom. Tokeni se također mogu nabaviti s Twitter -ove web stranice za programere.

Dakle, za početak posjetite NeoCatovu web stranicu, slijedite njegov/njezin vodič kako biste dobili knjižnicu na Twitteru i vaš twitter žeton. Kao što je NeoCat spomenuo na svojoj web stranici, nemojte zloupotrebljavati uslugu. Neka tweetovi budu rijetki. Ako trebate nešto što tweetuje svakih 6 sekundi, trebate postaviti vlastiti poslužitelj i twitter aplikaciju, pa kôd koji sam napisao osigurava da se poslužitelj NeoCat -a ne preopterećuje (TWIST tweetuje svakih 6 sati).

Knjižnica koristi ovu NeoCat web stranicu kao proxy poslužitelj za OAuth stvari. Vaš se tweet ne smije primjenjivati tijekom održavanja ove web stranice NeoCat. Čini se da Twitter odbacuje ponovljene tweetove s istim sadržajem (vraća pogrešku 403).

Twitter token

Arduino Tweet knjižnica

Korak 7: Softver i konfiguracija

Prije početka kodiranja slijedite Intelov vodič za postavljanje Intel Edsion.

Program je Arduino skica koja se izvodi na Edisonu. Objasnio sam svaki od glavnih blokova koda u nastavku.

Kôd uključuje neke unaprijed definirane konstante, deklaracije pin -ova i nekoliko izjava o serijskom ispisu koje pomažu u rješavanju problema.

Odgoda tweeta

Budući da Twitter filtrira tweetove koji imaju isti sadržaj i koji se tweetiraju u kratkim vremenskim razdobljima između svakog od njih, postavljeno je standardno odlaganje od 3 sata (10800000 mili sekundi) između svakog tvita.

tweetMessage ();

kašnjenje (10800000);

Vrsta lijevanje

Većina očitanja koja dobijemo sa senzora nalaze se u 'int' ili 'float' tipu podataka. No, budući da ove vrijednosti tvitujemo, moramo ih pretvoriti u podatkovni tip 'String'. Za to koristimo posebnu tehniku lijevanja tipa.

char *dtostrf (dvostruki val, širina potpisanog znaka, predznak bez znakova, char *sout) {

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

Twitter token

Twitter token je kreiran na NeoCat web stranici i trebao bi se zalijepiti u token prostor ovdje.

void tweetMessage () {

Twitter twitter ("ULAZITE TWINTER TOKEN OVDJE");

Tweetanje vrijednosti senzora

Kako bismo tweetirali vrijednost senzora, prvo uključujemo tip senzora; Primjer: "Vlažnost". Zatim slijedi deklaracija znakova i redak koda potreban za odabir tipa. Zatim dodajemo izjavu za mjernu jedinicu; Primjer: "%RH". Na sličan način možemo nastaviti dodavati vrijednosti i drugih senzora.

vlažnost(); plutati vlažno;

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

Lokacija i označavanje vremenske postaje

Zatim označavamo lokaciju (grad, lokalitet itd.) I druge oznake poput #iotweatherstn.

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

Sat u stvarnom vremenu (RTC)

Kao što je ranije objašnjeno, TWIST također može tweetirati podatke sata u stvarnom vremenu. Dolje je primjer bloka parametara "day" koda RTC -a. Značajka sata u stvarnom vremenu nije obvezna na TWIST platformi budući da se modul isporučuje zasebno. Stoga postoji zasebna grana stvorena u spremištu TWIST za kôd i sheme grane sata u stvarnom vremenu.

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

140 Ograničenje broja znakova

Ovaj blok koda prekriva niz znakova u niz od 140 znakova spreman za tvit.

char msg [140];

stringMsg.toCharArray (poruka, 140);

Rješavanje problema s porukama i povezivanjem

Ovaj blok koda ispisuje nekoliko redaka teksta u Serijskom monitoru kako bi korisniku pomogao provjeriti poruku i status tvita.

// Tweetajte tu naivčinu!

if (twitter.post (msg)) {int status = twitter.wait (); if (status == 200) {Serial.println ("U redu."); Serial.println ("Poruka je objavljena na Twitteru"); } else {// Test veze Serial.print ("nije uspjelo: kod"); Serial.println ("Poruka nije tweetirana"); Serial.println (status); }} else {Serial.println ("povezivanje nije uspjelo."); Serial.println ("Poruka nije tweetirana"); }

Svi ostali blokovi koda jednostavno pretvaraju analogno ili digitalno očitanje sa senzora u korisne podatke.

Kôd se može preuzeti odavde ili iz glavnog spremišta:

Meteorološka postaja.ino

Korak 8: Doprinos spremištu senzora

Jeste li programer, inženjer ili dizajner koji ima sjajnu ideju za novu značajku u TWIST -u? Možda imate dobru ideju za ispravljanje grešaka? Slobodno preuzmite naš kod, sheme i CAD datoteke iz Githuba i pozabavite se s njim.

TWIST GitHub

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

Druga nagrada na Intel® IoT Invitational

Preporučeni: