Sadržaj:

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

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

Video: Tweetanje meteorološke stanice: 8 koraka (sa slikama)
Video: ВЕСЬ МИР В ЛАДОНИ??? Радиоприёмник RETEKESS TR110 полный обзор 2024, Juli
Anonim
Tweeting meteorološka stanica
Tweeting meteorološka stanica

Jeste li ikada željeli pratiti trenutne vremenske uslove u vašem gradu, ugljični otisak, nivo buke i zagađenja? Želite li biti krstaš klimatskih promjena ili postaviti vlastitu meteorološku stanicu za tvitovanje i podijeliti sa svijetom svoje lokalne vremenske uslove?

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

  • TWIST je platforma pokrenuta internetom stvari (IoT).
  • Mozak TWIST -a je Intel Edison ploča.
  • TWIST je kompatibilan sa 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'. Kao što ime 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 pritiska, nadmorske visine, luksa (svjetline), nivoa zvuka, brzine i smjera vjetra itd. Nakon što je postavljena, senzorska ploča može prenijeti podatke izmjerene senzorima na 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 Edison ploču s internetom putem Wi-Fi-ja pomoću bežičnog modula na Edisonovoj ploči i Tweeta o trenutnim vremenskim i ekološkim uvjetima.

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

Spremišta kontrolirana verzijom

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

Prijave na konkurs

Intel IoT Invitational

Želeo bih da se zahvalim Intel+Instructables što su mi dostavili Intel Edison ploču. Planiram napraviti još mnogo instrukcija povezanih s IoT -om koristeći Edisonovu ploču.

#iotweatherstn

Ako napravite TWIST, ne zaboravite tvitovati vrijeme koristeći #iotweatherstn. #iotweatherstn može biti hashtag koji koriste sve meteorološke stanice sa 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

Detalji o količini dijelova 1

Intel Edison

sa Arduino Breakout Board -om

1

MQ2 Senzor zapaljivog plina

1

YL-83

Senzor za kišu

1

SL-HS-220

Senzor temperature i vlažnosti

1

Otpornik

32K

4,7K

3 Metalni nosač 1 inč

1

Otpornik

32K

4,7K

2

Drveni lim veličine A4

Kasnije se može izrezati po veličini

3

Metal Standoff

1inch

Korak 2: Električni dizajn

Snaga

Cijeli sistem se napaja iz 5V 1A napajanja. Senzori (temperatura, vlaga, kiša, plin) troše 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ćava povezivanje sa Twitter-om bez potrebe za dodatnim hardverom.

Sat u realnom vremenu (RTC)

S obzirom da vremensko označavanje koje automatski provodi Twitter za svaki tvit ima rezoluciju ograničenu na ukupan broj dana od vremena tvitanja, sat u stvarnom vremenu koristi se za precizno 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 podešavanje ovog sistema ima četiri senzora (temperature, vlažnosti, kiše, gasa) koji se povezuju sa Edisonom. Mogu se dodati dodatni senzori, poput buke, vjetra itd. Svaki senzor napaja se izravno iz 5V šine i njegov signalni pin je spojen na analogne pinove A0 do A2 i digitalni pin 2 na Edisonovoj prekidačkoj ploči. Senzori takođe imaju potenciometar za podešavanje osjetljivosti montiran na svakoj ploči senzora; MQ-2 je senzor zapaljivog plina (ukapljeni naftni plin, propan, vodik i metan) koji daje 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 senzora. Termistoru je potrebno krug razdjelnika napona kada je spojen na Edisonovu ploču kao što je prikazano na dijagramu kola. SL-HS-220 takođe ima ugrađen higrometar koji meri vlažnost i emituje analogni napon koji odgovara fiksnoj vrednosti vlažnosti. Tablica vlažnosti i napona je također data u spremištu senzora. Uobičajena zamjena za SL-HS-220 je senzor 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 korisnik može prilagoditi.

Weather Station.fzz

Korak 3: Mehanički 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 se održava pomoću 1" aluminijskog nosača) 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 kao što su zujalice ili krug regulatora napona za solarni ulaz također se mogu pričvrstiti na osnovnu ploču.

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

Korak 5: Sklop elektronike i senzora

Snaga

Napajanje za sistem osigurava zidni adapter sa standardnom utičnicom za cijev koja je spojena direktno na konektor Edison's Barrel. Sistem se može napajati i putem USB priključka na Edisonovoj ploči. Ploču možete napajati i sa vanjskog solarnog panela.

Senzori

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

Korak 6: Konfiguracija Twittera

Kako bismo mogli objaviti Tweet, koristimo aplikaciju treće strane koju je razvio NeoCat i koja dobiva Twitter token koji ćete trebati objavljivati putem svoje Edison ploče. Tokeni se takođe mogu nabaviti sa Twitter -ove web stranice za programere.

Dakle, za početak posjetite web stranicu NeoCat -a, slijedite njegov/njen vodič da biste dobili biblioteku twitter -a i vaš twitter token. Kao što je NeoCat spomenuo na svojoj web stranici, nemojte zloupotrebljavati uslugu. Neka tvitovi budu rijetki. Ako vam treba nešto što tweetuje svakih 6 sekundi, trebali biste postaviti vlastiti server i twitter aplikaciju, pa prema tome kôd koji sam napisao osigurava da se NeoCat poslužitelj ne preopterećuje (TWIST tweetuje svakih 6 sati).

Biblioteka koristi ovu NeoCat web stranicu kao proxy server za OAuth stvari. Vaš tvit se ne može primijeniti tokom održavanja ove web stranice NeoCat. Čini se da Twitter odbija ponovljene tweetove sa istim sadržajem (vraća grešku 403).

Twitter token

Arduino Tweet biblioteka

Korak 7: Softver i konfiguracija

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

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 tvituju u kratkim vremenskim intervalima između svakog od njih, postavljeno je standardno kašnjenje od 3 sata (10800000 mili sekundi) između svakog tvita.

tweetMessage ();

kašnjenje (10800000);

Type Casting

Većina očitanja koja dobijemo sa senzora su u 'int' ili 'float' tipu podataka. Ali pošto tvitujemo ove vrijednosti, moramo ih pretvoriti u 'String' tip podataka. Za to koristimo posebnu tehniku lijevanja tipa.

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

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

Twitter token

Twitter token je kreiran na NeoCat web stranici i treba ga zalijepiti u token prostor ovdje.

void tweetMessage () {

Twitter twitter ("ENTER TWITTER TOKEN HERE");

Tweetanje vrijednosti senzora

Da bismo tweetovali vrijednost senzora, prvo uključujemo tip senzora; Primjer: "Vlažnost". Nakon toga slijedi deklaracija znakova i red 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 (); pluta vlažno;

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

Meteorološka stanica Lokacija i označavanje

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

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

Sat u realnom vremenu (RTC)

Kao što je ranije objašnjeno, TWIST takođe može tweetovati podatke sata u realnom vremenu. Ispod je primjer bloka parametara 'day' koda RTC -a. Funkcija sata u realnom vremenu je opcionalna na TWIST platformi jer se modul isporučuje zasebno. Stoga postoji zasebna grana stvorena u TWIST spremištu za kôd i sheme grane sata sa realnim vremenom.

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

140 Ograničenje broja znakova

Ovaj blok koda pokriva niz stringova u niz od 140 znakova spreman za tweet.

char msg [140];

stringMsg.toCharArray (msg, 140);

Rješavanje problema s porukama i vezom

Ovaj blok koda ispisuje nekoliko redova teksta u Serijskom monitoru kako bi korisniku pomogao da provjeri poruku i status tvita.

// Tweetaj tu naivčinu!

if (twitter.post (msg)) {int status = twitter.wait (); if (status == 200) {Serial.println ("OK."); Serial.println ("Poruka postavljena"); } else {// Test veze Serial.print ("nije uspjelo: kod"); Serial.println ("Poruka nije tvitana"); Serial.println (status); }} else {Serial.println ("povezivanje nije uspelo."); Serial.println ("Poruka nije tvitana"); }

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

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

Weather Station.ino

Korak 8: Doprinos spremištu senzora

Jeste li programer, inženjer ili dizajner koji ima odličnu ideju za novu funkciju u TWIST -u? Možda imate dobru ideju za ispravljanje grešaka? Slobodno preuzmite naš kod, sheme i CAD datoteke iz Github -a i pozabavite se njima.

TWIST GitHub

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

Druga nagrada na Intel® IoT Invitational

Preporučuje se: