Мазмуну:
- 1 -кадам: Бир аз көбүрөөк маалымат
- 2 -кадам: Көбүрөөк маалымат - Сенсорлор
- 3 -кадам: Көбүрөөк маалыматта - IFTTT ырааттуулугу
- 4 -кадам: Көбүрөөк маалымат - Blynk
- 5 -кадам: Кодекс
- 6 -кадам: Бардыгын бириктирүү
- 7 -кадам: ойлор
Video: IDC2018IOT ACны качан өчүрүү керектигин айт: 7 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:41
Көбүбүз, айрыкча жай мезгилинде, токту дээрлик үзгүлтүксүз колдонобуз, чындыгында күндүн белгилүү бир убагында терезени ачып, жакшы желден ырахат ала алабыз. Ошондой эле, биз жеке өзүбүз энергияны жана акчаны текке кетирип, бөлмөдөн чыкканда ACны өчүрүүнү унутуп калганыбызды байкадык.
Биз кура турган чечим ички температураны сырткы менен салыштырат жана алар жетишерлик жакын болгондо, бизге Facebook Messanger аркылуу терезени ачып, АСке эс алуу убактысы келгенин кабарлайт.
Ошондой эле, биз ACны унутуп, бөлмөдөн чыгып кеткенибизде бизге кабарлоонун дагы бир механизмин жасайбыз.
1 -кадам: Бир аз көбүрөөк маалымат
Биз 4 түрдүү сенсордон маалыматтарды чогултабыз:
- DHTтин эки сенсору үйдүн ичиндеги жана үйдүн сыртындагы температураны чогултат.
- Бир PIR сенсор бөлмөдөгү кыймылды аныктайт.
- Бир Электрет микрофону AC желдеткичтен чыккан шамалды аныктоо үчүн колдонулат, АС күйүп тургандыгын аныктоонун жөнөкөй жана ишенимдүү жолу.
Сенсорлордон келген маалыматтар иштелип чыгат жана Блинкке жөнөтүлөт, ал жерде биз түзө турган интерфейсте көрсөтүлөт. Ошондой эле, биз IFTTT иш -чараларын колдонуучуну ACнын ордуна терезени ача алаарын жана ACны унутуп, алдын ала белгилүү бир убакытка бөлмөдөн чыгып кеткенин кабарлайбыз.
Blynk интерфейси бизге керектүү жөндөөлөрдү колдонуучунун каалоосуна жараша өзгөртүүгө мүмкүнчүлүк берет, анткени биз кийинчерээк кененирээк талкуулайбыз.
Керектүү бөлүктөр:
- WiFi модулу - ESP8266
- PIR сенсор.
- DHT11/DHT22 температура сенсорлору x2.
- 10k/4.7k каршылыгы (DHT11 - 4.7k, DHT22 - 10k, PIR - 10k).
- Электрондук микрофон.
- Секирүүчүлөр.
- Узун кабелдер (Телефон зымы сонун иштейт).
Долбоордун толук коду аягына комментарийлер менен кошо тиркелет.
Логикалык жактан алганда, анын функционалдык бир нече катмары бар:
- Сенсорлордун маалыматтары 3 секунд аралыгы менен окулат, анткени ал такыраак экенин көрсөтүп турат жана андан ашык нерсенин кереги жок.
- Коддун бир бөлүгү АСтин ачылышынын үстүнө орнотулган электр микрофонунан келип чыккан маанилер боюнча AC абалына көз салып турат.
- Дагы бир бөлүгү - температура сенсорлорунан келген окууну көзөмөлдөө жана айырмачылыкты алмаштыруу жана анын ордуна терезени ачуу. Биз температура жетишерлик жакын калган учурду издейбиз.
- Үчүнчү бөлүгү бөлмөдө кыймылды көзөмөлдөө. Колдонуучу тарабынан аныкталган мөөнөттө эч кандай чоң кыймыл аныкталбаса (майордукту текшерүү жолу жакында түшүндүрүлөт) жана AC абалы КҮЙҮК болсо, колдонуучуга билдирүү жөнөтүлөт.
- Билдирмелер колдонуучуга Facebook Messenger аркылуу алдын ала билдирүүлөрдү жөнөтүүчү IFTTT Webhooks аркылуу ишке ашырылат.
- Белгилей кетүүчү акыркы бөлүк - бул Blynk интерфейсин башкаруучу бөлүгү, колдонуучу өзгөрмөлөргө киргизген өзгөртүүлөрдү алуу менен да, башка жол менен - маалыматты Blynk интерфейсине колдонуучу көрүү үчүн.
2 -кадам: Көбүрөөк маалымат - Сенсорлор
Баштайлы.
Биринчиден, биз DHT сенсорлорубуздун экөө бир жерге коюлганда бирдей температураны окушун камсыз кылышыбыз керек. Бул үчүн, биз ушул бөлүмдүн аягына тиркелген жөнөкөй эскизди жасадык (CompareSensors.ino). Эки сенсорду туташтырыңыз жана эскиздеги DHT сенсорлорунун түрүн сизде бар болгонуна жараша өзгөрткөнүңүзгө ишениңиз (демейки бир DHT11 жана бир DHT22, ошондуктан экөөнүн коддо кандай иштээрин көрө аласыз). Сериялык мониторду ачып, бир аз убакыт иштешине уруксат бериңиз, өзгөчө DHT11 сенсорлорун колдонсоңуз, алар температуранын өзгөрүшүнө көнүү үчүн көп убакытты талап кылат.
Сенсорлордун ортосундагы айырманы байкап, кийинчерээк "офсет" өзгөрмөсүндөгү негизги кодго киргизиңиз.
Сенсорлордун жайгашуусу:
Бир DHT сенсорун үйдүн сырткы дубалына орнотуу керек, андыктан аны бөлмө ичинде ESP8266 жетүү үчүн жетишерлик узун кабелдерге туташтырып, сыртка коюңуз (терезеден оңой эле жасаса болот). Башка DHT сенсорун биз AC колдонгон бөлмөнүн ичинде, нан тактасына жайгаштыруу керек.
Электр микрофону да жетишерлик узун кабелдерге туташтырылып, ACдан келген шамал ага тийе турган жерге коюлушу керек.
Акыр -аягы, PIR сенсор бөлмөнүн ар бир кыймылын басып алат, ошондуктан бөлмөнүн ортосуна караган жерге жайгаштырылышы керек. Белгилей кетсек, сенсордо эки кичине баскыч бар, алардын бири кечигүүнү көзөмөлдөйт (кыймылды аныктоо боюнча ЖОГОРКУ сигнал канча убакытка чейин ЖОГОРУДА сакталат), экинчиси сезимталдыкты көзөмөлдөйт (сүрөттү караңыз).
Сиз өзүңүзгө жакканды окуганга чейин аны менен ойношуңуз керек болот. Биз үчүн эң жакшы натыйжа - солго (эң төмөнкү маани) кечигүү жана так ортосунда сезимталдык. Код бардык сенсорлордун окууларын камтыган сериялык басып чыгарууларды камсыздайт, бул көйгөйлөрдү оңдоону бир топ жеңилдетет.
Сенсорлорду туташтыруу:
Биз колдонгон пин номерлери төмөндөгүдөй (жана негизги коддо өзгөртүлүшү мүмкүн):
DHT сенсорунун сыртында - D2.
DHT сенсорунун ичинде - D3.
Электр - A0 (аналогдук пин).
PIR - D5.
Алардын ар бирин туташтыруунун схемаларын Google сүрөтүн издөө аркылуу "PIR каршылыгы Arduino схемасы" сызыгы боюнча оңой эле табууга болот (биз аларды бул жерге көчүрүп, автордук укук линияларын кесип өтүүнү каалабайбыз:)).
Биз дагы нандын тактайынын сүрөтүн тиркеп койдук, чынында эле байланыштарды ээрчүү кыйын, бирок бул ага жакшы сезимди тартуулайт.
Белгилүү болгондой, нерселер сейрек кездешет, эгерде биз аларды биринчи жолу туташтырсак. Мына ошондуктан биз сенсорлордун окууларын окууга оңой басып чыгаруучу функцияны жасадык, ошондо сиз алардын иштөө жолун оңдой аласыз. Эгерде сиз кодду мүчүлүштүктөрдү оңдоо учурунда Blynkке туташкысы келбесе, "Blynk.begin (auth, ssid, pass)" деп комментарий бериңиз; коддун орнотуу бөлүгүнөн, аны иштетип, басып чыгарууларды көрүү үчүн сериялык мониторду ачыңыз. Биз ошондой эле издердин сүрөтүн тиркеп койдук.
3 -кадам: Көбүрөөк маалыматта - IFTTT ырааттуулугу
Ошентип, биз эки сценарийде кабарланууну каалайбыз:
1. Сырткы темп бизде AC иштеп жатканына жакын.
2. Биз бөлмөдөн узак убакытка чыктык жана AC дагы эле иштеп жатат.
IFTTT бизге, адатта, өз ара байланышпаган көптөгөн кызматтарды туташтырууга мүмкүндүк берет. Биздин учурда, бул бизге көптөгөн кызматтар аркылуу билдирүүлөрдү оңой эле жөнөтүүгө мүмкүндүк берет. Биз Facebook Messanger'ди тандап алдык, бирок аны Facebook Messanger менен иштөө үчүн алгандан кийин сиз аны каалаган башка кызматка оңой өзгөртө аласыз.
Процесс:
IFTTT веб -сайтында колдонуучу атыңызды (жогорку оң бурчта) чыкылдатыңыз, андан кийин "Жаңы Апплет" триггер катары "Webhooks" тандаңыз ("бул") жана "Веб -суроо -талапты алуу" дегенди тандаңыз. Иш -чаранын аталышын коюңуз (мисалы, empty_room).
Түзүлгөн кызмат үчүн, иш -аракет ("ошол") үчүн, Facebook Messenger> Кабар жөнөтүүнү тандап, бул окуя болгондо алууну каалаган билдирүүнү териңиз (мис. "Салам, сиз ACны унутуп калдыңыз окшойт:).
Биз бул жерде жүргөнүбүздө, сиз жашыруун ачкычыңызды да табышыңыз керек, аны коддун тиешелүү жерине киргизишиңиз керек.
Жашыруун ачкычыңызды табуу үчүн https://ifttt.com/services/maker_webhooks/settings дарегине өтүңүз, анда сиз ачкычыңыз менен төмөнкү форматта URL таба аласыз:
4 -кадам: Көбүрөөк маалымат - Blynk
Биз ошондой эле төмөнкү өзгөчөлүктөргө ээ болгон интерфейсти каалайбыз:
1. Бизге кабар келгиче АС иштеп жаткан бөлмө канча убакыт бош болушу керектигин коюу мүмкүнчүлүгү
2. Сырттагы температуранын ичине канчалык жакын болушун тандоо мүмкүнчүлүгү.
3. Температура сенсорлорунун көрсөткүчтөрү үчүн дисплей
4. Бизге АСтин абалын айтып турган LED (күйгүзүү/өчүрүү).
5. Эң негизгиси, дисплей канча $$$ жана энергияны үнөмдөп калганыбызды көрсөтөт.
Blynk интерфейсин кантип түзүү керек:
Эгерде сизде Blynk колдонмосу жок болсо, аны телефонуңузга жүктөп алыңыз. Колдонмону ачып, жаңы долбоор түзгөнүңүздө, ылайыктуу түзмөктү (мисалы, ESP8266) тандап алыңыз.
Сиз аутентификация жетонуна ээ болгон электрондук кат аласыз, аны кодго тиешелүү жерге киргизесиз (аны жоготуп койсоңуз, кийинчерээк жөндөөлөрдөн өзүңүзгө кайра жөнөтө аласыз).
Жаңы виджеттерди экраныңызга коюп, жогорудагы + белгисин басыңыз. Виджеттерди тандап, андан кийин виджетти чыкылдатып, анын орнотууларын киргизиңиз. Биз маалымдама үчүн биз колдонгон бардык виджеттердин жөндөөлөрүнүн сүрөттөрүн коштук.
Колдонмону бүтүргөндөн кийин жана аны колдонууну каалаганыңызда, Blynk тиркемесин иштетүү үчүн, оң жактагы жогорку бурчтагы "ойноо" сүрөтчөсүн чыкылдатыңыз. Сиз ESP8266 туташканыңызды да көрө аласыз.
Эскертүү - "жаңыртуу" баскычы колдонмону көрүү үчүн AC температурасын жана абалын алуу үчүн колдонулат. Орнотууларды өзгөртүүдө (мисалы, температуранын айырмасы) алар талап кылынбайт, анткени алар автоматтык түрдө түртүлөт.
5 -кадам: Кодекс
Биз коддун ар бир бөлүгүн мүмкүн болушунча түшүнүктүү кылып документтештирүү үчүн көп аракет кылдык.
Колдонуудан мурун аны алмаштырышыңыз керек болгон бөлүктөрдү (Blynk үчүн авторизация ачкычы катары, Wi -Fi SSID жана сырсөзүңүз ж.
Сиз коддо колдонулган китепканаларга ээ болушуңуз керек, аларды Arduino IDE аркылуу Эскиз> Китепканаларды кошуу> Китепканаларды башкаруу аркылуу чыкылдатып орнотсоңуз болот. Ал жерден китепкананын атын издеп, орното аласыз. Ошондой эле, generic8266_ifttt.h файлын ACsaver.ino менен бир жерге койгонуңузду текшериңиз.
Биз бул жерде коддун бир бөлүгүн түшүндүрөбүз, анткени биз кодду бузууну каалаган эмеспиз, биз АСтин абалын качан күйгүзүү керектигин, ал эми бөлмөнүн абалын боштуктан бош эмес абалга кантип өзгөртүү керектигин чечебиз.
Биз сенсорлордон ар бир 3 секундда окуйбуз, бирок сенсорлор 100% так эмес болгондуктан, азыр бир бөлмөнүн ичиндеги абалды өзгөртүшүн каалабайбыз. Муну чечүү үчүн, код эмне кылат, бизде "AC күйүп турат" пайдасына окууну алганда бизде эсептегич барбы ++, же болбосо. Андан кийин, биз SWITCHAFTERде аныкталган мааниге жеткенде (демейки боюнча 4), абалды "AC күйгүзүлгөн" деп өзгөртөбүз, -SWITCHAFTERге (терс мааниси бирдей) жеткенде, абалды "AC өчүк" деп өзгөртөбүз ".
Которууга керектүү убакытка болгон таасири анча чоң эмес жана биз аны туура өзгөрүүлөрдү гана аныктоодо абдан ишенимдүү деп эсептейбиз.
6 -кадам: Бардыгын бириктирүү
Макул, сенсорлордун баары ордунда жана туура иштеп жатат. Blynk интерфейси орнотулган (туура виртуалдык казыктар менен!). Ал эми IFTTT окуялары биздин триггерди күтүп жатат.
Сиз IFTTT жашыруун ачкычын кодго, Blynk аутентификация ачкычын, WiFiңыздын SSID'ин жана сырсөзүңүздү киргиздиңиз, ал тургай DHT сенсорлорунун калибрленгенин текшердиңиз, эгер андай болбосо, ошого жараша офсетти өзгөрттүңүз (мисалы, биздин DHT сыртында температурасы Цельсий боюнча 1 градуска жогору болушу керек, ошондуктан биз офсетти колдонгон = -1).
Сиздин WiFi иштээрин текшериңиз, Blynk колдонмоңузду баштаңыз жана ESP8266 кодуңузга жүктөңүз.
Дал ушул. Эгерде баары туура жасалган болсо, анда сиз азыр ойноп, аны иш жүзүндө көрө аласыз.
А эгер сиз анын баарын бир жерге топтоодо кыйынчылыксыз эле иш жүзүндө көргүңүз келсе… Мейли … Өйдө жылдырып, видеону көрүңүз. (Субтитр менен көрүңүз! Үн жок)
7 -кадам: ойлор
Бул жерде бизде эки негизги кыйынчылык болгон.
Биринчиден, АС күйүп турганын кайдан билебиз? Биз AC менен алыстан башкаруунун ортосундагы байланышты "уга турган" IR кабылдагычты колдонууга аракет кылдык. Бул өтө татаал болуп көрүндү, анткени маалыматтар өтө эле башаламан жана "макул, бул КОШУУ сигналы" дегенди түшүнүү үчүн шайкеш келбеген. Ошентип, биз башка жолдорду издедик. Бир идея AC шамалынан жылганда кичине токту пайда кыла турган кичинекей пропеллерди колдонуу болчу, биз аракет кылган дагы бир идея - акселерометрдин желдеткичтердеги айлануучу канаттардын бурчун өлчөө жана алардын OFF абалынан кыймылын аныктоо.
Акыр -аягы, биз эң жөнөкөй жолду электр тогунан чыккан шамалды абдан ишенимдүү түрдө аныктаган электрэт микрофону менен түшүндүк.
DHT сенсорлорун иштетүү шамал болду;), бирок кийинчерээк биз алардын бири чыныгы температурадан бир аз алыс экенин түшүндүк. PIR сенсор мурда айтылгандай, ошондой эле кээ бир өзгөртүүлөрдү талап кылган.
Экинчи кыйынчылык бүт чечимди жөнөкөй жана ишенимдүү кылуу болду. Колдонуу тажатма болушу керек деген мааниде, ал жөн гана ошол жерде болушу керек жана сизге керек болгондо түртүшү керек. Болбосо, биз өзүбүз, балким, аны колдонууну токтотмокпуз.
Ошентип, биз Blynk интерфейсинде эмне болушу керектигин ойлонуп көрдүк жана кодду мүмкүн болушунча ишенимдүү кылууга аракет кылдык.
Бул көрсөтмөнү жазуу учурунда биз чече албаган дагы бир кыйынчылык, Blynk интерфейсинен ACны өчүрүүгө мүмкүндүк бере турган IR Blaster кошуу болду. АСти өчүрүү мүмкүнчүлүгү жок экенин унутканыңызды билүүнүн эмне кереги бар? (жакшы… сиз үйдө болсоңуз бирөөдөн сурасаңыз болот).
Тилекке каршы, биз ESP8266 менен ACга кайра алыстан башкаруудан жазылган сигналдарды кайра ойнотууда кээ бир кыйынчылыктарга туш болдук. Биз ACны Arduino Uno аркылуу башкара алдык, бул көрсөтмө:
www.instructables.com/id/How-to-control-th…
Биз жакында дагы бир жолу аракет кылабыз жана табылгаларыбыз менен үйрөткүчтү жаңыртабыз жана бул мүмкүнчүлүктү кантип кошуу боюнча көрсөтмөлөрдү алабыз деп үмүттөнөбүз.
Биз көргөн дагы бир чектөө - бул сенсорду терезенин сыртына туташтыруу керек, бул кээ бир учурларда мүмкүн эмес, жана узун кабелдин сыртка чыгышы керектигин билдирет. Чечим интернеттен жайгашкан жериңиздин аба ырайы маалыматын алуу болушу мүмкүн. Ошондой эле, ACдан иштөөчү электр сенсорун, биз жогоруда сүрөттөгөн IR кабылдагычы алмаштырышы мүмкүн, IR коддору белгилүү болгон же декоддоого оңой болгон AC моделдери үчүн.
Долбоор ар кандай жолдор менен узартылышы мүмкүн. Жогоруда айтылгандай, биз АСтин үстүнөн IR көзөмөлүн киргизүүнүн жолун табууга аракет кылабыз, ал дүйнөнүн каалаган жеринен АСти күйгүзүү жана өчүрүү үчүн жаңы мүмкүнчүлүктөр дүйнөсүн ачат, же Blynk аркылуу убакытты күйгүзүү жана өчүрүү. колдонмо, дагы бир мисал катары. Техникалык IR кыйынчылыктарын түшүнгөндөн кийин, кодду кошуу өтө жөнөкөй жана түшүнүктүү жана көпкө созулбашы керек.
Эгерде биз чындап чоң кыялданууну кааласак … Долбоорду каалаган модулга айландырса болот, ал каалаган АСти акылдуу АСке айландырат. Жана бизден алда канча көп нерсенин кереги жок. Жөн гана көбүрөөк код, IRди көбүрөөк колдонуу жана эгерде биз анын массалык түрдө өндүрүлүшүн кааласак, балким, аба ырайы маалыматын жайгашкан жери боюнча алууну тактаңыз, ошондо биз бардыгын кичинекей кичинекей кутуга сала алабыз.
Чынында, бизге керектүү нерсе - бул ички температура үчүн температура сенсору, кыймылды аныктоо үчүн PIR сенсору, жана жардыруучу катары IR LED жана ИШ кабыл алгыч AC менен биз башкарган пульттун ортосундагы байланышты "угуу" үчүн.
Blynk биз сыйкырдуу кутучаны башкаруу үчүн зарыл болгон бардык мүмкүнчүлүктөрдү камсыз кылат, абдан жөнөкөй жана ишенимдүү түрдө.
Мындай толук долбоорду түзүү бир аз убакытты талап кылат, айрыкча өзүн конфигурациялоого жана көпчүлүк АСти автоматтык түрдө аныктоого жана түшүнүүгө жетиштүү түрдө ар тараптуу кылуу көз карашынан.
Бирок муну өзүңүз үчүн жасоо, эгер сиз муну бош убактыңызда кылсаңыз, биз болжол менен бир же эки жумадан ашпашыбыз керек. Бош убактыңыздын болушуна жараша болот … Бул жердеги негизги көйгөй AC пульт жибере турган ар кандай сигналдарды сактап калуу жана аларды түшүнүү болмок. (Аларды кайра ойнотуу андан да оңой болушу керек).
Сунушталууда:
Деп салам айт Arduino UNO -: 4 кадам
Деп салам айт Arduino UNO |: Биринчи кезекте … эгер сиз " чындап " Arduino UNO жөнүндө көбүрөөк билүүгө кызыкдармын, аны менен жөн эле кете бер, бул абдан сонун tho :-) салам, достор бул Instructablesде мен сага жаңы Arduino'мдүн негизги, бирок кызыктуу колдонулушун көрсөтөм
ACны DCге айландырыңыз, борбордук тапталган түзөткүч: 5 кадам
ACны DCге борбордун оңдолгон түзөгүчүнөн айландырыңыз: Хии досум, бүгүн мен борбордук такылдаткычтын чынжырын жасайын деп жатам. Бул толук толкундуу түзөткүч болуп саналат. толук толкундуу түзөткүчтүн түрү. Келгиле, баштайлы
ACны DCге кантип айландыруу керек: 10 кадам
ACны DCге кантип айландырса болот: Досум, бүгүн мен DC күчүн жашыруучу Bridge түзөткүч схемасын жасайын деп жатам. Бул DC Power биз күчөткүчтө жана ар кандай электрондук түзмөктөрдө колдоно алабыз
ESP8266 түзмөгү менен компьютерди алыстан өчүрүү же өчүрүү: 10 кадам (сүрөттөр менен)
ESP8266 түзмөгү менен компьютерди алыстан өчүрүү же өчүрүп күйгүзүү: Бул жерде түшүнүктүү болуш үчүн, биз башка бирөөнүн компьютерин эмес, сиздин компьютериңизди өчүрүп жатабыз. Окуя мындайча: Фейсбуктагы досум мага жазышып, анын иштеп жаткан ондогон компьютери бар экенин айтты. математика, бирок күн сайын эртең мененки саат 3тө алар кулпуланышат. С
Жарык диодду өчүрүү жана өчүрүү: 3 кадам
Жарык диодду өчүрүү жана өчүрүү: Төмөнкү кадамдар диоддордун кантип иштээрин көрсөтүү үчүн эксперименттер. Алар LEDди бирдей ылдамдыкта кантип өчүрүү керектигин жана аны кантип өчүрүү жана өчүрүү керек экенин көрсөтүшөт. Сизге керек болот: Arduino (мен дуэт колдондум) Breadboard 5 мм кызыл LED 330 Ω Каршылык көрсөтүү