Мазмұны:
- 1 -қадам: Жауапкершіліктен бас тарту
- 2 -қадам: IFTTT тегін есептік жазбасын орнату
- 3 -қадам: IFTTT апплетін жасаңыз
- 4 -қадам: Апплетіңіздің «осы» бөлігін конфигурациялаңыз
- 5 -қадам: WebHooks қызметін апплетке қосыңыз
- 6 -қадам: Веб -сұранысты алуды орнатыңыз
- 7 -қадам: Оқиға атауын беріңіз
- 8 -қадам: Апплетіңіздің «сол» бөлігін конфигурациялаңыз
- 9 -қадам: Әрекет қызметін орнату
- 10 -қадам: Google парақтарына қосылыңыз
- 11 -қадам: Әрекетті таңдаңыз
- 12 -қадам: Әрекетті орнатыңыз
- 13 -қадам: Апплетіңізді қарап шығыңыз және аяқтаңыз
- 14 -қадам: Конфигурация туралы ақпаратты кейінірек алу
- 15 -қадам: API кілті үшін Webhooks құжаттамасына өтіңіз
- 16 -қадам: API кілтін сақтаңыз
- 17 -қадам: Компоненттерді жинаңыз
- 18 -қадам: компоненттерді жинаңыз
- 19 -қадам: Arduino кодын жазыңыз
- 20 -қадам: Нәтижелер
- 21 -қадам: Несие
Бейне: Есік пен температураның күйін тіркеуші жобасы: 21 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:26
Бұл нұсқаулықта ESP8266 NodeMCU, DHT11 температура мен ылғалдылық сенсоры, есік/терезе қамысының қосқышы, 10К Ом резисторы мен қосқыш сым көмегімен 10.00 доллардан төмен қарапайым есік пен температураның күйін тіркеуші қалай жасалатынын көрсетеді.
Бұл жобаның шығу тегі Arduino тақтасы арқылы үйді автоматтандыруды жақсарту ниетімнен туындады, өйткені мен Arduino -мен үйлесімді EPS8266 NodeMCU туралы көп оқығандықтан, мен бұл тақтаны эксперимент жасау үшін арзан бағалы тақта деп шештім. ESP8266 тақталарын пайдаланып үйдегі автоматтандыру жобаларын Интернеттен іздегеннен кейін, мен бірінші әрекетім үшін температура мен есік күйін тіркеушіні біріктіруге шешім қабылдадым. Ақырында бұл жоба менің атам 50 жыл бұрын жобалап, салған шағын жылыжайды автоматтандыру үшін серво, ылғал сенсоры және басқа электроникамен біріктіріледі. Температура сенсоры жылыту жүйесін қосу немесе ажырату керектігін анықтау үшін пайдаланылады, сондай -ақ қажет кезде желдету жүйесін ашу мен жабу туралы сервоға сигнал береді. Желдету жүйесінің күйі магнитті қамысты қосқыштардың көмегімен бақыланатын болады. Соңында ылғал сенсорлары суару жүйесін автоматтандыру үшін қолданылады.
1 -қадам: Жауапкершіліктен бас тарту
Бұл нұсқаулықты орындаудың нәтижесінде болатын кез келген оқиғаға жауапкершілік көтермейтінімізді айтудан тез бас тарту. Кез келген нәрсені жасау кезінде өндірушілердің нұсқаулықтары мен қауіпсіздік парақтарын ұстанған жөн, сондықтан өз қолыңызбен жасау үшін пайдаланатын бөлшектер мен құралдардың кез келгені үшін осы құжаттармен танысыңыз. Біз жай ғана өз қадамдарымызды жасау үшін жасаған қадамдар туралы ақпарат береміз. Біз кәсіби емеспіз. Бұл құрылысқа қатысқан 3 адамның 2 -сі балалар.
2 -қадам: IFTTT тегін есептік жазбасын орнату
Егер сізде әлі жоқ болса, қазір IFTTT -тің ақысыз шотын олардың басты бетіне өту арқылы орнатудың уақыты келді. IFTTT - егер бұл солай болса, бұл Интернетке негізделген қызметтерді жаңа жолмен қосуға мүмкіндік беретін ақысыз платформа. бұл қызметтерді жаңа жолмен пайдалануға мүмкіндік береді. Бұл жоба үшін біз ESP8266 -ға Google Sheets құжатындағы DHT11 сенсоры арқылы қамыс қосқышы арқылы есіктің күйін және температура мен ылғалдылықты тіркеуге мүмкіндік беретін IFTTT қолданамыз.
3 -қадам: IFTTT апплетін жасаңыз
IFTTT -де болған кезде «Менің апплеттерім» бөліміне өтіңіз және «Жаңа апплет» түймесін басу арқылы жаңа апплет жасаңыз.
4 -қадам: Апплетіңіздің «осы» бөлігін конфигурациялаңыз
Жоғарыдағы суретте көрсетілгендей көк түсте «осы» сөзді басыңыз.
5 -қадам: WebHooks қызметін апплетке қосыңыз
Іздеу жолағында «Webhooks» қызметін іздеңіз және Webhooks белгішесін таңдаңыз.
«Webhooks» қызметін тапқаннан кейін оны басыңыз.
6 -қадам: Веб -сұранысты алуды орнатыңыз
«Веб -сұранысты алу» триггерін таңдаңыз.
7 -қадам: Оқиға атауын беріңіз
Мәтін өрісінде жаңа апплетке оқиға атауын беріңіз. Мен «Деректерді тіркеушіні» таңдадым, бірақ сіз өзіңізге ұнайтын нәрсені таңдай аласыз.
8 -қадам: Апплетіңіздің «сол» бөлігін конфигурациялаңыз
Жоғарыдағы суретте көрсетілгендей көк түсте «сол» сөзді басыңыз.
9 -қадам: Әрекет қызметін орнату
Іздеу жолағында «Google Sheets» қызметін іздеңіз және Google Sheets белгішесін нұқыңыз.
10 -қадам: Google парақтарына қосылыңыз
Егер сіз мұны әлі жасамаған болсаңыз, IFTTT есептік жазбаңызды Google Sheets -ке қосуыңыз қажет болады. Жоғарыда көрсетілген Қосылу түймесін басып, экрандағы нұсқауларды орындаңыз.
11 -қадам: Әрекетті таңдаңыз
«Электрондық кестеге жол қосу» түймесін басыңыз.
12 -қадам: Әрекетті орнатыңыз
«Электрондық кесте атауы» мәтін ұяшығына атау беріңіз. Мен дәйектілік үшін «Data_Logger» қолдануды таңдаймын. Қалған параметрді жалғыз қалдырыңыз (сіз бұл параметрмен басқа уақытта тәжірибе жасай аласыз), содан кейін экранның төменгі жағындағы «Әрекет жасау» түймесін басыңыз.
13 -қадам: Апплетіңізді қарап шығыңыз және аяқтаңыз
Апплет конфигурациясына қанағаттанғаннан кейін «Аяқтау» түймесін басыңыз.
14 -қадам: Конфигурация туралы ақпаратты кейінірек алу
Жоғарыда көрсетілгендей «Webhooks» түймесін басыңыз.
15 -қадам: API кілті үшін Webhooks құжаттамасына өтіңіз
Біртүрлі көрінуі мүмкін, бірақ бірегей API кілті бар бетке өту үшін жоғарғы оң жақтағы Құжаттама сілтемесін нұқыңыз.
16 -қадам: API кілтін сақтаңыз
Құжаттар экранының бірінші жолы сіздің бірегей API кілтін көрсетеді. Бұл кілтті кейін пайдалану үшін көшіріп, сақтаңыз.
Аплетті осында сынап көру де жақсы идея. Есіңізде болсын, {event} параметрін Data_Logger немесе кез келген оқиғаны атаңыз және 3 бос мәнге кейбір деректерді қосыңыз, содан кейін беттің төменгі жағындағы «Тексеру» түймесін басыңыз. Сіз «Оқиға басталды» деген жасыл хабарламаны көресіз. Олай болса, Google Docs қызметіне өтіңіз және тест парағына енгізілген деректер Google Sheets құжатында көрсетілгенін растаңыз.
17 -қадам: Компоненттерді жинаңыз
Сізге тек бірнеше бөлік қажет.
1) ESP8266 NodeMcu әзірлеу тақтасы
2) DHT11 температура/ылғалдылық сенсоры
3) Есік/терезе қамысының қосқышы
4) 10к Ом резисторы
5) қосылу сымы
18 -қадам: компоненттерді жинаңыз
1) ESP8266 құрылғысындағы 3v3 түйреуіштің бірін DHT11 -дегі вк істікшесіне қосыңыз.
2) ESP8266 жердегі түйреуіштердің бірін DHT11 жерге қосу штырына қосыңыз.
3) ESP8266 -дағы D4 (IDE -дегі 2 -ші түйреуіш) DHT11 -дегі деректер түйрегіне қосыңыз.
4) ESP8266 басқа 3v3 түйреуішін есік/терезе қамысының қосқышының бір жағына жалғаңыз.
5) ESP8266 құрылғысындағы D5 түйреуішті (IDE -дегі 14 -ші түйреуіш) есік/терезе қамысының қосқышының екінші жағына жалғаңыз, сонымен қатар оны 10к Ом резистордың бір жағына қосыңыз.
6) 10к Ом резистордың екінші жағын ESP8266 басқа жерге тұйықтауышқа қосыңыз.
ESP8266 түйреуішін таңдау үшін осы пайдалы диаграмманы немесе өте пайдалы бейнені қараңыз.
19 -қадам: Arduino кодын жазыңыз
Төмендегі кодты көшіріп, Arduino IDE -ге қойыңыз.
#қосу #қосу #қосу «DHT.h»
#DHTPIN 2 анықтаңыз // біз қандай сандық түйреуішке қосыламыз
#DORPIN 14 анықтаңыз // есіктің қосқышы қандай сандық түйреуіш қосылғанын.
#DHTTYPE DHT11 // DHT 11 анықтаңыз
DHT dht (DHTPIN, DHTTYPE);
int count = 1;
const char* ssid = «some_ssid»; // мұны ssid const char* password = «some_password» пайдалану үшін өзгертіңіз; // мұны құпия сөзді пайдалану үшін өзгерту int sleepTime = 100;
// IFTTT Webhooks жасаушысы
const char* server = «maker.ifttt.com»;
// IFTTT URL ресурсы
const char* resource = «/trigger/SOME_SERVICE_NAME/with/key/SOME_API_KEY»; // Қызмет атауы мен api кілтін қолданғаныңызға көз жеткізіңіз.
String doorStatus = «Жабық»;
volatile bool stateChanged = false;
// Егер бірнеше сағат ұйықтайтын болсаңыз, интервалды сағ * 60 минут * 60 секунд * 1000 миллисекундқа орнатыңыз
const ұзақ аралығы = 1,0 * 60 * 60 * 1000; // 1 сағат белгісіз ұзақ алдыңғыMillis = 0 - (2 * интервал);
жарамсыз орнату () {
Serial.begin (115200); attachInterrupt (digitalPinToInterrupt (DOORPIN), eventTriggered, CHANGE); pinMode (DOORPIN, INPUT); // Есік датчигі dht.begin (); WiFi.begin (ssid, құпия сөз);
Serial.print («\ nБайланыс..»);
while (WiFi.status ()! = WL_CONNECTED) {кешігу (1000); Serial.print («.»); } Serial.print («\ n»); }
void eventTriggered () {
stateChanged = true; Serial.println («Есікті тексеру!»); if (digitalRead (DOORPIN) == HIGH) // Есіктің ашық екенін тексеріңіз {Serial.println («Есік жабық!»); doorStatus = «Жабық»; } else {Serial.println («Есік ашық!»); doorStatus = «Ашылды»; }}
жарамсыз тексеруStatus () {
if (WiFi.status () == WL_CONNECTED) {// WiFi қосылымының күйін тексеру // Оқу температурасы немесе ылғалдылығы шамамен 250 миллисекунд алады! // Сенсордың көрсеткіштері 2 секундқа дейін болуы мүмкін (оның сенсоры өте баяу) float h = dht.readHumidity (); // Оқу температурасы Цельсий ретінде (әдепкі) өзгермелі t = dht.readTemperature (); // Fahrenheit (isFahrenheit = true) өзгермелі ретінде температураны оқу f = dht.readTemperature (true); // Кез келген оқу сәтсіз болғанын тексеріп, ерте шығыңыз (қайталап көру үшін). if (isnan (h) || isnan (t) || isnan (f)) {Serial.println («DHT сенсорынан оқу мүмкін болмады!»); //Serial.print («.»); // DHT сенсорынан оқу мүмкін болмады! қайтару; } // Фаренгейт бойынша жылу индексін есептеңіз (әдепкі) float hif = dht.computeHeatIndex (f, h); // Цельсий бойынша жылу индексін есептеңіз (isFahreheit = false) float hic = dht.computeHeatIndex (t, h, false);
Serial.print («\ n»);
Serial.print («Температура:»); Serial.print (f); Serial.print (« *F (»); Serial.print (t); Serial.print (« *C)»); Serial.print («\ t»); Serial.print («Жылу индексі:»); Serial.print (hif); Serial.print (« *F (»); Serial.print (hic); Serial.print (« *C)%»)); Serial.print («\ t»); Serial.print («Ылғалдылық:»); Serial.println (h);
if (digitalRead (DOORPIN) == HIGH) // Есіктің ашық екенін тексеріңіз
{Serial.println («Есік жабық!»); doorStatus = «Жабық»; } else {Serial.println («Есік ашық!»); doorStatus = «Ашылды»; } Жол jsonObject = Жол («{» мән1 / «: \» «) + f +»*F (« + t +»*C) / « + hif +»*F (« + hic +»*C) « +» / «, \» мән2 / «: \» « + ч +» / «, \» мәні3 / «: \» « + есік жағдайы +» / «}»; HTTPClient http; CompleteUrl жолы = «https://maker.ifttt.com/trigger/bme280_readings/with/key/cZFasEvy5_3JlrUSVAxQK9»; http.begin (completeUrl); // http.begin (сервер); http.addHeader («Content-Type», «application/json»); http. POST (jsonObject); http.writeToStream (& сериялық); http.end (); // Байланысты жабу
stateChanged = жалған;
int sleepTimeInMinutes = интервал / 1000/60; Serial.print («\ n / nҰйықтауға»); Serial.print (sleepTimeInMinutes); Serial.println («минут (тар)…»); }}
void loop () {
белгісіз ұзақ токMillis = millis (); кешіктіру (4000); // Егер біз өткен уақыттан асып кетсек, есік пен температураны тексеруге мәжбүр етіңіз. if (currentMillis - previousMillis> = интервал) {stateChanged = true; алдыңғыMillis = currentMillis; Serial.print (санау ++); Serial.println («) Уақыт өткеніне байланысты тексеру!»); } else if (stateChanged) {Serial.print (count ++); Serial.println («) күйдің өзгеруіне байланысты тексеру!»); }
// Егер күй өзгерсе, есік пен температураны тексеріңіз.
if (stateChanged) {checkStatus (); }
кешігу (ұйқы уақыты);
}
20 -қадам: Нәтижелер
Алдыңғы қадамда бастапқы кодты жүктегеннен кейін сіз жоғарыда көрсетілген мысал сияқты нәтижелерге ие болуыңыз керек.
21 -қадам: Несие
Мен кездейсоқ оқулықтардан көптеген пайдалы кеңестер мен кеңестер таптым және оларға барлық көмектері үшін алғыс айтқым келеді. Бұл нұсқаулықтың негізгі бөліктері негізделген ESP32 ESP8266 датчиктерінің оқуларын Google парақтарында жариялаудың тамаша оқулығы.
Сонымен қатар, TheCircuit ұсынған DHT11 Instructable маған өте арзан, бірақ қызықты сенсорды қалай пайдалану керектігін түсінуге көмектесті.
Сонымен қатар, сіздің есіктеріңізді бақылауға арналған көптеген оқулықтар бар, мысалы, Garage Door Monitor және Random Nerd Оқулықтарынан. Мен қамыс қосқышты қалай дұрыс жұмыс істеу керектігін түсінуге көмектесу үшін олардың бөлшектерін қолдандым.
Ақырында, осы ақпаратпен және Интернеттен тапқан басқа мәліметтермен мен өз қажеттіліктерімді қанағаттандыратын жүйе құра алдым. Сізге бұл нұсқаулық пайдалы деп ойлаймын және өзіңіздің жеке нұсқаңызды құрасыз.
Ұсынылған:
Арнайы есік төсеніші қосылған есік қоңырауы: 6 қадам
Арнайы есік төсеніші қосылған есік қоңырауы. Сәлеметсіз бе! Менің атым Джастин, мен орта мектепте оқимын, бұл нұсқаулық сізге біреу сіздің есігіңіздің төсенішін басқан кезде соғылатын есік қоңырауын қалай жасау керектігін көрсетеді және сіз қалаған әуен немесе ән болуы мүмкін! Есік төсеніші есікті іске қосатындықтан
Ылғалдылық пен температураны нақты уақыт режимінде Arduino UNO және SD-карта көмегімен қалай жасауға болады - DHT11 Proteus-та деректерді тіркеуші модельдеу: 5 қадам
Ылғалдылық пен температураны нақты уақыт режимінде Arduino UNO және SD-карта көмегімен қалай жасауға болады | DHT11 Proteus-та деректерді тіркеуші модельдеу: Кіріспе: сәлем, бұл Liono Maker, міне YouTube сілтемесі. Біз Arduino-мен шығармашылық жоба жасаймыз және енгізілген жүйелерде жұмыс жасаймыз. Деректерді тіркеуші: Деректерді тіркеуші (сонымен қатар деректерді тіркеуші немесе деректерді тіркеуші)-бұл уақыт бойынша деректерді жазатын электрондық құрылғы
IFTTT көмегімен сымды есік қоңырауын ақылды есік қоңырауына айналдырыңыз: 8 қадам
IFTTT көмегімен сымды есік қоңырауын ақылды есік қоңырауына айналдырыңыз: WiFi есік қоңырауы қолданыстағы сымды қоңырауды ақылды қоңырауға айналдырады. https://www.fireflyelectronix.com/product/wifidoor
Үйдегі көмекші көмегімен сымды есік қоңырауын ақылды есік қоңырауына айналдырыңыз: 6 қадам
Үй көмекшісімен сымды есік қоңырауын ақылды есік қоңырауына айналдырыңыз: бар сымды қоңырауды ақылды қоңырауға айналдырыңыз. Есікке қоңырау соғылған кез келген уақытта фото немесе бейне ескертуді алу үшін телефонға немесе қолданыстағы алдыңғы камерамен жұпқа хабарлама алыңыз. Толығырақ мына жерден біліңіз: fireflyelectronix.com/pro
Есік және есік мониторымен қосылған автоматты шамдар: 5 қадам
Есік пен есіктің мониторингі қосылған автоматты шамдар. Қараңғыда коммутатор тақтасын табу өте қиын сияқты, бірақ бұл жоба бұл мәселені шешуге өте пайдалы. Мұның шешімін білу үшін төмендегі қадамдарды орындаңыз