Բովանդակություն:
- Քայլ 1: Տեսություն
- Քայլ 2: Դիզայն
- Քայլ 3. Տեխնիկական մանրամասներ. API
- Քայլ 4: Տեխնիկական մանրամասներ. Սարքավորումներ
- Քայլ 5: Տեխնիկական մանրամասներ. Կետերի միացում | Տնային ավտոմատացում
- Քայլ 6: Փաթեթավորում
Video: Ռամադանի լույսերը - Տնային ավտոմատացում IOT: 6 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:48
Երբ Ռամադանը թակում է դուռը, աշխարհի քաղաքները լուսավորվում և պատրաստվում են ծոմապահության ամսին: Լույսերը կախված են հանրային հրապարակներում և քաղաքի փողոցներում, ինչպես նաև գիշերային լուսավորված տների արտաքին պատերին, մինչև արևածագը առավոտյան:
Այս նախագծում ես կցանկանայի կիսել իմ ներդրումը, որում ես ավտոմատացնում եմ այս դեկորացիաների լուսավորությունը ՝ հիմնված Ադանի ժամանակների վրա և դա ավելացնում իմ խելացի տան համակարգին:
Քայլ 1: Տեսություն
Հիմնականում ավելի հեշտ և կիրառելի է, օրինակ, արևի լույսի ինտենսիվության հիման վրա լուսավորության ավտոմատացումը: Այնուամենայնիվ, ես կցանկանայի, որ սա ունենար սուրբ ամսվա ոգին, այսինքն ՝ լույսերը կբացվեն այնքան ժամանակ, քանի դեռ մարդկանց թույլատրվում է ուտել ծոմապահության ամսվա ընթացքում: Մասնավորապես, լույսերը վառվում են ՝ սկսած Մաղրիբ Ադանից մինչև Ֆաջար Ադան ամեն օր ՝ առանց որևէ մարդկային փոխազդեցության:
Քայլ 2: Դիզայն
Ստորև ես թվարկում եմ այս նախագծի պահանջները/հնարավորությունները.
- Համակարգը պետք է կարողանա ինքնաբերաբար մշակել բեռնման ժամանակ:
- Համակարգը պետք է կարողանա պարբերաբար կատարել որոշման (ON/OFF) ալգորիթմը:
- Համակարգը պետք է կարողանա ամեն օր զանգահարել API:
- Համակարգը պետք է կարողանա վերականգնել չպլանավորված վերագործարկումից հետո:
- Համակարգը պետք է կատարի որոշման (ON/OFF) ալգորիթմը `տվյալները անմիջապես ստանալուց հետո:
- Համակարգը պետք է ապահովի անջատիչ ավտոմատ օդաչուի ռեժիմը միացնելու համար (ավտոմատ ռեժիմ):
- Համակարգը պետք է ապահովի անջատիչ լույսերը ձեռքով միացնելու/անջատելու համար:
- Ձեռքով անջատիչի գործարկումը պետք է ձեռքի ռեժիմը դնի OFF:
- Երբ ավտոմատ ռեժիմը միացված է, որոշման ալգորիթմի արդյունքը պետք է արտացոլվի ON/OFF մեխանիկական անջատիչի վրա:
Քայլ 3. Տեխնիկական մանրամասներ. API
Տեսությունը կիրառելի դարձնելու համար պահանջվում է իմանալ Ադանի ժամանակը ամեն օր `փոփոխականից և գործել դրա վրա` լույսերը/զարդերը միացնելու/անջատելու համար:
Այդ նպատակով ես որոշեցի օգտագործել տվյալների վրա ծառայելու համար տեղադրության վրա հիմնված API- ն (ժամանակ Adhan- ի համար)
muslimsalat.com/api/#location
- Այս API- ն ապահովում է տարբեր ընտրանքներ և կազմաձևման պարամետրեր, որոնք նկարագրված են վերը նշված փաստաթղթերի հղման մեջ:
- Խորհուրդ է տրվում օգտագործել ձեր սեփական API_ բանալին, որն անվճար է գրանցումից հետո:
- Իմ դիզայնով ինձ հետաքրքրում է ամենօրյա ժամանակացույցը:
- Վերադարձված ժամանակը 12 ժամ ֆորմատով է (AM/PM):
- Տեղադրության առումով ես կցանկանայի, որ այս API- ն կարողանար ավելի ճշգրիտ տարբերակներ տրամադրել այնպիսի վայրերի համար, ինչպիսիք են աշխարհագրական կոորդինատների համակարգը (լայնություն և երկայնություն): Այս կերպ, այս API- ին կարող է տրամադրվել քաղաքի անուն, օրինակ, և դա շատ դեպքերում բավական է: Unfortunatelyավոք, իմ կոնկրետ քաղաքի արդյունքները բավականին կողմնակալ էին բազմաթիվ թեստերում և մի քանի րոպե տարբերություն կար, երբ համեմատում էի Ադանի ժամանակը API- ի արդյունքների և իմ քաղաքի Ադանի իրական ժամանակի միջև: Մյուս կողմից, արդյունքները միանգամայն համընկնում էին, երբ ես հյուսիսից մոտ քաղաք էի տրամադրում և մնում էի դրան:
- API հասցեն, որն օգտագործում եմ, հետևյալն է ՝ https://muslimsalat.com/.json? Key =
Քայլ 4: Տեխնիկական մանրամասներ. Սարքավորումներ
Պարզության համար ես սարքը թողնում եմ API- ի հետ համաժամացման գործընթացից և ժամանակի հաշվարկում `այդ գործողությունները պատվիրելով իմ տան ավտոմատացման համակարգին: Սա ինձ ավելի շատ վերահսկողություն կտա, եթե ուզում եմ փոփոխել API աղբյուրը և հաշվարկման ալգորիթմը:
Այդ ասելով, ես օգտագործեցի ESP8266 (NodeMCU) ՝ WIFI- ի միջոցով տեղական ցանցին միանալու և ռելեի մոդուլը որպես շարժիչ: NodeMCU- ն կօգտագործի MQTT արձանագրությունը և կլսի որոշակի թեմա ՝ ռելեի միացման/անջատման հրամաններ ստանալու համար: Այդքան պարզ!
Քայլ 5: Տեխնիկական մանրամասներ. Կետերի միացում | Տնային ավտոմատացում
Իմ RaspberryPi- ն ունի նոդերացված օրինակ, որն ունակ է կարգավորել այն ամենը, ինչ ինձ պետք է այս նախագծի համար: Նաև տեղադրված է MQTT սերվեր ՝ մեր հաղորդագրությունները հրապարակելու համար:
Սկզբում ես մտածեցի, որ ամեն առավոտ կարող եմ API- ի տվյալները վերցնել առավոտյան 9 -ին և արդյունահանել ինչպես Ֆաջր, այնպես էլ Մահգրիբ Ադան ժամանակները և շարունակել համեմատել ընթացիկ ժամանակը այս փոփոխականների հետ, այսինքն.
յուրաքանչյուրը 30 վրկ.
եթե ՝ Մահգրիբ <ՀԻՄԱ <Ֆաջր ճշմարիտ | միացնել լույսերը | հրապարակեք ON հաղորդագրություն նշված MQTT թեմային այլ կերպ. անջատեք
Timeամանակը համեմատելու համար ես API- ի կողմից տրամադրված ժամերը փոխում եմ hh: mm (AM/PM) ամսաթվի լրիվ ձևաչափի `ամսաթվի մասը պատմության մեջ աննշան ամսաթվի դնելով, օրինակ (1/1/1970), քանի որ մենք համեմատում ենք ժամանակը միայն ընթացիկ ժամին (ամսաթվի հատվածը նույնպես փոխարկվում է):
Unfortunatelyավոք, դա կաշխատի միայն ուղիղ դեպքերում: Ենթադրենք, այն դեպքում, երբ էլեկտրական էներգիան անջատվում է կամ համակարգը վերագործարկվում է չնախատեսված պատճառով: Եթե այս դեպքը տեղի է ունենում մինչև առավոտյան 12 -ը, ապա մենք դեռ ապահով կողմում ենք, բայց առավոտյան 12 -ից հետո դա կխափանի մեր պարզ ալգորիթմը:
Օրինակ բերելու համար եկեք ունենանք Մագրիբ Ադանը երեկոյան 7: 30 -ին և Ֆաջրը ՝ առավոտյան 4: 10 -ին: Երբ համակարգը գործարկվի, այն նոր հայտ կուղարկի ՝ ավելի վաղ նշված տվյալները բերելու համար: Եթե ժամանակն այժմ 01:45 է, մենք ակնկալում ենք, որ մեր ալգորիթմը կվերադառնա ճշմարիտ, բայց իրականում դա այդպես չի լինի, քանի որ առավոտյան 1:45 -ը Ֆաջրից փոքր է (4:10 AM), բայց ավելի մեծ չէ, քան Magrib- ը (19:30 PM): Դա պայմանավորված է նրանով, որ մենք միավորում ենք ամսաթիվը բոլոր փոփոխականների միջև: Ստորև բերված է ալգորիթմի վերջնական տարբերակը (մինչ այժմ).
յուրաքանչյուրը 30 վրկ.
եթե ((magrib.getHours ()> = 12 && fajr.getHours () <= 12) || ֆաջր <մաղրիբ) {fajr.setDate (fajr.getDate ()+1); // կարգավորել ընդգրկող օրերը endTime if (now.getHours () <= 12) {now.setDate (now.getDate ()+1); // կարգավորել օրերի ընթացքը currentTime}} // ստորև բերված է կոդի նախորդ բլոկը, եթե `Mahgrib <NOW <Fajr true | միացնել լույսերը | հրապարակել ON հաղորդագրություն նշված MQTT թեմային այլ ՝ կեղծ | անջատել
Վերոնշյալ պատկերում նշվում է գործընթացի ամբողջական ընթացքը:
UI- ի առումով, UI/ինտերֆեյսին ավելացրի 2 անջատիչ.
- Այս գործընթացի ավտոմատ կամ ձեռքով միացման անջատիչ:
- Լույսերը ձեռքով միացնելու/անջատելու անջատիչ:
Քայլ 6: Փաթեթավորում
Timeամանակը թռչում է երբեք չվերհիշելու համար: Նման պարզ 1-օրյա նախագծեր կատարելը թույլ է տալիս շունչ քաշել այս արագընթաց գոտում և օգնել ձեզ ժամանակի ընթացքում վերակենդանացնել ձեր փափուկ հմտությունները:
Այս նախագծում ես նույնքան փորձեցի այն պարզ և բազմակի օգտագործելու համար ամբողջ աշխարհում:
Սիրով քվեարկեք այս ուսանելիի համար, եթե կարծում եք, որ այս նախագիծը արժանի է:
Շնորհավոր Ռամադան:
Խորհուրդ ենք տալիս:
Խոսակցական ավտոմատացում -- Աուդիո Արդուինոյից -- Ձայնով վերահսկվող ավտոմատացում -- HC - 05 Bluetooth մոդուլ. 9 քայլ (նկարներով)
Խոսակցական ավտոմատացում || Աուդիո Արդուինոյից || Ձայնով վերահսկվող ավտոմատացում || HC - 05 Bluetooth մոդուլ ՝ …………………………. Լրացուցիչ տեսանյութերի համար Բաժանորդագրվեք իմ YouTube ալիքին …. …. Այս տեսանյութում մենք կառուցել ենք Խոսող ավտոմատացում: Երբ դուք բջջային հեռախոսով ձայնային հրաման կուղարկեք, այն կմիացնի տնային սարքերը և հետադարձ կապ կուղարկի
Մարտկոցով աշխատող Wi-Fi խելացի կոճակ ՝ HUE լույսերը կառավարելու համար. 5 քայլ (նկարներով)
Մարտկոցով աշխատող Wi-Fi խելացի կոճակ ՝ HUE լույսերը վերահսկելու համար. Այս նախագիծը ցույց է տալիս, թե ինչպես կարելի է մարտկոցով աշխատող IoT Wi-Fi կոճակ կառուցել 10 րոպեից պակաս ժամանակում: Կոճակը վերահսկում է HUE լույսերը IFTTT- ի վրա: Այսօր դուք կարող եք էլեկտրոնային սարքեր կառուցել և դրանք միացնել խելացի տան այլ սարքերին բառացիորեն րոպեների ընթացքում: Ինչ
Arduino- ի ցուցատախտակի լույսերը `3 քայլ
Arduino Scoreboard Lights. Սա նախագիծ է, որը ես պատրաստել եմ սուսերամարտի ցուցատախտակի մի հատվածի համար: Ես ուզում էի մի բան, որը ազդանշան արձակեց և լուսավորվեր: Շուտով ես հասկացա, որ դուք կարող եք տեխնիկապես օգտագործել սա շատ տարբեր մարզաձևերի համար և ոչ միայն սուսերամարտի համար: Այն, ինչ իրականում անում է նախագիծը, ես
Եկեղեցու լույսերը `4 քայլ
Եկեղեցու լույսերը. Ես մտածեցի այս Ուղեցույցի գաղափարի մասին ՝ կարդալով հետևյալ հոդվածը. https://www.instructables.com/id/Cheap-Colour-Ligh
IoT ցանցի վերահսկիչ: Մաս 9. IoT, տան ավտոմատացում. 10 քայլ (նկարներով)
IoT ցանցի վերահսկիչ: Մաս 9. IoT, տան ավտոմատացում. Հերքում ՍՏԱԵՔ ԱՅՍ ԱՌԱԻՆ Այս հրահանգը մանրամասն ներկայացնում է մի նախագիծ, որն օգտագործում է էլեկտրական էներգիա (այս դեպքում ՝ UK 240VAC RMS), մինչդեռ ամեն ինչ արվել է անվտանգ պրակտիկայի և դիզայնի լավ սկզբունքների օգտագործման համար, միշտ կա պոտենցիալ մահացու վտանգ: ընտրել