Turinys:
- 1 žingsnis: dalys ir medžiagos
- 2 žingsnis: elektros projektavimas
- 3 žingsnis: mechaninis dizainas
- 4 žingsnis: rėmo surinkimas: veidas ir pagrindas
- 5 žingsnis: Elektronikos ir jutiklių surinkimas
- 6 veiksmas: „Twitter“konfigūracija
- 7 veiksmas: programinė įranga ir konfigūracija
- 8 veiksmas: prisidėjimas prie jutiklių saugyklos
Video: „Tweeting“oro stotis: 8 žingsniai (su nuotraukomis)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:45
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
„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“
Antrasis „Intel® IoT Invitational“prizas
Rekomenduojamas:
„Hanging Gear“oro stotis: 7 žingsniai (su nuotraukomis)
„Hanging Gear Weather Station“: šioje instrukcijoje aš jums parodysiu, kaip sukurti savo pakabinamų įrankių oro stotį, pagamintą iš CNC lazeriu pjaustytų MDF dalių. Žingsninis variklis varo kiekvieną pavarą, o „Arduino“matuoja temperatūrą ir drėgmę, naudojant DHT
„NaTaLia“orų stotis: „Arduino“saulės energija varoma oro stotis padaryta teisingai: 8 žingsniai (su nuotraukomis)
„NaTaLia“orų stotis: „Arduino Solar Powered Weather Station“padaryta teisingai: Po vienerių metų sėkmingo veikimo 2 skirtingose vietose dalinuosi saulės kolektorių projektų planais ir paaiškinu, kaip ji išsivystė į sistemą, kuri tikrai gali išgyventi ilgą laiką laikotarpius nuo saulės energijos. Jei sekate
„Pasidaryk pats“oro stotis ir „WiFi“jutiklių stotis: 7 žingsniai (su nuotraukomis)
„Pasidaryk pats“oro stotis ir „WiFi“jutiklių stotis: Šiame projekte parodysiu, kaip sukurti orų stotį kartu su „WiFi“jutiklių stotimi. Jutiklių stotis matuoja vietos temperatūros ir drėgmės duomenis ir siunčia juos per „WiFi“į orų stotį. Tuomet orų stotis rodo t
Dalelių fotonų daiktų interneto asmeninė oro stotis: 4 žingsniai (su nuotraukomis)
Dalelių fotonų daiktų interneto asmeninė oro stotis:
Vietinė oro stotis: 8 žingsniai (su nuotraukomis)
Vietinė orų stotis: Ieškodama puikaus projekto savo pirmųjų metų mokyklos projektui įgyvendinti, turėjau daug idėjų, ką daryti, bet nė vieno iš jų nemačiau. Vėliau sugalvojau sukurti orų stotį, kuri turėtų kažką ypatingo. Norėjau sugebėti