Мазмуну:
- 1 -кадам: Теория
- 2 -кадам: Дизайн
- 3 -кадам: Техникалык маалымат: API
- 4 -кадам: Техникалык маалымат: Аппараттык
- 5 -кадам: Техникалык маалымат: чекиттерди туташтыруу | Үй автоматизациясы
- 6 -кадам: Жыйынтыктоо
Video: Рамазан нурлары - Үй автоматташтыруу IOT: 6 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:40
Рамазан эшигин каккылаганда, дүйнө жүзүндөгү шаарлар жарык болуп, орозо айына даярданышат. Жарыктар коомдук аянттарда жана шаардын көчөлөрүндө, ошондой эле түнкүсүн жарыктандырылган үйлөрдүн сырткы дубалдарында эртең менен күн чыкканга чейин илинет.
Бул долбоордо мен Азхан убактысынын негизинде бул жасалгаларды жарыктандырууну автоматташтырып, муну акылдуу үй системама кошуп жаткан салымымды бөлүшкүм келет.
1 -кадам: Теория
Негизинен, мисалы, күндүн нурунун интенсивдүүлүгүнө негизделген жарыктандырууну автоматташтыруу оңой жана көбүрөөк колдонулат. Бирок, мен муну ыйык айдын рухуна ээ болгум келет, башкача айтканда, орозо айында адамдар тамактанууга уруксат берилгенде, чырактар күйөт. Тактап айтканда, шамдар ар бир күнү Магриб Азандан баштап Багымдат Азанга чейин эч кандай адам катышуусу жок күйүп турат.
2 -кадам: Дизайн
Төмөндө мен бул долбоордун талаптарын/мүмкүнчүлүктөрүн тизмелеп берем:
- Система жүктөөдө автоматтык түрдө иштете алгыдай болушу керек.
- Система чечимди (ON/OFF) мезгил -мезгили менен аткара алгыдай болушу керек.
- Система күн сайын APIге чала алышы керек.
- Система пландаштырылбаган өчүрүүдөн калыбына келиши керек.
- Система маалыматты дароо алганда чечимди (ON/OFF) аткарышы керек.
- Система автопилот режимин күйгүзүү үчүн которууну камсыздашы керек (Автоматтык режим).
- Система жарыкты кол менен күйгүзүү/өчүрүү үчүн которууну камсыздашы керек.
- Кол которгучту иштетүү, кол режимин ӨЧҮКкө коюу керек.
- Автоматтык режим КҮЙҮК болгондо, чечимдин алгоритминин натыйжасы КҮЙГҮЗҮҮ/ӨЧҮРҮҮ колго чагылдырылышы керек.
3 -кадам: Техникалык маалымат: API
Теорияны колдонуу үчүн, Азандын убактысын күнүмдүк негизде билүү жана анын чырактарын/жасалгаларын күйгүзүү/өчүрүү үчүн аракет кылуу керек.
Ушул максатта, мен маалыматтарды тейлөө үчүн жайгашкан жерге негизделген API колдонууну чечтим (Азан убактысы)
muslimsalat.com/api/#location
- Бул API жогоруда документтердин шилтемесинде сүрөттөлгөн ар кандай параметрлерди жана конфигурация параметрлерин камсыз кылат.
- Каттоодо бекер болгон API_key'ти колдонуу сунушталат.
- Менин дизайнымда, мен күнүмдүк убакыт графигине кызыгам.
- Кайтарылган убакыт 12 саат форматында (AM/PM).
- Жайгашкан жери боюнча, эгерде бул API географиялык координаттар системасы (Кеңдик жана Узундук) сыяктуу жерлер үчүн такыраак параметрлерди бере алса деп тиледим. Бул үчүн, бул API, мисалы, шаардын аталышы менен камсыз кылынышы мүмкүн жана бул көпчүлүк учурда жетиштүү. Тилекке каршы, менин конкреттүү шаарымдын жыйынтыктары бир нече сыноолордо бир жактуу болгон жана азан убактысын API жыйынтыктары менен менин шаарымдагы Азандын чыныгы убактысы салыштырганда бир нече мүнөттүк айырмачылыктар болгон. Башка жагынан алганда, мен түндүктө жакын шаарды камсыз кылып, мен аны карманып турганымда, натыйжалар эң сонун дал келди!
- Мен колдонгон API url: https://muslimsalat.com/.json? Key =
4 -кадам: Техникалык маалымат: Аппараттык
Жөнөкөйлүк үчүн, мен аппараттык жабдууларды API менен синхрондоштуруу процессинен жана бул операцияларды шахтанын үй автоматташтыруу системасына өткөрүп берүү менен калтырып жатам. Бул API булагын жана эсептөө алгоритмин өзгөртүүнү кааласам, мага көбүрөөк көзөмөл берет.
Муну айткандан кийин, мен WSPI аркылуу жергиликтүү тармакка туташуу үчүн ESP8266 (NodeMCU) жана реле модулун активатор катары колдондум. NodeMCU MQTT протоколун колдонот жана релени күйгүзүү/өчүрүү боюнча буйруктарды алуу үчүн белгилүү бир теманы угат. Ушунчалык жөнөкөй!
5 -кадам: Техникалык маалымат: чекиттерди туташтыруу | Үй автоматизациясы
Менин RaspberryPiде бул долбоорго керектүү нерселердин бардыгын иштете алган, чекит коюлган экземпляр бар. Ал ошондой эле биздин билдирүүлөрдү жарыялоо үчүн орнотулган MQTT серверине ээ.
Башында, мен API маалыматтарын күндүзгү саат 9да алып, Багымдат жана Махгриб Азан убактысын чыгарып, учурдагы убакытты бул өзгөрмөлөр менен салыштырып турам деп ойлогом:
ар бир 30 сек:
эгер: Mahgrib <АЗЫР <Багымдат чын | жарыкты күйгүзүү | көрсөтүлгөн MQTT темасына ON билдирүүсүн жарыялоо башка: өчүрүү
Убакытты салыштыруу үчүн, мен API тарабынан берилген сааттарды hh: mm (AM/PM) чейин толук күн форматына айландырып жатам, анткени дата бөлүгүн тарыхта анча маанилүү эмес күнгө коюу менен (мисалы, 1/1/1970), анткени биз убакытты салыштырып жатабыз. бир гана учурдагы убакытка (дата бөлүгү да которулат).
Тилекке каршы, бул түздөн -түз учурларда гана иштейт. Пландаштырылбаган себептерден улам электр энергиясы өчүп же тутум кайра башталганда дейли. Эгерде бул иш саат 12ге чейин болсо, анда биз дагы деле коопсуз тараптабыз, бирок 12.00дөн кийин бул биздин жөнөкөй алгоритмибизди бузат.
Мисал келтирүү үчүн, келгиле, Магриб Адханды 19: 30да жана Фажрды 4: 10до. Тутум жүктөлгөндө, ал мурда айтылган маалыматтарды алуу үчүн жаңы суроо жөнөтөт. Эгерде азыр саат 1:45 болсо, биз алгоритмибиздин чындыкка кайтып келишин күтөбүз, бирок чындыгында андай болбойт, анткени 1:45 AM таңкы убакттан (4:10 AM) аз, бирок Магрибтен (19:30 PM) жогору эмес. Бул биз бардык өзгөрмөлөрдүн ортосундагы датаны бириктиргендиктен. Алгоритмдин акыркы версиясы төмөндө (азырынча):
ар бир 30 сек:
if ((magrib.getHours ()> = 12 && fajr.getHours () <= 12) || fajr <maghrib) {fajr.setDate (fajr.getDate ()+1); // иштетүүчү күндөрдү endTime if (now.getHours () <= 12) {now.setDate (now.getDate ()+1); // тутумдарды камтыган күндөр CurrentTime}} // төмөндө мурунку код блогу, эгерде: Mahgrib <АЗЫР <Фажр чын | жарыкты күйгүзүү | көрсөтүлгөн MQTT темасына ON билдирүүсүн жарыялоо башка: жалган | өчүрүү
Процестин толук агымы жогорудагы сүрөттө аннотацияланган.
UI жагынан мен UI/интерфейске 2 өчүргүч коштум:
- Бул процессти автоматтык же кол менен иштетүү үчүн которгуч.
- Жарыкты кол менен күйгүзүү/өчүрүү үчүн которгуч.
6 -кадам: Жыйынтыктоо
Убакыт эч качан эстен кетпейт. Мындай жөнөкөй 1 күндүк долбоорлорду аткаруу бул ылдам жолдо дем алып, убакыттын өтүшү менен жумшак жөндөмүңүздү жандандырууга жардам берет.
Мен бул долбоордо бүткүл дүйнөдө жөнөкөй жана кайра колдонууга аракет кылдым.
Эгерде сиз бул долбоорго татыктуу деп ойлосоңуз, анда бул үйрөткүчкө добуш бериңиз.
Рамазан кут болсун!
Сунушталууда:
Esp8266 (aREST, MQTT, IoT) аркылуу Интернет/булут көзөмөлдөгөн үйдү автоматташтыруу: 7 кадам (Сүрөттөр менен)
Esp8266 (aREST, MQTT, IoT) аркылуу Интернет/булут аркылуу башкарылуучу үй автоматташтырылышы: БАРДЫК кредиттер http://arest.io/ булут кызматы үчүн !! IoT азыр дүйнөдө эң көп талкууланган тема !! Булут серверлери жана кызматтары - бул азыркы дүйнөнүн кызыктыруучу жери … АЛЫСТЫК БАРЬЕРДИ ЧЫГАРУУ - бул болгон жана болуп саналат
IOT негизиндеги үйдү автоматташтыруу: 4 кадам
IOT негизиндеги үйдү автоматташтыруу: Бул кантип иштейт: Мен esp8266 NodeMcu тарабынан 4 релесин көзөмөлдөө үчүн ыңгайлаштырылган схема жасайм. Бул схема DC 12 вольт 1 ампердик кубатта иштейт. nodemcu күйгүзүлгөндө WiFi аркылуу сизге роутер туташат & Ошондой эле Blynk серверине туташыңызСиздин акылдуу телефонуңуз үтүр жиберет
Ретро сүйлөө синтези. Бөлүм: 12 IoT, Үйдү автоматташтыруу: 12 кадам (Сүрөттөр менен)
Ретро сүйлөө синтези. Бөлүм: 12 IoT, Үйдү автоматташтыруу: Бул макала IoT Retro Speech Synthesis түзмөгүн учурдагы үй автоматташтыруу тутумуна кантип түзүү жана интеграциялоону документтештирүүчү үй автоматташтыруу боюнча сериядагы 12 -макаланы камтыйт
IoT Mains Controller. 9 -бөлүк: IoT, Үйдү автоматташтыруу: 10 кадам (Сүрөттөр менен)
IoT Mains Controller. 9 -бөлүк: IoT, Home Automation: Disclaimer БУЛ БИРИНЧИ ОКУУ Бул Нускоодо электр энергиясын колдонуучу проект (бул жерде Улуу Британия 240VAC RMS) деталдуу түрдө камтылган, ал эми коопсуз практика жана жакшы дизайн принциптерин колдонуу үчүн өлүмгө алып келүү коркунучу бар тандоо
WiFi IoT температура жана нымдуулук сенсору. Бөлүм: 8 IoT, Үйдү автоматташтыруу: 9 кадам
WiFi IoT температура жана нымдуулук сенсору. Бөлүм: 8 IoT, Үйдү автоматташтыруу: Преамбула Бул макала практикалык катаалданууну жана мурунку инструкциянын алдыга карай өнүгүүсүн документтештирет: биринчи IoT WiFi түзмөгүңүздү "пимпинг". 4 -бөлүк: IoT, Үйдү автоматташтыруу, анын ичинде ийгиликке жетүү үчүн керектүү бардык программалык камсыздоолор