Мазмұны:

IDC2018IOT Айнымалы токты қашан өшіру керектігін айтыңыз: 7 қадам
IDC2018IOT Айнымалы токты қашан өшіру керектігін айтыңыз: 7 қадам

Бейне: IDC2018IOT Айнымалы токты қашан өшіру керектігін айтыңыз: 7 қадам

Бейне: IDC2018IOT Айнымалы токты қашан өшіру керектігін айтыңыз: 7 қадам
Бейне: IDC European IoT Summit 2018 2024, Қараша
Anonim
Image
Image

Біздің көпшілігіміз, әсіресе жаз мезгілінде, айнымалы токты тоқтаусыз қолданамыз, ал шын мәнінде күннің белгілі бір уақытында біз терезені ашып, жақсы желмен рахаттана аламыз. Сондай -ақ, біз энергияны және ақшаны ысырап етіп, бөлмеден шыққанда айнымалы токты өшіруді ұмытып кететінімізді байқадық.

Біз шешетін шешім ішкі температураны сыртқы температурамен салыстырады, ал олар жеткілікті жақын болған кезде бізге Facebook Messanger арқылы терезені ашып, айнымалы токқа тыныштық беретін уақыт келді деп хабарлайды.

Сонымен қатар, біз айнымалы токты ұмытып, бөлмеден шыққан кезде бізге хабарлаудың басқа механизмін жасаймыз.

1 -қадам: толығырақ

Біз деректерді 4 түрлі сенсордан жинаймыз:

  • DHT -тің екі сенсоры үй ішіндегі және үйдің сыртындағы температураны жинайды.
  • Бір PIR сенсоры бөлмедегі қозғалысты анықтайды.
  • Айнымалы ток өткізгіштен шығатын желді анықтау үшін бір Электрет микрофоны қолданылады, бұл айнымалы токтың қосылғанын анықтаудың қарапайым және сенімді әдісі.

Датчиктерден алынған деректер өңделеді және Blynk -ке жіберіледі, онда ол біз жасайтын интерфейсте көрсетіледі. Сондай -ақ, біз пайдаланушыға айнымалы токтың орнына терезені аша алатынын және ол айнымалы токты ұмытып, алдын ала белгіленген уақыт ішінде бөлмеден шыққан кезде пайдаланушыға хабарлау үшін IFTTT оқиғаларын іске қосамыз.

Blynk интерфейсі бізге сәйкес параметрлерді пайдаланушының қалауына сәйкес өзгертуге мүмкіндік береді, өйткені біз толығырақ кейінірек талқылаймыз.

Қажетті бөлшектер:

  1. WiFi модулі - ESP8266
  2. PIR сенсоры.
  3. DHT11/DHT22 температура сенсорлары x2.
  4. 10k/4.7k резисторлары (DHT11 - 4.7k, DHT22 - 10k, PIR - 10k).
  5. Электрлі микрофон.
  6. Секіргіштер.
  7. Ұзын кабельдер (телефон сымы жақсы жұмыс жасайды).

Жобаның толық коды соңында код бойынша түсініктемелермен қоса беріледі.

Логикалық тұрғыдан алғанда, ол бірнеше түрлі функционалды қабаттарға ие:

  • Датчиктерден алынған мәліметтер 3 секунд аралықта оқылады, себебі ол дәлірек және бұдан артық қажет емес.
  • Кодтың бір бөлігі - айнымалы токтың ашылуының үстіне қойылған электрлік микрофоннан келетін мәндер бойынша айнымалы токтың күйін бақылау.
  • Тағы бір бөлігі - температура сенсорларынан келетін оқуды және айнымалы токты қосу және оның орнына терезені ашу үшін қолданылатын айырмашылықты қадағалау. Біз температура жеткілікті жақындаған сәтті іздейміз.
  • Үшінші бөлім - бөлмедегі қозғалысты бақылау. Егер ол пайдаланушы анықтаған уақыт ішінде ешқандай негізгі қозғалысты анықтамаса (мамандықты тексеру әдісі жақын арада түсіндіріледі) және айнымалы ток күйі қосулы болса, пайдаланушыға хабарлама жіберіледі.
  • Хабарламалар пайдаланушыға Facebook Messenger арқылы алдын ала анықталған хабарларды жіберетін IFTTT Webhooks арқылы іске қосылады.
  • Айта кету керек, соңғы бөлік - бұл Blynk интерфейсін өңдейтін бөлік, ол пайдаланушының айнымалыларға енгізетін өзгерістерін алу арқылы да, басқа жолмен - деректерді пайдаланушыға Blynk интерфейсіне жіберу арқылы.

2 -қадам: Толығырақ - сенсорлар

Толығырақ - сенсорлар
Толығырақ - сенсорлар
Толығырақ - сенсорлар
Толығырақ - сенсорлар

Бастайық.

Біріншіден, DHT сенсорларының екеуі де бір жерге қойылған кезде бірдей температураны оқитынына көз жеткізуіміз керек. Ол үшін біз осы бөлімнің соңында берілген қарапайым эскиз жасадық (CompareSensors.ino). Екі сенсорды да қосыңыз және эскиздегі DHT сенсорларының түрін сізде барына сәйкес өзгерткеніне көз жеткізіңіз (әдепкі бойынша бір DHT11 және бір DHT22, сондықтан кодта екеуінің де қалай жұмыс істейтінін көруге болады). Сериялық мониторды ашыңыз және оларға біраз уақыт жұмыс істеуге рұқсат етіңіз, әсіресе егер сіз DHT11 сенсорларын қолдансаңыз, олар температураның өзгеруіне бейімделуге көп уақыт алады.

Датчиктер арасындағы айырмашылыққа назар аударыңыз және оны кейінірек «офсеттік» айнымалыға негізгі кодқа енгізіңіз.

Сенсорлардың орналасуы:

Бір DHT сенсоры үйдің сыртқы қабырғасына қойылуы керек, сондықтан оны ESP8266 нөміріне жету үшін жеткілікті ұзын кабельдерге жалғап, оны сыртқа қойыңыз (терезеден оңай жасауға болады). Басқа DHT сенсоры айнымалы ток пайдаланатын бөлменің ішінде, тақтаға орналастырылуы керек.

Электрлік микрофон сонымен қатар жеткілікті ұзын кабельдерге қосылып, айнымалы токтан шығатын жел соғатын жерге орналастырылуы керек.

Соңында, PIR сенсоры бөлменің ортасына қарайтын жерде орналасуы керек, осылайша ол бөлмедегі барлық қозғалысты түсіреді. Датчиктің екі кішкене тұтқасы бар екенін ескеріңіз, олардың бірі кідірісті басқарады (қозғалысты анықтаудың ЖОҒАРЫ сигналы қанша уақыт бойы ЖОҒАРЫ сақталады), екіншісі сезімталдықты басқарады (суретті қараңыз).

Сізге қанағаттанарлық оқуды алғанға дейін онымен ойнау қажет болуы мүмкін. Біз үшін ең жақсы нәтиже - солға қарай кідіріс (ең төменгі мән) және дәл ортасында сезімталдық. Код барлық сенсорлардың оқуын қамтитын сериялық басып шығаруды қамтамасыз етеді, бұл мұндай мәселелерді түзетуді айтарлықтай жеңілдетеді.

Сенсорларды қосу:

Біз қолданған пин нөмірлері келесідей (және оларды негізгі кодта өзгертуге болады):

DHT сенсорының сыртында - D2.

DHT сенсорының ішінде - D3.

Электр - A0 (аналогтық түйреуіш).

PIR - D5.

Олардың әрқайсысын қосудың схемасын Google суретті іздеу көмегімен «Arduino PIR резисторы» сызығы бойымен оңай табуға болады (біз оларды осында көшіріп, авторлық құқықтың кез келген сызығынан өткіміз келмейді:)).

Біз сонымен қатар тақтайшамыздың суретін тіркедік, байланыстарды қадағалау қиын шығар, бірақ бұл оған жақсы әсер береді.

Сіз білетіндей, егер біз оларды бірінші рет қосқан кезде жұмыс істемейтін жағдайлар сирек кездеседі. Сондықтан біз сенсорлардың көрсеткіштерін оқуға ыңғайлы етіп басып шығаратын функция жасадық, осылайша сіз олардың жұмыс істеу жолын түзете аласыз. Егер кодты отладтау кезінде Blynk -ке қосылғысы келмесе, «Blynk.begin (auth, ssid, pass)» деп түсініктеме беріңіз; кодты орнату бөлімінен оны іске қосыңыз және басып шығаруды көру үшін сериялық мониторды ашыңыз. Біз сондай -ақ іздердің суретін тіркедік.

3 -қадам: Толығырақ - IFTTT тізбегі

Толығырақ - IFTTT тізбегі
Толығырақ - IFTTT тізбегі

Сондықтан біз екі сценарий бойынша хабарландыру алғымыз келеді:

1. Сыртқы температура бізде айнымалы ток жұмыс істейтін температураға жақын.

2. Біз бөлмеден ұзақ уақытқа шықтық, ал айнымалы ток жұмыс істейді.

IFTTT бізге әдетте өзара әрекеттеспейтін көптеген қызметтерді қосуға мүмкіндік береді. Біздің жағдайда бұл көптеген қызметтер арқылы хабарландыруларды оңай жіберуге мүмкіндік береді. Біз Facebook Messanger -ді таңдадық, бірақ оны Facebook Messanger -мен жұмыс істегеннен кейін сіз оны кез келген басқа қызметке оңай өзгерте аласыз.

Процесс:

IFTTT веб -сайтында пайдаланушы атыңызды (жоғарғы оң жақ бұрышта) нұқыңыз, содан кейін «Жаңа апплет» триггері ретінде «Webhooks» таңдаңыз («бұл») және «Веб -сұрауды алу» таңдаңыз. Оқиға атауын орнатыңыз (мысалы, empty_room).

Іске қосылған қызмет үшін әрекет («сол») үшін Facebook Messenger> Хабар жіберу тармағын таңдап, осы оқиға болған кезде алғыңыз келетін хабарды теріңіз (мысалы, «Сәлеметсіз бе, сіз айнымалы токты ұмытып кеткен сияқтысыз:).

Біз осында болғанда, сіз құпия кілтті табуыңыз керек, оны кодтың тиісті орнына енгізу керек.

Құпия кілтті табу үшін https://ifttt.com/services/maker_webhooks/settings торабына өтіңіз, онда келесі форматтағы кілтіңіз бар URL мекенжайын табасыз:

4 -қадам: Толығырақ - Blynk

Image
Image
Толығырақ - Blynk
Толығырақ - Blynk
Толығырақ - Blynk
Толығырақ - Blynk

Біз сондай -ақ келесі функциялары бар интерфейсті алғымыз келеді:

1. Бізге хабарлама келмейінше, айнымалы ток жұмыс жасайтын кезде бөлме қанша уақыт бос болуы керектігін орнату мүмкіндігі

2. Сыртқы температура ішке қаншалықты жақын болуы керектігін таңдау мүмкіндігі.

3. Температура датчиктерінің көрсеткіштері үшін дисплей

4. Айнымалы токтың күйін (қосулы/өшірулі) білдіретін светодиод.

5. Ең бастысы, біз қанша $$$ және энергия үнемдегенімізді көрсететін дисплей.

Blynk интерфейсін қалай құруға болады:

Егер сізде әлі Blynk қолданбасы болмаса, оны телефонға жүктеп алыңыз. Қолданбаны ашып, жаңа жоба жасаған кезде, сәйкес құрылғыны таңдағаныңызға көз жеткізіңіз (мысалы, ESP8266).

Сізге аутентификация таңбалауышы бар электрондық хат келеді, оны кодқа тиісті жерге енгізесіз (егер жоғалтып алсаңыз, оны кейін параметрлерден өзіңізге қайта жібере аласыз).

Жаңа виджеттерді экранға қойыңыз, жоғарыдағы + белгісін басыңыз. Виджеттерді таңдап, оның параметрлеріне кіру үшін виджетті нұқыңыз. Біз сілтеме жасау үшін біз қолданған барлық виджеттердің параметрлерінің суреттерін қостық.

Бағдарламаны аяқтағаннан кейін және оны қолданғыңыз келгенде, Blynk қосымшасын іске қосу үшін жоғарғы оң жақ бұрыштағы «ойнату» белгішесін нұқыңыз. Сондай -ақ, сіз ESP8266 қашан қосылатынын көре аласыз.

Ескерту - «жаңарту» батырмасы айнымалы токтың температурасы мен күйін қолданбадан көру үшін алу үшін қолданылады. Параметрлерді өзгерту кезінде қажет емес (мысалы, температура айырмашылығы), себебі олар автоматты түрде итеріледі.

5 -қадам: Кодекс

Біз кодтың әр бөлігін оны түсінуді мүмкіндігінше жеңілдететін етіп құжаттауға көп күш салдық.

Қолданар алдында өзгерту қажет кодтың бөліктері (Blynk үшін аутентификация кілті, сіздің Wi -Fi SSID және құпия сөзіңіз және т.

Сізге кодта қолданылатын кітапханалар қажет болады, оларды Arduino IDE арқылы Sketch> Кітапханаларды қосу> Кітапханаларды басқару түймешігін басу арқылы орнатуға болады. Онда сіз кітапхана атауын іздеп, оны орната аласыз. Сондай -ақ, generic8266_ifttt.h файлын ACsaver.ino сияқты бір жерге қойғаныңызға көз жеткізіңіз.

Біз кодты бұзғымыз келмегендіктен, кодтың бір бөлігін түсіндіреміз: біз айнымалы токтың күйін қосуды өшіруге, ал бөлменің күйін бос күйден босқа өзгертуді қалай шешеміз.

Біз сенсорлардан әр 3 секунд сайын оқимыз, бірақ сенсорлар 100% дәл емес болғандықтан, біз бір рет оқудың бөлмедегі жағдайды өзгертуін қаламаймыз. Бұл мәселені шешу үшін код не істейді, бізде «айнымалы ток қосулы» пайдасына көрсеткіш алған кезде бізде ++ болатын есептегіш бар ма, әйтпесе. Содан кейін, біз SWITCHAFTER -де анықталған мәнге жеткенде (әдепкі бойынша 4), күйді «айнымалы ток қосулы» күйіне өзгертеміз, -SWITCHAFTER -ге жеткенде (мәні теріс), күйді «айнымалы ток өшірулі» күйіне өзгертеміз. «.

Ауыстыруға кететін уақытқа әсері шамалы және біз оны тек дұрыс өзгерістерді анықтауда өте сенімді деп санаймыз.

6 -қадам: Барлығын біріктіру

Жақсы, сондықтан сенсорлардың барлығы орнында және дұрыс жұмыс істейді. Blynk интерфейсі орнатылған (дұрыс виртуалды түйреуіштермен!). IFTTT оқиғалары біздің триггерді күтеді.

Сіз IFTTT құпия кілтін кодқа, Blynk аутентификация кілтін, WiFi SSID -ін және парольді енгіздіңіз, тіпті сіз DHT сенсорларының калибрленгенін тексердіңіз, егер олай болмаса, сәйкесінше ығысуды өзгерттіңіз (мысалы, біздің DHT сыртында температура Цельсий бойынша 1 градусқа жоғары болуы керек, сондықтан біз офсетті қолдандық = -1).

WiFi қосулы екеніне көз жеткізіңіз, Blynk қосымшасын іске қосыңыз және кодты ESP8266 -ге жүктеңіз.

Міне бітті. Егер бәрі дұрыс жасалса, сіз қазір ойнап, оны іс жүзінде көре аласыз.

Ал егер сіз мұның барлығын бір жерге жинауды қажет етпестен көргіңіз келсе … Ал жоғары қарай жылжып, бейнені қараңыз. (Субтитрмен қараңыз! Дауыс жоқ)

7 -қадам: Ойлар

Бұл жерде біз екі негізгі қиындыққа тап болдық.

Ең алдымен, айнымалы токтың қосылғанын қалай білеміз? Біз айнымалы ток пен қашықтан басқару пульті арасындағы байланысты «тыңдайтын» ИҚ қабылдағышты қолдануға тырыстық. Бұл өте күрделі болып көрінді, өйткені деректер өте тәртіпсіз және «жақсы, бұл ҚОСУ сигналын» түсіну үшін жеткілікті сәйкес келмеді. Сондықтан біз басқа жолдарды іздедік. Айнымалы ток желінен қозғалу кезінде аз ток шығаратын шағын винтті қолдану идеясының бірі - біз ойлаған басқа идея - желдеткіштерде айналатын қанаттардың бұрышын өлшейтін және олардың қозғалысын ӨШУ күйінен анықтау.

Ақыр соңында, біз айнымалы токтан шығатын желді өте сенімді түрде анықтайтын электрлі микрофонды қолданудың ең қарапайым әдісін түсіндік.

DHT датчиктерінің жұмыс істеуі - бұл жел;), бірақ кейінірек біз олардың біреуі нақты температурадан сәл алыстағанын түсіндік. PIR сенсоры, бұрын сипатталғандай, кейбір түзетулерді қажет етті.

Екінші мәселе - бұл шешімді қарапайым және сенімді ету. Қолдану тітіркендіргіш болуы керек деген мағынада, ол сол жерде болуы керек және қажет болған жағдайда итеру керек. Әйтпесе, біз өзіміз оны қолдануды доғарар едік.

Сонымен, біз Blynk интерфейсінде не болуы керек екенін ойластырдық және кез келген мүмкін болатын жағдайды ескере отырып, кодты мүмкіндігінше сенімді етуге тырыстық.

Бұл нұсқаулықты жазу кезінде біз шеше алмаған тағы бір қиындық - бұл Blynk интерфейсінен айнымалы токты өшіруге мүмкіндік беретін инфрақызыл қондырғышты қосу. Айнымалы токты өшіру мүмкіндігінсіз ұмытып кеткеніңізді білудің не қажеті бар? (жақсы … сіз біреудің үйде екенін сұрай аласыз).

Өкінішке орай, біз ESP8266 көмегімен айнымалы токқа қашықтан басқару пультінен жазылған сигналдарды қайта ойнатуда қиындықтарға тап болдық. Біз айнымалы токты Arduino Uno көмегімен басқара алдық:

www.instructables.com/id/How-to-control-th…

Біз көп ұзамай қайталап көреміз және өз нәтижелерімізбен нұсқаулықты жаңартамыз, және бұл мүмкіндікті қосу бойынша нұсқауларға үміттенеміз.

Біз көріп отырған тағы бір шектеу - бұл сенсорды терезенің сыртына қосу керек, бұл белгілі бір жағдайларда мүмкін болмауы мүмкін, сонымен қатар ұзын кабельдің сыртқа шығуын қажет етеді. Шешім интернеттен сіздің орналасқан жеріңіз туралы ауа райы деректерін алу болуы мүмкін. Сондай -ақ, айнымалы токтан жұмыс істейтін электр датчигін жоғарыда сипатталған инфрақызыл қабылдағыш ауыстыруы мүмкін.

Жобаны әр түрлі жолмен ұзартуға болады. Жоғарыда айтылғандай, біз айнымалы ток айналымын басқаруды қосудың жолын табуға тырысамыз, ол әлемнің кез келген нүктесінен айнымалы токты қосу немесе өшірудің жаңа мүмкіндіктер әлемін ашады, немесе уақытты Blynk арқылы қосады. қосымша, басқа мысал ретінде. IR техникалық қиындықтарын анықтағаннан кейін кодты қосу өте қарапайым және қарапайым және көп уақытты қажет етпейді.

Егер біз шынымен үлкен армандағымыз келсе … Жобаны кез келген айнымалы токты ақылды айнымалы токқа айналдыратын толық модульге айналдыруға болады. Және бұл бізге қарағанда көп нәрсені қажет етпейді. Тек көбірек код, инфрақызыл инфрақұрылымды көбірек пайдалану және егер біз оны жаппай шығаруды қаласақ, ауа райы туралы ақпаратты орналасқан жері бойынша алуды ұмытпаңыз, сонда біз бәрін кішкене қорапқа сала аламыз.

Шынында да, бізге тек ішкі температураның температуралық сенсоры, қозғалысты анықтайтын PIR сенсоры, ал жарқыл ретінде ИҚ -диодты жарық диоды және біз қолданатын АТ мен қашықтан басқару пульті арасындағы байланысты тыңдау үшін ИҚ қабылдағышы қажет.

Blynk сиқырлы қорапты басқаруға қажетті барлық мүмкіндіктерді өте қарапайым және сенімді түрде қамтамасыз етеді.

Мұндай толық жобаны жасау біраз уақытты алады, әсіресе оны конфигурациялауға және көптеген АС -ты автоматты түрде анықтауға және түсінуге әмбебап ету тұрғысынан.

Бірақ мұны өзіңіз үшін жасау, егер сіз оны бос уақытыңызда жасасаңыз, біз шамамен бір -екі аптадан аспауымыз керек. Сіздің бос уақытыңыздың қаншалықты көп екеніне байланысты … Мұнда басты мәселе айнымалы пульт жібере алатын әр түрлі сигналдарды сақтау және оларды түсіну болып табылады. (Оларды қайта ойнату одан да оңай болуы керек).

Ұсынылған: