Բովանդակություն:
- Քայլ 1: Մասեր և նյութեր
- Քայլ 2: Էլեկտրական դիզայն
- Քայլ 3: Մեխանիկական նախագծում
- Քայլ 4: Շրջանակի հավաքում. Դեմք և հիմք
- Քայլ 5: Էլեկտրոնիկայի և ցուցիչների հավաքում
- Քայլ 6: Twitter- ի կազմաձևում
- Քայլ 7: Softwareրագրակազմ և կազմաձևում
- Քայլ 8: Նպաստելով ցուցիչների պահեստին
Video: Թվիթինգ եղանակային կայան. 8 քայլ (նկարներով)
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:46
Երբևէ ցանկացե՞լ եք վերահսկել ձեր քաղաքի ներկա եղանակային պայմանները, ածխածնի հետքը, աղմուկը և աղտոտվածությունը: Youանկանու՞մ եք լինել Կլիմայի փոփոխության խաչակիր կամ ստեղծել ձեր սեփական Թվիթինգ եղանակային կայանը և կիսվել ձեր տեղական եղանակային պայմաններով աշխարհի հետ:
Meet Tweeting Weather IoT Station aka TWIST - DIY, բաց կոդով շրջակա միջավայրի մոնիթորինգի և օդերևութաբանական տվյալների ձեռքբերման հարթակ: TWIST- ի նպատակն այն է, որ անհատներն ու համայնքները կարողանան տվյալներ հավաքել այն ամենի մասին, ինչ իրականում տեղի է ունենում իրենց միջավայրում և այդ տվյալները կիսել սոցիալական լրատվամիջոցներում, ինչպիսիք են Twitter- ը:
- TWIST- ը Իրերի ինտերնետի (IoT) համակարգչային հարթակ է:
- TWIST- ի ուղեղը Intel Edison Board- ն է:
- TWIST- ը համատեղելի է մի շարք սենսորների հետ:
- Բոլոր ծածկագիրը, դիզայնի ֆայլերը (սխեմաներ և PCB դասավորություն) բաց կոդով են: Սա նշանակում է, որ յուրաքանչյուրը կարող է նպաստել TWIST հարթակին ՝ կիսելով ծածկագիր և սխեմատիկա տարբեր սենսորների համար:
TWIST- ը բաղկացած է երեք տեխնոլոգիական շերտերից.
Առաջին շերտը ապարատային տախտակ է, որը պարունակում է եղանակի և շրջակա միջավայրի բոլոր սենսորները, որոնք հայտնի են որպես «Սենսորային տախտակ»: Ինչպես ցույց է տալիս անունը, այն կրում է սենսորներ, որոնք չափում են օդի կազմը, ջերմաստիճանը, խոնավությունը, անձրևը: Կարելի է ավելացնել նաև սենսիզմային գործունեության լրացուցիչ սենսորներ, ուլտրամանուշակագույն ճառագայթման ինդեքս, բարոմետրիկ ճնշում, բարձրություն, լյուքս (լուսավորություն), ձայնի մակարդակ, քամու արագություն և ուղղություն և այլն: Ստեղծվելուց հետո, ցուցիչների խորհուրդը կարող է տվիչների միջոցով չափված տվյալները հոսել երկրորդ շերտ: Երկրորդ շերտը Intel Edison Board- ն է, որը տվյալներ է ստանում Sensor Board- ից, մշակում և ուղարկում հաջորդ շերտ: Երրորդ շերտը ձեր Edison Board- ը միացնում է ինտերնետին Wi-Fi- ով ՝ օգտագործելով Edison- ի տախտակի անլար մոդուլը և Tweet's the Current Weather & Environmental պայմանները:
Սարքի սնուցումը կարող է ապահովվել արևային վահանակի կամ AC ադապտերի միջոցով:
Տարբերակով վերահսկվող պահեստներ
TWIST- ի բոլոր երեք տեխնոլոգիական շերտերը բաց կոդ են, և, հետևաբար, բոլոր ֆայլերը, որոնք մենք օգտագործում ենք կոդի, PCB- ի մշակման, մեխանիկական դիզայնի և այլնի համար, մատչելի են մեր Github պահոցում:
Մրցույթի գրառումներ
Intel IoT Invitational
Ես կցանկանայի շնորհակալություն հայտնել Intel+Instructables- ին `ինձ Intel Edison Board- ին տրամադրելու համար: Ես մտադիր եմ շատ ավելի շատ IoT- ի հետ կապված հրահանգներ պատրաստել ՝ օգտագործելով Edison տախտակը:
#iotweatherstn
Եթե TWIST եք անում, մի մոռացեք եղանակը թվիթ անել ՝ օգտագործելով #iotweatherstn: #iotweatherstn- ը կարող է լինել հեշթեգ, որն օգտագործվում է IoT- ով աշխատող բոլոր Թվիթինգ եղանակային կայանների կողմից:
Քայլ 1: Մասեր և նյութեր
QuantityPartDetails 1
Intel Edison
Arduino Breakout Board- ի հետ
1
MQ2 այրվող գազի ցուցիչ
1
YL-83
Անձրևի տվիչ
1
SL-HS-220
Temերմաստիճանի և խոնավության ցուցիչ
1
Դիմադրողական
32K
4.7K
3 մետաղական կանգառ 1 դյույմ
1
Դիմադրողական
32K
4.7K
2
Փայտե թիթեղ A4 Չափ
Հետագայում կարող է կտրվել չափերով
3
Մետաղական կանգառ
1 դյույմ
Քայլ 2: Էլեկտրական դիզայն
Ուժ
Ամբողջ համակարգը սնուցվում է 5V 1A սնուցման աղբյուրից: Սենսորները (peratերմաստիճան, խոնավություն, անձրև, գազ) ձգում են մոտավորապես 200 մԱ, իսկ Էդիսոնը ՝ մոտ 500 մԱ, քանի որ պահանջվող ընդհանուր հոսանքը 1 ամպից պակաս է, 1 ամպ հզորությունը պետք է լավ աշխատի: Edison Board- ի թվային կապում 13 -ի ներկառուցված կանաչ LED- ն օգտագործվում է էներգիայի կարգավիճակը ցույց տալու համար:
ControlAn Intel Edison- ը ցուցադրությունը վարում է TWIST- ի համար: Edison- ը տեղադրված է Arduino բեկման տախտակի վրա, ինչը հեշտացնում է սենսորների թվային և անալոգային ազդանշանների ընթերցումը: Edison- ը միացված է 5V ռելսին միկրո USB մալուխի միջոցով: Edison- ն ունի ներկառուցված Wi-Fi ռադիո, որը թույլ է տալիս միանալ Twitter- ին ՝ առանց որևէ լրացուցիչ սարքավորման անհրաժեշտության:
Իրական ժամանակի ժամացույց (RTC)
Քանի որ Twitter- ի կողմից յուրաքանչյուր թվիթի համար ավտոմատ կերպով կատարվող ժամադրոշմման թույլտվությունը սահմանափակվում է Թվիթինգի պահից սկսած ընդհանուր օրերի քանակով, իրական ժամացույցի ժամացույցը օգտագործվում է ժամ-րոպեի ամսաթվի և ժամի ճշգրիտ ժամադրման համար: Երկրորդ ձևաչափ. Իրական ժամանակի ժամացույցը, որն օգտագործվում է TWIST հարթակում, DS-1307 RTC մոդուլն է:
Այս համակարգի ամենահիմնական տեղադրումն ունի չորս տվիչ (ջերմաստիճան, խոնավություն, անձրև, գազ), որոնք միանում են Էդիսոնին: Լրացուցիչ տվիչներ կարող են ավելացվել, ինչպիսիք են Աղմուկը, Քամին և այլն: Յուրաքանչյուր սենսոր ուղղակիորեն սնուցվում է 5 Վ ռելսից և ունի իր ազդանշանային քորոցը համապատասխանաբար համապատասխանաբար A0- ից A2 անալոգային կապերին և Edison- ի ճեղքման տախտակի թվային 2 -ին: Սենսորներից յուրաքանչյուրն ունի նաև զգայունության ճշգրտման պոտենցիոմետր, որը տեղադրված է յուրաքանչյուր ցուցիչի տախտակի վրա. MQ-2- ը այրվող գազի սենսոր է (հեղուկ նավթային գազ, պրոպան, ջրածին և մեթան), որը թողարկում է անալոգային լարում ՝ համամասնությամբ միլիոնների գազերի կոնցենտրացիային: SL-HS-220- ում կա ջերմաչափ, որը տալիս է ջերմաստիճանի արժեքը: Քանի որ թերմիստորի ելքը ոչ գծային է, սենսորների շտեմարանում տրվում է համապատասխան ջերմաստիճանի աղյուսակը: Թերմիստորը պահանջում է լարման բաժանարար միացում, երբ միացված է Էդիսոնի տախտակին, ինչպես ցույց է տրված սխեմաներում: SL-HS-220- ը ունի նաև ներկառուցված հիգրոմետր, որը չափում է խոնավությունը և դուրս է բերում անալոգային լարման, որը համապատասխանում է ֆիքսված խոնավության արժեքին: Խոնավության-լարման աղյուսակը տրված է նաև տվիչների պահեստում: SL-HS-220- ի ընդհանուր փոխարինողը DHT11 սենսորն է: Անձրևի սենսորը/ջրի ցուցիչն ունի պոտենցիոմետր, որը ճշգրտված է որոշակի քանակությամբ անձրևի համար թվային ելք տալու համար, որի զգայունությունը կարող է կարգավորվել օգտագործողի կողմից:
Եղանակային կայան. Fzz
Քայլ 3: Մեխանիկական նախագծում
TWIST- ի մարմինը պատրաստված է փայտե թիթեղների երկու ափսեից: Չնայած ես օգտագործել եմ 1/4 "նրբատախտակ, դիզայնը կարելի է հավաքել ցանկացած թերթիկից, քանի որ տարածությունը (պահպանվում է 1" ալյումինե փակվածությամբ) միակ կարևոր տարրն է: Ես կցել եմ վերը բերված վեկտորային ֆայլերը:
Լազերային կտրում
Բոլոր նրանց համար, ովքեր ցանկանում են լազերային կտրել երկու թիթեղները, ներքևում կցել եմ լազերային կտրիչ ֆայլերը `ներբեռնման համար: Այն իր նախագծում ներառում է նաև օդի որակի լրացուցիչ ցուցիչ: Այսպիսով, դուք կարող եք կամ օգտագործել MQ2 սենսորային մոդուլ կամ օդի որակի տվիչի մոդուլ `կախված ձեր ընտրությունից:
Քայլ 4: Շրջանակի հավաքում. Դեմք և հիմք
Երեսպատում
Սենսորները տեղավորվում են իրենց համապատասխան անցքերի և կտրվածքների մեջ և կարող են ամրացվել պտուտակներով կամ սոսինձով:
Բազային սալիկ
Էդիսոնի տախտակի հակասությունները պտուտակված են Հիմնադրամի վրա: Անձրևի տվիչին միացված անալոգային-թվային փոխարկիչը (ADC) կարող է պտուտակվել նաև Հիմնական սալիկի վրա:
Լրացուցիչ բաղադրիչները, ինչպիսիք են բզզոցները կամ արևային մուտքի լարման կարգավորիչը, կարող են պտուտակվել Հիմնադրամի վրա:
Baseplate- ը և Faceplate- ը երկուսն էլ բաժանված են 1 դադարումով:
Քայլ 5: Էլեկտրոնիկայի և ցուցիչների հավաքում
Ուժ
Համակարգի էներգիան ապահովում է պատի ադապտեր `ստանդարտ տակառային խցիկով, որը միացված է անմիջապես Edison's Barrel միակցիչին: Համակարգը կարող է սնուցվել նաև Edison տախտակի USB պորտի միջոցով: Կարող եք նաև սնուցել տախտակը արտաքին արևային վահանակից:
Սենսորներ
Սենսորները ամրացված են ճեղքման տախտակներին ՝ արական վերնագրերով և, հետևաբար, դրանք կարող են ուղղակիորեն միացվել Էդիսոնին ՝ արականից իգական ցատկող լարերի միջոցով:
Քայլ 6: Twitter- ի կազմաձևում
Tweet- ի համաձայն, մենք օգտագործում ենք NeoCat- ի կողմից մշակված երրորդ կողմի ծրագիրը, որը ստանում է Twitter- ի նշանը, որը ձեզ հարկավոր կլինի Tweet- ը ձեր Edison տախտակի հետ: Տոկենները կարող են ձեռք բերվել նաև Twitter- ի Developers վեբ էջից:
Այսպիսով, սկսելու համար այցելեք NeoCat- ի կայքը, հետևեք նրա ձեռնարկին ՝ twitter գրադարանը և ձեր twitter նշանը ստանալու համար: Ինչպես NeoCat- ն է նշել իրենց կայքում, խնդրում ենք չարաշահել ծառայությունը: Ձեր թվիթերը սակավ պահեք: Եթե ձեզ անհրաժեշտ է ինչ -որ բան, որը թվիթեր է անում ամեն 6 վայրկյանը մեկ, դուք պետք է ստեղծեք ձեր սեփական սերվերը և twitter ծրագիրը, և, հետևաբար, իմ գրած կոդը երաշխավորում է, որ NeoCat- ի սերվերը չի ծանրաբեռնում (TWIST թվիթեր յուրաքանչյուր 6 ժամը մեկ):
Գրադարանը օգտագործում է այս NeoCat- ի կայքը որպես վստահված սերվեր OAuth- ի իրերի համար: Ձեր թվիթը չի կարող կիրառվել այս NeoCat- ի վեբ կայքի պահպանման ընթացքում: Թվում է, թե Twitter- ը մերժում է նույն բովանդակությամբ կրկնվող թվիթերը (վերադարձնում է սխալ 403):
Twitter խորհրդանիշ
Arduino Tweet գրադարան
Քայլ 7: Softwareրագրակազմ և կազմաձևում
Կոդավորվելուց առաջ հետևեք Intel- ի Intel Edsion- ի տեղադրման ուղեցույցին:
Isրագիրը Արդուինոյի էսքիզն է, որը աշխատում է Էդիսոնի վրա: Ստորև բացատրել եմ կոդի հիմնական բլոկներից յուրաքանչյուրը:
Կոդը ներառում է որոշ կանխորոշված հաստատուններ, փին հայտարարություններ և մի քանի սերիական տպագիր հայտարարություններ, որոնք օգնում են անսարքությունների վերացմանը:
Tweet Հետաձգում
Քանի որ Twitter- ը զտում է միևնույն բովանդակություն ունեցող թվիթերը և դրանք թվիթերի են ենթարկվում դրանցից յուրաքանչյուրի միջև կարճ ժամանակահատվածում, յուրաքանչյուր թվիթի միջև սահմանվել է 3 ժամ տևողությամբ (10800000 միլիարդ վայրկյան) ստանդարտ ուշացում:
tweetMessage ();
ուշացում (10800000);
Տեսակ Ձուլում
Սենսորներից ստացված շատ ընթերցումներ գտնվում են «int» կամ «float» տվյալների տիպի մեջ: Բայց քանի որ մենք թվիթերում ենք այս արժեքները, մենք պետք է դրանք փոխակերպենք «Լարային» տվյալների տիպի: Դրա համար մենք օգտագործում ենք Type-casting հատուկ տեխնիկա:
char *dtostrf (կրկնակի val, ստորագրված char լայնություն, unsigned char prec, char *sout) {
char fmt [100]; sprintf (fmt, "%%% d.%df", width, prec); sprintf (sout, fmt, val); վերադարձ sout; }
Twitter խորհրդանիշ
Twitter- ի նշանը ստեղծվում է NeoCat- ի կայքում և պետք է տեղադրվի այստեղ նշանների տարածության մեջ:
անվավեր tweetMessage () {
Twitter twitter («Մուտքագրեք TWITTER TOKEN ԱՅՍՏԵ»);
Թվիթինգ սենսորային արժեքներ
Սենսորային արժեքը թվիթ անելու համար մենք նախ ներառում ենք Սենսորային տեսակը. Օրինակ ՝ «Խոնավություն»: Դրան հաջորդում է բնույթի հայտարարություն և տիպի ծածկագրման համար անհրաժեշտ տողի տող: Հաջորդը մենք ավելացնում ենք հայտարարություն չափման միավորի համար. Օրինակ ՝ «%RH»: Մենք կարող ենք շարունակել ավելացնել այլ սենսորների արժեքներ նույնպես նման ձևով:
խոնավություն(); բոց խոնավ;
// Twitter հաղորդագրություն String stringMsg = "Խոնավություն."; char tmp [10]; dtostrf (խոնավ, 1, 2, tmp); stringMsg += tmp; stringMsg += "%RH";
Եղանակային կայանի գտնվելու վայրը և պիտակավորումը
Հաջորդը մենք նշում ենք գտնվելու վայրը (քաղաք, տեղանք և այլն) և այլ պիտակներ, ինչպիսիք են #iotweatherstn:
stringMsg += " #Մումբայ #Բանդրա #iotweatherstn";
Իրական ժամանակի ժամացույց (RTC)
Ինչպես ավելի վաղ բացատրվել էր, TWIST- ը կարող է նաև թվիթել իրական ժամանակի ժամացույցի տվյալները: Ստորև բերված է RTC- ի «օր» պարամետրային բլոկի օրինակ: Իրական ժամանակի ժամացույցի գործառույթը պարտադիր չէ TWIST հարթակում, քանի որ մոդուլը գալիս է առանձին: Այսպիսով, գոյություն ունի առանձին մասնաճյուղ, որը ստեղծվել է TWIST պահոցում Իրական ժամանակի ժամացույցի ճյուղի ծածկագրի և սխեմատիկայի համար:
TwistDateTime (); DateTime now = rtc.now (); int twistday, twistmonth, twistyear, twisthour, twistmin, twistsec; String stringMsg = ""; char ds1307day [10]; dtostrf (twistday, 1, 0ds1307day); stringMsg += ds1307 օր; stringMsg += "/";
140 Նիշերի սահմանափակում
Կոդի այս բլոկը ծածկում է լարային զանգվածը 140 նիշ զանգվածի, որը պատրաստ է թվիթերի:
char msg [140];
stringMsg.toCharArray (msg, 140);
Հաղորդագրությունների և կապերի անսարքությունների վերացում
Կոդի այս բլոկը տպում է Serial Monitor- ում տեքստի մի քանի տող, որը կօգնի օգտվողին ստուգել հաղորդագրության և թվիթերի կարգավիճակը:
// Թվիթ արա այդ ծծողին:
if (twitter.post (msg)) {int status = twitter.wait (); if (կարգավիճակը == 200) {Serial.println ("Լավ."); Serial.println («Հաղորդագրությունը թվիթերում է»); } else {// Միացման փորձարկում Serial.print ("ձախողվեց. կոդը"); Serial.println («Հաղորդագրությունը չի թվիթերում»); Serial.println (կարգավիճակ); }} else {Serial.println («կապը ձախողվեց»); Serial.println («Հաղորդագրությունը չի թվիթերում»); }
Կոդի մյուս բոլոր բլոկները պարզապես սենսորներից անալոգային կամ թվային ընթերցումը վերածում են օգտագործելի տվյալների:
Կոդը կարող է բեռնվել այստեղից կամ հիմնական պահոցից ՝
Եղանակային կայան
Քայլ 8: Նպաստելով ցուցիչների պահեստին
Դուք ծրագրավորող, ճարտարագետ կամ դիզայներ եք, ով հիանալի գաղափար ունի TWIST- ի նոր հնարավորության համար: Միգուցե լավ գաղափար ունե՞ք վրիպակների շտկման համար: Ազատ զգացեք Github- ից վերցնել մեր ծածկագիրը, սխեմաները և CAD ֆայլերը և շաղ տալ դրա հետ:
TWIST GitHub
Երկրորդ մրցանակ Intel® IoT Invitational- ում
Խորհուրդ ենք տալիս:
Պրոֆեսիոնալ եղանակային կայան ՝ օգտագործելով ESP8266 և ESP32 DIY ՝ 9 քայլ (նկարներով)
ESP8266 և ESP32 DIY- ի օգտագործմամբ մասնագիտական եղանակային կայան. LineaMeteoStazione- ը ամբողջական եղանակային կայան է, որը կարող է փոխազդել Sensirion- ի պրոֆեսիոնալ սենսորների, ինչպես նաև Davis Instrument- ի որոշ բաղադրիչների հետ (Անձրևաչափ, անեմոմետր): projectրագիրը նախատեսված է որպես DIY եղանակային կայան
Մոդուլային արևային եղանակային կայան. 5 քայլ (նկարներով)
Մոդուլային արևային եղանակային կայան. Այն նախագծերից մեկը, որը ես ուզում էի որոշ ժամանակ կառուցել, մոդուլային եղանակային կայանն էր: Մոդուլային այն իմաստով, որ մենք կարող ենք ավելացնել մեր ուզած տվիչները `միայն ծրագրակազմը փոխելով: Մոդուլային եղանակային կայանը բաժանված է երեք մասի: Հիմնական տախտակն ունի W
NaTaLia եղանակային կայան. Arduino արևային էներգիայով աշխատող եղանակային կայանը կատարվել է ճիշտ ճանապարհով. 8 քայլ (նկարներով)
NaTaLia եղանակային կայան. Arduino արևային էներգիայով աշխատող եղանակային կայանը կատարվեց ճիշտ ճանապարհով. 2 տարբեր վայրերում 1 տարվա հաջող աշխատանքից հետո ես կիսում եմ իմ արևային էներգիայով աշխատող եղանակային կայանի նախագծի ծրագրերը և բացատրում, թե ինչպես այն վերածվեց համակարգի, որն իսկապես կարող է գոյատևել երկար ժամանակ: արևային էներգիայի ժամանակաշրջաններ: Եթե հետևեք
DIY եղանակային կայան և WiFi սենսորային կայան. 7 քայլ (նկարներով)
DIY եղանակային կայան և WiFi սենսորային կայան. Այս նախագծում ես ձեզ ցույց կտամ, թե ինչպես կարելի է եղանակային կայան ստեղծել WiFi սենսորային կայանի հետ միասին: Սենսորային կայանը չափում է տեղական ջերմաստիճանի և խոնավության տվյալները և այն WiFi- ի միջոցով ուղարկում է եղանակային կայանին: Օդերևութաբանական կայանն այնուհետև ցուցադրում է
Acurite 5 in 1 եղանակային կայան ՝ օգտագործելով Raspberry Pi և Weewx (այլ եղանակային կայաններ համատեղելի են). 5 քայլ (նկարներով)
Acurite 5 in 1 եղանակային կայան ՝ օգտագործելով Raspberry Pi և Weewx (այլ եղանակային կայաններ համատեղելի են). Երբ ես գնել էի Acurite 5 in 1 օդերևութաբանական կայանը, ես ցանկանում էի, որ կարողանայի ստուգել եղանակը իմ տանը, երբ ես հեռու էի: Երբ տուն հասա և տեղադրեցի, հասկացա, որ կամ պետք է միացնեմ համակարգչին կամ գնեմ նրանց խելացի հանգույցը