Përmbajtje:
- Hapi 1: Teoria
- Hapi 2: Projektimi
- Hapi 3: Të dhënat teknike: API
- Hapi 4: Detajet teknike: Pajisje kompjuterike
- Hapi 5: Detajet teknike: Lidhja e pikave | Automatizimi në shtëpi
- Hapi 6: Përfundimi.
Video: Dritat e Ramazanit - Automatizimi i shtëpisë IOT: 6 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:20
Ndërsa Ramazani troket në derë, qytetet në mbarë botën ndriçojnë dhe përgatiten për muajin e agjërimit. Dritat janë varur në sheshet publike dhe nëpër rrugët e qytetit, si dhe në muret e jashtme të shtëpive të ndriçuara gjatë netëve deri në lindjen e diellit në mëngjes.
Në këtë projekt, unë do të doja të ndaj kontributin tim, në të cilin po automatizoj ndriçimin e këtyre dekorimeve bazuar në kohën e Adhanit dhe duke e shtuar këtë në sistemin tim të zgjuar të shtëpisë.
Hapi 1: Teoria
Në thelb, është më e lehtë dhe më e zbatueshme të automatizosh ndriçimin bazuar në intensitetin e dritës së diellit, për shembull. Sidoqoftë, unë do të doja që kjo të kishte frymën e muajit të shenjtë, domethënë, dritat do të ndizen për aq kohë sa njerëzit lejohen të hanë gjatë muajit të agjërimit. Në veçanti, dritat ndizen duke filluar nga Ezani i Magjribit deri në Ezanin e Kadrit çdo ditë pa ndonjë ndërveprim njerëzor.
Hapi 2: Projektimi
Më poshtë do të listoj kërkesat/aftësitë e këtij projekti:
- Sistemi duhet të jetë në gjendje të përpunojë automatikisht kur fillon.
- Sistemi duhet të jetë në gjendje të ekzekutojë periodikisht algoritmin e vendimit (ON/OFF).
- Sistemi duhet të jetë në gjendje të thërrasë API çdo ditë.
- Sistemi duhet të jetë në gjendje të rikuperohet nga rinisja e paplanifikuar.
- Sistemi duhet të ekzekutojë algoritmin e vendimit (ON/OFF) me marrjen e të dhënave në çast.
- Sistemi duhet të sigurojë një çelës për ndezjen e modalitetit të autopilotit (modaliteti automatik).
- Sistemi duhet të sigurojë një ndërprerës për ndezjen/fikjen e dritave me dorë.
- Aktivizimi i ndërprerësit manual duhet të vendosë modalitetin manual në OFF.
- Kur modaliteti automatik është ON, rezultati i algoritmit të vendimit duhet të reflektohet në çelësin manual ON/OFF.
Hapi 3: Të dhënat teknike: API
Për ta bërë teorinë të zbatueshme, kërkohet të dimë kohën e Ezanit në baza ditore që nga ndryshorja e saj dhe të veprojmë sipas saj për të ndezur/fikur dritat/dekorimet.
Për këtë qëllim, vendosa të përdor një API të bazuar në vendndodhje për t'i shërbyer të dhënave (koha për Ezan)
muslimsalat.com/api/#location
- Ky API siguron një sërë opsionesh dhe parametrash konfigurimi të përshkruar në lidhjen e dokumentacionit më lart.
- Rekomandohet të përdorni çelësin tuaj API i cili është falas pas regjistrimit.
- Në modelin tim, unë jam i interesuar për një afat kohor ditor.
- Koha e kthyer është në formatin 12 orë (AM/PM).
- Për sa i përket vendndodhjes, do të doja që ky API të mund të siguronte mundësi më të sakta për lokacionet si sistemi i koordinatave gjeografike të koordinatave (gjerësia dhe gjatësia gjeografike). Për këtë mënyrë, ky API mund të pajiset me një emër qyteti për shembull dhe kjo është mjaft e mjaftueshme në shumicën e rasteve. Fatkeqësisht, rezultatet e qytetit tim specifik ishin mjaft të njëanshëm në teste të shumta dhe kishte disa minuta ndryshim kur krahasohej koha e Ezanit midis rezultateve të API dhe kohës aktuale të Ezanit në qytetin tim. Nga ana tjetër, rezultatet u përputhen në mënyrë perfekte kur sigurova një qytet të afërt në veri dhe i qëndrova atij!
- URL -ja API që po përdor është: https://muslimsalat.com/.json? Key =
Hapi 4: Detajet teknike: Pajisje kompjuterike
Për thjeshtësi, po e lë harduerin jashtë procesit të sinkronizimit me API dhe llogaritjen e kohës duke i deleguar këto operacione në Sistemin tim të Automatizimit të Shtëpisë. Kjo do të më japë më shumë kontroll nëse dua të ndryshoj burimin API dhe algoritmin e llogaritjes.
Duke thënë këtë, unë përdor një ESP8266 (NodeMCU) për t'u lidhur me rrjetin lokal përmes WIFI dhe një modul stafetë si një aktivizues. NodeMCU do të përdorë protokollin MQTT dhe do të dëgjojë për një temë të veçantë për të marrë komanda për të ndezur/fikur stafetën. Aq e thjeshtë sa kaq!
Hapi 5: Detajet teknike: Lidhja e pikave | Automatizimi në shtëpi
My RaspberryPi mban një shembull me nyje i cili është i aftë të trajtojë gjithçka që më nevojitet për këtë projekt. Ai gjithashtu ka një server MQTT të instaluar për të publikuar mesazhet tona.
Në fillim, mendova se mund të marr të dhënat API në baza ditore në orën 9 të mëngjesit dhe të nxjerr kohën e sabahut dhe të Mahgrib Adhanit dhe të krahasoj kohën aktuale me këto variabla që janë:
secila 30 sekonda:
nëse: Mahgrib <TANI <Fajr e vërtetë | ndez dritat | publikoni një mesazh ON për temën tjetër të specifikuar MQTT: fikeni
Për të krahasuar kohën, unë po i konvertoj orët e siguruara nga API nga hh: mm (AM/PM) në formate të datës së plotë duke e vendosur pjesën e datës në një datë të papërfillshme në histori p.sh. (1/1/1970) pasi po krahasojmë kohën vetëm në kohën aktuale (pjesa e datës gjithashtu konvertohet).
Fatkeqësisht, kjo do të funksionojë vetëm në raste të drejtpërdrejta. Supozoni rastin kur energjia elektrike bie ose sistemi riniset për një arsye të paplanifikuar. Nëse ky rast ndodh para orës 12 të mëngjesit, atëherë ne jemi ende në anën e sigurt, por pas orës 12 të mëngjesit kjo do të dështojë në algoritmin tonë të thjeshtë.
Për të dhënë një shembull, le të bëjmë Magrib Ezan në 7:30 pasdite dhe Fajr në 4:10 paradite. Kur sistemi të fillojë, ai do të dërgojë një kërkesë të re për të marrë të dhënat e përmendura më herët. Nëse koha tani është 1:45 e mëngjesit, ne presim që algoritmi ynë të kthehet i vërtetë, por në fakt nuk do të ndodhë sepse 1:45 e mëngjesit është më pak se sabah (4:10 paradite), por nuk është më i madh se Magribi (7:30 pasdite). Kjo ndodh sepse ne bashkojmë datën midis të gjitha ndryshoreve. Më poshtë është versioni përfundimtar i algoritmit (deri më tani):
secila 30 sekonda:
nëse ((magrib.getHours ()> = 12 && fajr.getHours () <= 12) || fajr <maghrib) {fajr.setDate (fajr.getDate ()+1); // trajtoni ditët e shtrirjes endTime if (now.getHours () <= 12) {now.setDate (now.getDate ()+1); // trajtoni ditët që përfshijnë currentTime}} // më poshtë është blloku i kodit të mëparshëm nëse: Mahgrib <TANI <Fajr i vërtetë | ndez dritat | publikoni një mesazh ON për temën e specifikuar MQTT tjetër: false | fikur
Rrjedha e plotë e procesit shënohet në imazhin e mësipërm.
Për sa i përket UI, shtova 2 ndërprerës në ndërfaqen/ndërfaqen:
- Një çelës për ta kthyer këtë proces në Automatik ose Manual.
- Një çelës për të ndezur/fikur dritat me dorë.
Hapi 6: Përfundimi.
Koha fluturon për të mos u kujtuar kurrë. Bërja e projekteve të tilla të thjeshta 1-ditore ju lejon të merrni frymë në këtë korsi të shpejtë dhe t'ju ndihmojë të ringjallni aftësitë tuaja të buta me kalimin e kohës.
Unë u përpoqa aq shumë në këtë projekt për ta mbajtur atë të thjeshtë dhe të ripërdorshëm në të gjithë globin.
Votoni me mirësi për këtë udhëzues nëse mendoni se ky projekt e meriton.
Gëzuar Ramazanin!
Recommended:
Kontrolloni dritat e shtëpisë me Google Assistant duke përdorur Arduino: 7 hapa
Kontrolli i dritave të shtëpisë me ndihmësin e Google duke përdorur Arduino: (Përditëso më 22 gusht 2020: Ky udhëzues është 2 vjeç dhe mbështetet në disa aplikacione të palëve të treta. Çdo ndryshim nga ana e tyre mund ta bëjë këtë projekt jo funksional. Mund ose jo punoni tani, por mund ta ndiqni si referencë dhe të modifikoni sipas
Si të bëni automatizimin e shtëpisë të bazuar në IoT me stafetë kontrolli të sensorëve NodeMCU: 14 hapa (me fotografi)
Si të bëni automatizim të bazuar në IoT në shtëpi me stafetën e kontrollit të sensorëve NodeMCU: Në këtë projekt të bazuar në IoT, unë kam bërë Automatizimi i Shtëpisë me modulin e stafetës së kontrollit Blynk dhe NodeMCU me reagime në kohë reale. Në modalitetin manual, ky modul stafetë mund të kontrollohet nga celulari ose smartphone dhe, kaloni manual. Në modalitetin automatik, kjo zhurmë
Si të kontrolloni dritat/dritat e shtëpisë duke përdorur Arduino dhe Amazon Alexa: 16 hapa (me fotografi)
Si të kontrolloni dritat/dritat e shtëpisë duke përdorur Arduino dhe Amazon Alexa: Unë kam shpjeguar se si të kontrolloj dritën e cila lidhet me UNO dhe kontrollohet nga Alexa
Dritat interaktive të oborrit, Dritat e shtegut: 3 hapa
Dritat interaktive të oborrit, Dritat e shtegut: Doja të ndërtoja një lloj ndriçimi të ndriçimit të oborrit për oborrin tim të pasmë. Ideja ishte, kur dikush ecte në një drejtim do të niste një animacion në drejtimin që ju po ecnit. Fillova me dritat diellore Dollar General 1.00 dollarë
Dritat e Krishtlindjeve DIY të vendosura në muzikë - Dritat e shtëpisë me koreografi: 15 hapa (me fotografi)
DIY Dritat e Krishtlindjeve të vendosura në muzikë - Dritat e shtëpisë me koreografi: DIY Dritat e Krishtlindjeve të vendosura në Muzikë - Dritat e Shtëpisë së Koreografuar Kjo NUK është një DIY fillestare. Ju do të keni nevojë për një kontroll të fortë në elektronikë, qarkullim, programim BASIC dhe zgjuarsi të përgjithshme në lidhje me sigurinë elektrike. Ky DIY është për një person me përvojë, kështu që