Turinys:

„Tweeting“oro stotis: 8 žingsniai (su nuotraukomis)
„Tweeting“oro stotis: 8 žingsniai (su nuotraukomis)

Video: „Tweeting“oro stotis: 8 žingsniai (su nuotraukomis)

Video: „Tweeting“oro stotis: 8 žingsniai (su nuotraukomis)
Video: Deus está realmente presente quando oro? 2024, Liepa
Anonim
„Tweeting“oro stotis
„Tweeting“oro stotis

Ar kada norėjote stebėti savo miesto dabartines oro sąlygas, anglies pėdsaką, triukšmą ir taršą? Ar norite būti klimato kaitos kryžiuočiu ar įsteigti savo „Tweeting“orų stotį ir pasidalyti vietinėmis oro sąlygomis su pasauliu?

Susipažinkite su „Tweeting Weather IoT Station“, dar žinomu kaip „TWIST“- pasidaryk pats, atviro kodo aplinkos stebėsenos ir meteorologinių duomenų gavimo platforma. TWIST tikslas yra tas, kad asmenys ir bendruomenės galėtų rinkti duomenis apie tai, kas iš tikrųjų vyksta jų aplinkoje, ir dalytis šiais duomenimis socialinėje žiniasklaidoje, pvz., „Twitter“.

  • „TWIST“yra daiktų interneto (IoT) platforma.
  • TWIST smegenys yra „Intel Edison Board“.
  • TWIST yra suderinamas su įvairiais jutikliais.
  • Visi kodai, dizaino failai (schemos ir PCB išdėstymas) yra atvirojo kodo. Tai reiškia, kad kiekvienas gali prisidėti prie TWIST platformos, bendrindamas skirtingų jutiklių kodą ir schemas.

TWIST susideda iš trijų technologinių sluoksnių:

Pirmasis sluoksnis yra aparatūros plokštė, kurioje yra visi oro ir aplinkos jutikliai, vadinami „jutiklių lenta“. Kaip rodo pavadinimas, jame yra jutikliai, kurie matuoja oro sudėtį, temperatūrą, drėgmę, lietų. Taip pat galima pridėti papildomų jutiklių, panašių į aktyvumą, UV indeksą, barometrinį slėgį, aukštį, liuksus (šviesumą), garso lygį, vėjo greitį ir kryptį ir kt. Sukūrus jutiklių plokštę, ji gali perduoti jutiklių išmatuotus duomenis į antrąjį sluoksnį. Antrasis sluoksnis yra „Intel Edison“lenta, kuri gauna duomenis iš jutiklių plokštės, apdoroja juos ir siunčia juos į kitą sluoksnį. Trečiasis sluoksnis jungia jūsų „Edison Board“prie interneto per „Wi-Fi“, naudojant „Edison“plokštės belaidį modulį ir „Tweet“dabartines oro ir aplinkos sąlygas.

Įrenginį galima tiekti iš saulės kolektoriaus arba kintamosios srovės adapterio.

Versijos valdomos saugyklos

Visi trys TWIST technologiniai sluoksniai yra atvirojo kodo, todėl visi failai, kuriuos naudojame kodui, PCB kūrimui, mechaniniam dizainui ir kt., Yra lengvai prieinami mūsų „Github“saugykloje.

Konkurso darbai

„Intel IoT Invitational“

Norėčiau padėkoti „Intel+Instructables“, kad suteikė man „Intel Edison Board“. Aš planuoju sukurti daug daugiau su daiktų internetu susijusių instrukcijų naudojant „Edison“lentą.

#iotweatherstn

Jei kuriate „TWIST“, nepamirškite „Twitter“parašyti orų, naudodami #iotweatherstn. #iotweatherstn gali būti grotažymė, kurią naudoja visos „IoT“varomos „Tweeting“oro stotys.

1 žingsnis: dalys ir medžiagos

Dalys ir medžiagos
Dalys ir medžiagos
Dalys ir medžiagos
Dalys ir medžiagos
Dalys ir medžiagos
Dalys ir medžiagos

„QuantityPartDetails“1

„Intel Edison“

su „Arduino Breakout Board“

1

MQ2 degiųjų dujų jutiklis

1

YL-83

Lietaus jutiklis

1

SL-HS-220

Temperatūros ir drėgmės jutiklis

1

Rezistorius

32 tūkst

4,7 tūkst

3 metalinės atramos 1 colio

1

Rezistorius

32 tūkst

4,7 tūkst

2

Medžio lapas A4 formato

Vėliau galima sumažinti dydį

3

Metalo atskirtis

1 colio

2 žingsnis: elektros projektavimas

Galia

Visa sistema maitinama iš 5V 1A maitinimo šaltinio. Jutikliai (temperatūra, drėgmė, lietus, dujos) sunaudoja maždaug 200 mA, Edison - apie 500 mA. Maitinimo būsenai parodyti naudojamas žalias šviesos diodas, esantis Edisono plokštės 13 skaitmeniniame kaištyje.

„Intel Edison“vykdo „TWIST“laidą. „Edison“yra sumontuotas ant „Arduino“išjungimo plokštės, todėl lengva nuskaityti skaitmeninius ir analoginius signalus iš jutiklių. „Edison“yra prijungtas prie 5 V bėgio per mikro USB kabelį. „Edison“turi įmontuotą „Wi-Fi“radiją, leidžiantį prisijungti prie „Twitter“, nereikalaujant jokios papildomos aparatūros.

Realaus laiko laikrodis (RTC)

Kadangi „Twitter“automatiškai įrašomas laiko žymėjimas kiekvienam „Twitter“įrašui skiriamas tik nuo dienų skaičiaus nuo „Tweeting“laiko, realaus laiko laikrodis naudojamas tiksliai datos ir laiko žymėjimui valandos minutėje Antrasis formatas. TWIST platformoje naudojamas realaus laiko laikrodis yra DS-1307 RTC modulis.

Pagrindinėje šios sistemos sąrankoje yra keturi jutikliai (temperatūra, drėgmė, lietus, dujos), jungiantys prie „Edison“. Galima pridėti papildomų jutiklių, tokių kaip Triukšmas, Vėjas ir pan. Kiekvienas jutiklis maitinamas tiesiogiai iš 5 V bėgio ir jo signalo kaištis yra prijungtas atitinkamai prie analoginių kaiščių A0 per A2 ir skaitmeninio kaiščio 2 Edisono pertraukos plokštėje. Kiekvienas jutiklis taip pat turi jautrumo reguliavimo potenciometrą, sumontuotą kiekvienoje jutiklio plokštėje; MQ-2 yra degiųjų dujų jutiklis (suskystintų naftos dujų, propano, vandenilio ir metano), kuris išleidžia analoginę įtampą, proporcingą dujų koncentracijai milijoninėmis dalimis. SL-HS-220 turi termistorių, kuris nurodo temperatūros vertę. Kadangi termistoriaus išėjimas yra nelinijinis, atitinkama temperatūros lentelė pateikiama jutiklių saugykloje. Termistorui reikalinga įtampos daliklio grandinė, kai ji prijungta prie „Edison“plokštės, kaip parodyta grandinės schemoje. SL-HS-220 taip pat turi įmontuotą higrometrą, kuris matuoja drėgmę ir išleidžia analoginę įtampą, atitinkančią fiksuotą drėgmės vertę. Drėgmės ir įtampos lentelė taip pat pateikta jutiklių saugykloje. Dažnas SL-HS-220 pakaitalas yra DHT11 jutiklis. Lietaus jutiklis/vandens jutiklis turi potenciometrą, kuris yra sureguliuotas taip, kad suteiktų skaitmeninį išėjimą tam tikram lietui, kurio jautrumą gali reguliuoti vartotojas.

Orų stotis.fzz

3 žingsnis: mechaninis dizainas

„TWIST“korpusas pagamintas iš dviejų medinių lakštų plokščių. Nors aš naudojau 1/4 colio fanerą, dizainą galima surinkti iš bet kokios lakštinės medžiagos, nes atstumas (išlaikomas 1 colio aliuminio atramomis) yra vienintelis svarbus elementas. Aukščiau pridėjau vektorinius failus atsisiųsti.

Pjovimas lazeriu

Visiems tiems, kurie nori lazeriu nupjauti dvi plokštes, pridėjau lazerinio pjaustytuvo failus, kuriuos galima atsisiųsti žemiau. Į jo dizainą taip pat įtrauktas papildomas oro kokybės jutiklis. Taigi, priklausomai nuo pasirinkimo, galite naudoti MQ2 jutiklio modulį arba oro kokybės jutiklio modulį.

4 žingsnis: rėmo surinkimas: veidas ir pagrindas

Priekinė plokštė

Jutikliai telpa į atitinkamas skyles ir išpjovas ir gali būti tvirtinami varžtais arba klijais.

Atraminė plokštė

„Edison“plokštės atramos yra prisukamos prie pagrindo plokštės. Analoginį skaitmeninį keitiklį (ADC), prijungtą prie lietaus jutiklio, taip pat galima prisukti prie pagrindo plokštės.

Prie pagrindo plokštės taip pat gali būti prisukami papildomi komponentai, tokie kaip garso signalai arba saulės įėjimo įtampos reguliatoriaus grandinė.

Pagrindo plokštė ir priekinė plokštė yra atskirtos 1 colio atotrūkiais.

5 žingsnis: Elektronikos ir jutiklių surinkimas

Galia

Sistemą maitina sieninis adapteris su standartiniu statinio lizdu, kuris yra tiesiogiai prijungtas prie „Edison's Barrel“jungties. Sistema taip pat gali būti maitinama per „Edison“plokštės USB prievadą. Taip pat galite maitinti plokštę iš išorinio saulės kolektoriaus.

Jutikliai

Jutikliai yra pritvirtinti prie pertraukiamųjų plokščių su antgaliais, todėl jie gali būti tiesiogiai prijungti prie „Edison“jungiamųjų laidų.

6 veiksmas: „Twitter“konfigūracija

„Inorder to Tweet“mes naudojame „NeoCat“sukurtą trečiosios šalies programą, kuri gauna „Twitter“prieigos raktą, kurio jums prireiks „Twitter“su „Edison“lenta. Žetonus taip pat galima gauti iš „Twitter“kūrėjų tinklalapio.

Taigi, norėdami pradėti, apsilankykite „NeoCat“svetainėje, vadovaukitės jo pamoka, kad gautumėte „Twitter“biblioteką ir „Twitter“žetoną. Kaip „NeoCat“minėjo savo svetainėje, nepiktnaudžiaukite paslauga. Laikykite savo tviterius retus. Jei jums reikia kas nors, kas tweets kas 6 sekundes, turėtumėte nustatyti savo serverį ir „Twitter“programą, taigi mano parašytas kodas užtikrina, kad „NeoCat“serveris nebūtų perkrautas („TWIST“tweets kas 6 valandas).

Biblioteka naudoja šią „NeoCat“svetainę kaip tarpinį serverį „OAuth“medžiagoms. Jūsų „Twitter“įrašas gali būti netaikomas šios „NeoCat“svetainės priežiūros metu. Atrodo, kad „Twitter“atmeta pakartotinius to paties turinio „tweets“(pateikia 403 klaidą).

„Twitter“žetonas

„Arduino“tviterio biblioteka

7 veiksmas: programinė įranga ir konfigūracija

Prieš pradėdami koduoti, vadovaukitės „Intel“„Edsion“sąrankos vadovu.

Programa yra „Arduino“eskizas, veikiantis „Edison“. Toliau paaiškinau kiekvieną pagrindinį kodo bloką.

Į kodą įeina kai kurios iš anksto nustatytos konstantos, kaiščių deklaracijos ir keletas serijinio spausdinimo teiginių, kurie padeda išspręsti triktis.

„Tweet“uždelsimas

Kadangi „Twitter“filtruoja tą patį turinį turinčius „Twitter“įrašus, kurie per trumpą laiką yra įrašomi tarp kiekvieno iš jų, buvo nustatytas standartinis 3 valandų (10800000 milisekundžių) vėlavimas tarp kiekvieno įrašo.

tweetMessage ();

vėlavimas (10800000);

Tipas Liejimas

Daugelis rodmenų, kuriuos gauname iš jutiklių, yra duomenų tipo „int“arba „float“. Bet kadangi mes tweeted šias vertes, turime jas konvertuoti į „String“duomenų tipą. Tam naudojame specialią liejimo techniką.

char *dtostrf (dvigubas val, pasirašytas char plotis, nepasirašytas char prec, char *sout) {

char fmt [100]; sprintf (fmt, "%%% d.%df", plotis, tikslumas); sprintf (pietų, fmt, val); grįžti į pietus; }

„Twitter“žetonas

„Twitter“prieigos raktas yra sukurtas „NeoCat“svetainėje ir turėtų būti įklijuotas į žetonų vietą čia.

void tweetMessage () {

„Twitter twitter“(„Įveskite ČITTERĮ ČIA“);

„Tweeting“jutiklio vertės

Norėdami „tweet“jutiklio vertę, pirmiausia įtraukiame jutiklio tipą; Pavyzdys: „Drėgmė“. Po to sekė simbolių deklaracija ir kodo eilutė, reikalinga tipui perduoti. Toliau pridedame matavimo vieneto teiginį; Pavyzdys: „%RH“. Panašiai galime ir toliau pridėti kitų jutiklių vertes.

drėgmė (); plūdė drėgna;

// „Twitter“pranešimas String stringMsg = "Drėgmė:"; char tmp [10]; dtostrf (drėgnas, 1, 2, tmp); stringMsg += tmp; stringMsg += "%RH";

Orų stoties vieta ir žymėjimas

Toliau pažymime vietą (miestas, vietovė ir kt.) Ir kitas žymas, pvz., #Iotweatherstn.

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

Realaus laiko laikrodis (RTC)

Kaip paaiškinta anksčiau, TWIST taip pat gali įrašyti „Twitter“realaus laiko laikrodžio duomenis. Žemiau pateikiamas RTC kodo „dienos“parametrų bloko pavyzdys. „Real Time Clock“funkcija yra neprivaloma „TWIST“platformoje, nes modulis pateikiamas atskirai. Taigi TWIST saugykloje yra sukurta atskira šaka, skirta „Real Time Clock“šakos kodui ir schemoms.

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

140 simbolių apribojimas

Šis kodo blokas paverčia eilučių masyvą į 140 simbolių masyvą, paruoštą „Twitter“.

char msg [140];

stringMsg.toCharArray (žinutė, 140);

Pranešimų ir ryšio trikčių šalinimas

Šis kodo blokas serijiniame monitoriuje išspausdina porą teksto eilučių, kad vartotojas galėtų patikrinti pranešimą ir tviterio būseną.

// Tweet tą čiulptuką!

if (twitter.post (msg)) {int status = twitter.wait (); if (status == 200) {Serial.println („Gerai“); Serial.println („Pranešimas tweeted“); } else {// Ryšio testas Serial.print ("nepavyko: kodas"); Serial.println („Žinutė neskelbta tviteryje“); Serial.println (būsena); }} else {Serial.println ("nepavyko prisijungti"); Serial.println („Žinutė neskelbta tviteryje“); }

Visi kiti kodo blokai tiesiog paverčia analoginį ar skaitmeninį skaitymą iš jutiklių į naudojamus duomenis.

Kodą galima atsisiųsti iš čia arba iš pagrindinės saugyklos:

Orų stotis.ino

8 veiksmas: prisidėjimas prie jutiklių saugyklos

Ar esate programuotojas, inžinierius ar dizaineris, turintis puikią idėją dėl naujos TWIST funkcijos? Gal turite gerą klaidos taisymo idėją? Nesivaržykite paimti mūsų kodą, schemas ir CAD failus iš „Github“ir susitvarkyti su juo.

„TWIST GitHub“

„Intel® IoT Invitational“
„Intel® IoT Invitational“
„Intel® IoT Invitational“
„Intel® IoT Invitational“

Antrasis „Intel® IoT Invitational“prizas

Rekomenduojamas: