Obsah:
- Krok 1: Teória
- Krok 2: Dizajn
- Krok 3: Technické detaily: API
- Krok 4: Technické detaily: Hardvér
- Krok 5: Technické detaily: Pripojenie bodiek | Domáca automatizácia
- Krok 6: Balenie.
Video: Ramadánové svetlá - Domáca automatizácia IOT: 6 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:58
Ako ramadán klope na dvere, mestá na celom svete sa rozžiaria a pripravia sa na mesiac pôstu. Svetlá sú zavesené na verejných námestiach a v uliciach miest, ako aj na vonkajších stenách domov osvetlených v noci, kým ráno nevyjde slnko.
V tomto projekte by som sa chcel podeliť o svoj príspevok, v ktorom automatizujem rozsvietenie týchto dekorácií na základe Adhanových časov a pridávam ich do svojho systému inteligentnej domácnosti.
Krok 1: Teória
V zásade je jednoduchšie a použiteľnejšie automatizovať osvetlenie napríklad na základe intenzity slnečného svetla. Chcel by som však, aby to malo ducha svätého mesiaca, to znamená, že svetlá sa budú rozsvietiť, pokiaľ budú ľudia počas pôstneho mesiaca môcť jesť. Najmä svetlá sa začínajú každý deň od Maghriba Adhana po Fajra Adhana bez akejkoľvek ľudskej interakcie.
Krok 2: Dizajn
Nasleduje zoznam požiadaviek/schopností tohto projektu:
- Systém by mal byť schopný automaticky spracovávať pri štarte.
- Systém by mal byť schopný periodicky vykonávať rozhodovací (ON/OFF) algoritmus.
- Systém by mal byť schopný denne volať API.
- Systém by mal byť schopný zotaviť sa z neplánovaného reštartu.
- Systém by mal ihneď po prijatí údajov vykonať rozhodovací (ON/OFF) algoritmus.
- Systém by mal poskytnúť spínač na zapnutie režimu autopilota (automatický režim).
- Systém by mal poskytnúť prepínač na manuálne zapínanie a vypínanie svetiel.
- Spúšťaním manuálneho prepínača by ste mali manuálny režim prepnúť do polohy OFF.
- Keď je automatický režim ZAPNUTÝ, výsledok rozhodovacieho algoritmu by sa mal odraziť na ručnom prepínači ZAP/VYP.
Krok 3: Technické detaily: API
Aby bola teória použiteľná, je potrebné poznať čas Adhan na denných základoch od jeho premenných a podľa neho zapnúť/vypnúť svetlá/dekorácie.
Na tento účel som sa rozhodol použiť na poskytovanie údajov API založené na umiestnení (čas pre Adhana)
muslimsalat.com/api/#location
- Toto API poskytuje množstvo možností a konfiguračných parametrov popísaných v odkaze na dokumentáciu vyššie.
- Odporúčame vám použiť vlastný kľúč API_, ktorý je pri registrácii bezplatný.
- Vo svojom návrhu ma zaujíma denná časová os.
- Vrátený čas je vo formáte 12 hodín (AM/PM).
- Pokiaľ ide o polohu, prial by som si, aby toto API poskytovalo presnejšie možnosti pre polohy, ako je súradnicový systém geografických súradníc (zemepisná šírka a dĺžka). Na tento účel môže byť tomuto API napríklad poskytnutý názov mesta a vo väčšine prípadov to úplne stačí. Výsledky môjho konkrétneho mesta boli bohužiaľ vo viacerých testoch dosť skreslené a pri porovnávaní času Adhan medzi výsledkami API a skutočným časom Adhan v mojom meste bol niekoľko minútový rozdiel. Na druhej strane sa výsledky dokonale zhodovali, keď som poskytol blízke mesto na severe a toho som sa držal!
- URL, ktorú používam, je: https://muslimsalat.com/.json? Key =
Krok 4: Technické detaily: Hardvér
Pre jednoduchosť hardvér vynechávam z procesu synchronizácie s API a výpočtu času delegovaním týchto operácií na môj domáci automatizačný systém. To mi poskytne väčšiu kontrolu, ak chcem vyladiť zdroj API a algoritmus výpočtu.
Keď som to povedal, použil som ESP8266 (NodeMCU) na pripojenie k miestnej sieti prostredníctvom WIFI a reléový modul ako pohon. NodeMCU bude používať protokol MQTT a počúvať konkrétnu tému, aby získal príkazy na zapnutie/vypnutie relé. Také jednoduché!
Krok 5: Technické detaily: Pripojenie bodiek | Domáca automatizácia
Môj RaspberryPi má uzlovanú inštanciu, ktorá je schopná zvládnuť všetko, čo pre tento projekt potrebujem. Má tiež nainštalovaný server MQTT na publikovanie našich správ.
Najprv som si myslel, že môžem načítať údaje API na denných základniach o 9:00 a extrahovať časy Fajra a Mahgriba Adhana a pokračovať v porovnávaní aktuálneho času s týmito premennými, tj.
každých 30 sekúnd:
ak: Mahgrib <TERAZ <Fajr pravda | zapnite svetlá | publikovať ON správu na zadanú tému MQTT inak: vypnúť
Na porovnanie času prevádzam hodiny poskytnuté rozhraním API z hh: mm (AM/PM) na úplný formát dátumu nastavením časti dátumu na zanedbateľný dátum v histórii, napr. (1/1/1970), pretože porovnávame čas iba na aktuálny čas (prepočíta sa aj časť dátumu).
Bohužiaľ to bude fungovať iba v jednoduchých prípadoch. Predpokladajme, že dôjde k výpadku elektrickej energie alebo sa systém z neplánovaného dôvodu reštartuje. Ak k tomuto prípadu dôjde pred 12:00, sme stále na bezpečnej strane, ale po 12:00 to náš jednoduchý algoritmus zlyhá.
Ako príklad uvedieme Magrib Adhan o 19:30 a Fajr o 4:10. Keď sa systém spustí, odošle novú požiadavku na načítanie vyššie uvedených údajov. Ak je teraz čas 1:45 AM, očakávame, že sa náš algoritmus vráti na pravdivý, ale v skutočnosti to nebude, pretože 1:45 AM je menší ako Fajr (4:10 AM), ale nie je väčší ako Magrib (19:30). Dôvodom je, že spájame dátum medzi všetkými premennými. Nasleduje konečná verzia algoritmu (zatiaľ):
každých 30 sekúnd:
if ((magrib.getHours ()> = 12 && fajr.getHours () <= 12) || fajr <maghrib) {fajr.setDate (fajr.getDate ()+1); // zvládnuť celé dni endTime if (now.getHours () <= 12) {now.setDate (now.getDate ()+1); // handle spanning days currentTime}} // nižšie je predchádzajúci blok kódu, ak: Mahgrib <TERAZ <Fajr true | zapnite svetlá | publikovať ON správu na zadanú tému MQTT else: false | vypnúť
Kompletný priebeh postupu je anotovaný na obrázku vyššie.
Pokiaľ ide o používateľské rozhranie, do používateľského rozhrania/rozhrania som pridal 2 prepínače:
- Prepínač, ktorým sa tento proces zmení na automatický alebo manuálny.
- Prepínač na manuálne zapnutie/vypnutie svetiel.
Krok 6: Balenie.
Čas letí, aby sa naň nikto nespomenul. Realizácia takýchto jednoduchých 1-dňových projektov vám umožní nadýchnuť sa v tomto rýchlom pruhu a pomôže vám časom oživiť vaše mäkké schopnosti.
V tomto projekte som sa snažil tak veľa, aby bol jednoduchý a opakovane použiteľný na celom svete.
Láskavo Hlasujte za tento pokyn, ak si myslíte, že si tento projekt zaslúži.
Šťastný ramadán!
Odporúča:
Hovorová automatizácia -- Zvuk z Arduina -- Hlasom riadená automatizácia -- Modul Bluetooth HC - 05: 9 krokov (s obrázkami)
Hovorová automatizácia || Zvuk z Arduina || Hlasom riadená automatizácia || Modul Bluetooth HC - 05: …………………………. REGISTRUJTE SA na môj kanál YouTube pre ďalšie videá …. …. V tomto videu sme vytvorili Talkative Automation .. Keď odošlete hlasový príkaz cez mobil, zapne domáce zariadenia a odošle spätnú väzbu
Automatizácia skleníka s LoRa! (Časť 2) -- Motorický otvárač okien: 6 krokov (s obrázkami)
Automatizácia skleníka s LoRa! (Časť 2) || Motorický otvárač okien: V tomto projekte vám ukážem, ako som pre svoj skleník vytvoril motorický otvárač okien. To znamená, že vám ukážem, aký motor som použil, ako som navrhol skutočný mechanický systém, ako poháňam motor a nakoniec, ako som použil Arduino LoRa
AUTOMATIZÁCIA POUŽÍVAJÚCA PIR SENZOR: 5 krokov
AUTOMATIZÁCIA POUŽÍVAJÚCA PIR SENZOR: PIR senzory alebo pasívne infračervené senzory sú určitý typ senzorov, ktoré detekujú infračervené žiarenie. Všetky teplokrvné bytosti, ako sú ľudia alebo zvieratá, vyžarujú určité množstvo infračerveného žiarenia alebo tepla, ktoré je možné detegovať infračervenými snímačmi. Aktívne IR senzory
Automatizácia skleníka s LoRa! (Časť 1) -- Senzory (teplota, vlhkosť, pôdna vlhkosť): 5 krokov
Automatizácia skleníka s LoRa! (Časť 1) || Senzory (teplota, vlhkosť, pôdna vlhkosť): V tomto projekte vám ukážem, ako som automatizoval skleník. To znamená, že vám ukážem, ako som postavil skleník a ako som zapojil výkonovú a automatizačnú elektroniku. Tiež vám ukážem, ako naprogramovať dosku Arduino, ktorá používa L
DIY AUTOMATIZÁCIA DOMÁCNOSTI - Vymeňte tradičné svetelné spínače: 5 krokov
DIY AUTOMATIZÁCIA DOMÁCNOSTI - Vymeňte tradičné svetelné spínače: Zapnite alebo vypnite OSVETLENIE pomocou dotykových senzorov Vlastnosti: Kapacitné dotykové senzory slúžia na zapnutie svetiel namiesto tradičných mechanických spínačov. Senzory PIR pre automatické svetlá