Mundarija:
- 1 -qadam: Ogohlantirishdan voz kechish
- 2 -qadam: Bepul IFTTT hisobini o'rnating
- 3 -qadam: IFTTT ilovasini yarating
- 4 -qadam: Appletingizning "bu" qismini sozlang
- 5 -qadam: WebHooks xizmatini ilovangizga qo'shing
- 6 -qadam: Veb -so'rovni qabul qilishni sozlash
- 7 -qadam: Voqea nomini ko'rsating
- 8 -qadam: Appletingizning "o'sha" qismini sozlang
- 9 -qadam: Harakatlar xizmatini o'rnating
- 10 -qadam: Google Sheets -ga ulaning
- 11 -qadam: Harakatni tanlang
- 12 -qadam: Amalni o'rnating
- 13 -qadam: Appletni ko'rib chiqing va yakunlang
- 14 -qadam: Keyinchalik kerak bo'lgan konfiguratsiya ma'lumotlarini oling
- 15 -qadam: API kaliti uchun Webhooks hujjatlariga o'ting
- 16 -qadam: API kalitini saqlang
- 17 -qadam: Komponentlarni yig'ing
- 18 -qadam: Komponentlarni yig'ing
- 19 -qadam: Arduino kodini yozing
- 20 -qadam: Natijalar
- 21 -qadam: kreditlar
Video: Eshik va harorat holatini qayd qilish loyihasi: 21 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:26
Bu ko'rsatma sizga ESP8266 NodeMCU, DHT11 harorat va namlik sensori, eshik/deraza qamish kaliti, 10K ohmli rezistor va bir nechta ulash simini ishlatib, 10,00 dollardan past bo'lgan oddiy eshik va harorat holatini qayd etishni ko'rsatib beradi.
Ushbu loyihaning kelib chiqishi Arduino platasi yordamida uyni ko'proq avtomatlashtirishni amalga oshirish istagimdan kelib chiqdi, chunki men Arduino -ga mos keladigan EPS8266 NodeMCU haqida ko'p o'qiganim uchun, men tajriba o'tkazish uchun bu taxta arzon narxlardagi mukammal taxta bo'ladi deb qaror qildim. ESP8266 taxtasi yordamida uyni avtomatlashtirish loyihalarini Internetda qidirgandan so'ng, men birinchi urinishim uchun harorat va eshik holatini qayd etuvchi jurnalni birlashtirishga qaror qildim. Oxir -oqibat, bu loyiha servo, namlik sensori va boshqa elektronika bilan birlashtirilib, bobom 50 yil oldin loyihalashtirilgan va qurilgan kichik issiqxonani avtomatlashtiradi. Harorat sensori isitish tizimini ishga tushirish yoki o'chirish kerakligini aniqlash uchun ishlatiladi, shuningdek, kerak bo'lganda shamollatish tizimini ochish va yopish uchun servolarga signal beradi. Shamollatish tizimining holati magnit qamish kalitlari yordamida kuzatiladi. Nihoyat, namlik sezgichlari sug'orish tizimini avtomatlashtirish uchun ishlatiladi.
1 -qadam: Ogohlantirishdan voz kechish
Shuni ta'kidlash kerakki, biz ushbu ko'rsatmalarga amal qilish natijasida sodir bo'layotgan har qanday narsa uchun javobgarlikni o'z zimmamizga olmaymiz. Har qanday narsani qurishda ishlab chiqaruvchilarning ko'rsatmalariga va xavfsizlik varaqlariga rioya qilish har doim yaxshidir, shuning uchun siz o'zingiz tayyorlagan buyumlar va asboblar uchun ushbu hujjatlar bilan tanishib chiqing. Biz shunchaki o'zimiz yaratgan qadamlar haqida ma'lumot beramiz. Biz professional emasmiz. Aslida, ushbu qurilishda qatnashgan har 3 kishidan 2 nafari bolalardir.
2 -qadam: Bepul IFTTT hisobini o'rnating
Agar sizda hozircha yo'q bo'lsa, endi IFTTT -ning asosiy sahifasini ochib, hisob qaydnomasini o'rnatish vaqti keldi. IFTTT bu "Agar shunday bo'lsa" degan ma'noni anglatadi va Internetga asoslangan xizmatlarni yangi usullar bilan ulash imkonini beradigan bepul platformadir. bu xizmatlardan yangi usullar bilan foydalanish imkonini beradi. Ushbu loyiha uchun biz ESP8266 -ga Google Sheets hujjatidagi DHT11 sensori orqali eshikning holatini qamish kaliti va harorat va namlik orqali qayd qilish uchun IFTTT -dan foydalanamiz.
3 -qadam: IFTTT ilovasini yarating
IFTTTda bo'lganingizda, "Mening appletlarim" bo'limiga o'ting va "Yangi Applet" tugmasini bosib yangi applet yarating.
4 -qadam: Appletingizning "bu" qismini sozlang
Yuqoridagi rasmda ta'kidlanganidek, ko'k rangdagi "bu" so'zini bosing.
5 -qadam: WebHooks xizmatini ilovangizga qo'shing
Qidiruv satrida "Webhooks" xizmatini toping va Webhooks belgisini tanlang.
"Webhooks" xizmatini topgach, ustiga bosing.
6 -qadam: Veb -so'rovni qabul qilishni sozlash
"Veb -so'rovni qabul qilish" tugmachasini tanlang.
7 -qadam: Voqea nomini ko'rsating
Matn maydoniga yangi appletni voqea nomi bilan kiriting. Men "Data Logger" ni tanladim, lekin siz xohlagan narsani tanlashingiz mumkin.
8 -qadam: Appletingizning "o'sha" qismini sozlang
Yuqoridagi rasmda ta'kidlanganidek, ko'k rangdagi "o'sha" so'zni bosing.
9 -qadam: Harakatlar xizmatini o'rnating
Qidiruv maydonida "Google Sheets" xizmatini toping va Google Sheets belgisini bosing.
10 -qadam: Google Sheets -ga ulaning
Agar siz buni hali qilmagan bo'lsangiz, IFTTT hisobingizni Google Sheets -ga ulashingiz kerak bo'ladi. Yuqorida ko'rsatilgan Ulanish tugmasini bosing va ekrandagi ko'rsatmalarga amal qiling.
11 -qadam: Harakatni tanlang
"Jadvalga qator qo'shish" ni bosing.
12 -qadam: Amalni o'rnating
"Elektron jadval nomi" matn maydoniga nom kiriting. Men izchillik uchun "Data_Logger" dan foydalanishni tanlayman. Qolgan sozlamalarni yolg'iz qoldiring (xohlagan vaqtda bu sozlamalar bilan tajriba o'tkazishingiz mumkin), so'ngra ekranning pastki qismidagi "Amal yaratish" tugmasini bosing.
13 -qadam: Appletni ko'rib chiqing va yakunlang
Applet konfiguratsiyasidan qoniqqaningizdan so'ng "Finish" tugmasini bosing.
14 -qadam: Keyinchalik kerak bo'lgan konfiguratsiya ma'lumotlarini oling
Yuqorida ta'kidlanganidek "Webhooks" ni bosing.
15 -qadam: API kaliti uchun Webhooks hujjatlariga o'ting
Bu g'alati tuyulishi mumkin, lekin betakror API kalitingiz bilan sahifaga o'tish uchun yuqori o'ngdagi Hujjatlar havolasini bosing.
16 -qadam: API kalitini saqlang
Hujjatlar ekranining birinchi qatorida sizning yagona API kalitingiz ko'rsatiladi. Bu kalitni keyinroq ishlatish uchun nusxa ko'chiring va saqlang.
Bu erda appletni sinab ko'rish ham yaxshi bo'ladi. {Event} ni Data_Logger -ga o'zgartirishni unutmang yoki voqeaga qanday nom berdingiz va 3 ta bo'sh qiymatga ba'zi ma'lumotlarni qo'shing, so'ngra sahifaning pastki qismidagi "Sinab ko'rish" tugmasini bosing. "Voqea ishga tushirildi" degan yashil xabarni ko'rishingiz kerak. Agar shunday bo'lsa, Google Docs -ga o'ting va test sahifasiga kiritilgan ma'lumotlar Google Sheets hujjatida ko'rsatilganligini tasdiqlang.
17 -qadam: Komponentlarni yig'ing
Sizga faqat bir nechta qism kerak bo'ladi.
1) ESP8266 NodeMcu ishlab chiqish kengashi
2) DHT11 harorat/namlik sensori
3) Eshik/Oyna qamish kaliti
4) 10k Ohm qarshilik
5) ulanish simlari
18 -qadam: Komponentlarni yig'ing
1) ESP8266 dagi 3v3 pinni DHT11 vcc piniga ulang.
2) ESP8266 -dagi topraklama pinlaridan birini DHT11 -dagi topraklama piniga ulang.
3) ESP8266 dagi D4 pinini (IDE -dagi 2 -pin) DHT11 -dagi ma'lumotlar piniga ulang.
4) ESP8266 -dagi boshqa 3v3 pinni eshik/deraza qamish kalitining bir tomoniga ulang.
5) ESP8266 -dagi D5 pinini (IDE -dagi 14 -pin) eshik/deraza qamish kalitining boshqa tomoniga ulang va uni 10k ohmli rezistorning bir tomoniga ulang.
6) 10k ohmli qarshilikning boshqa tomonini ESP8266 ustidagi boshqa topraklama piniga ulang.
ESP8266 pin tanlash uchun iltimos, ushbu foydali diagramma yoki juda foydali videoga qarang.
19 -qadam: Arduino kodini yozing
Quyidagi kodni nusxa ko'chiring va Arduino IDE -ga joylashtiring.
#qo'shish #qo'shish #qo'shish "DHT.h"
#DHTPIN 2 ni aniqlang // biz qanday raqamli pin bilan bog'langanmiz
#deorine DOORPIN 14 // eshik kaliti qanday raqamli pinli.
#DHTTYPE DHT11 // DHT 11 ni aniqlang
DHT dht (DHTPIN, DHTTYPE);
int soni = 1;
const char* ssid = "some_ssid"; // ssid const char* password = "some_password" dan foydalanish uchun buni o'zgartiring; // parolni ishlatish uchun buni o'zgartiring int sleepTime = 100;
// IFTTT ishlab chiqaruvchi veb -kancalari
const char* server = "maker.ifttt.com";
// IFTTT URL manbasi
const char* resource = "/trigger/SOME_SERVICE_NAME/with/key/SOME_API_KEY"; // Xizmat nomingiz va api kalitingizdan foydalanganingizga ishonch hosil qiling.
String doorStatus = "Yopiq";
o'zgaruvchan bool stateChanged = false;
// Agar soatlab uxlasangiz, intervalni soat * 60 daqiqa * 60 soniya * 1000 millisekundga o'rnating
const uzoq interval = 1,0 * 60 * 60 * 1000; // 1 soat imzosiz uzoq oldingiMillis = 0 - (2 * interval);
bo'sh o'rnatish () {
Serial.begin (115200); attachInterrupt (digitalPinToInterrupt (DOORPIN), eventTriggered, CHANGE); pinMod (DOORPIN, INPUT); // eshik sensori dht.begin (); WiFi.begin (ssid, parol);
Serial.print ("\ nUlanmoqda..");
while (WiFi.status ()! = WL_CONNECTED) {kechikish (1000); Serial.print ("."); } Serial.print ("\ n"); }
void eventTriggered () {
stateChanged = rost; Serial.println ("Eshik tekshirilmoqda!"); if (digitalRead (DOORPIN) == HIGH) // Eshik ochiqligini tekshiring {Serial.println ("Eshik yopiq!"); doorStatus = "Yopiq"; } else {Serial.println ("Eshik ochiq!"); doorStatus = "Ochilgan"; }}
void checkStatus () {
if (WiFi.status () == WL_CONNECTED) {// WiFi ulanish holatini tekshiring // O'qish harorati yoki namligi taxminan 250 millisekundni oladi! // Sensor o'qishlari ham 2 sekundgacha bo'lishi mumkin (bu juda sekin sensori) float h = dht.readHumidity (); // Haroratni Selsiy bo'yicha o'qing (standart) float t = dht.readTemperature (); // Haroratni Farengeyt sifatida o'qing (isFahrenheit = rost) float f = dht.readTemperature (rost); // O'qish muvaffaqiyatsiz bo'lganligini tekshiring va erta chiqing (qaytadan urinish uchun). if (isnan (h) || isnan (t) || isnan (f)) {Serial.println ("DHT sensoridan o'qib bo'lmadi!"); //Serial.print ("."); // DHT sensoridan o'qib bo'lmadi! qaytish; } // Farengeytdagi issiqlik indeksini hisoblash (standart) float hif = dht.computeHeatIndex (f, h); // Selsiy bo'yicha issiqlik indeksini hisoblash (isFahreheit = false) float hic = dht.computeHeatIndex (t, h, false);
Serial.print ("\ n");
Serial.print ("Harorat:"); Ketma -ket chop etish (f); Serial.print (" *F ("); Serial.print (t); Serial.print (" *C)"); Serial.print ("\ t"); Serial.print ("Issiqlik indeksi:"); Serial.print (hif); Serial.print (" *F ("); Serial.print (hic); Serial.print (" *C)%"); Serial.print ("\ t"); Serial.print ("Namlik:"); Serial.println (h);
if (digitalRead (DOORPIN) == HIGH) // Eshik ochiqligini tekshiring
{Serial.println ("Eshik yopiq!"); doorStatus = "Yopiq"; } else {Serial.println ("Eshik ochiq!"); doorStatus = "Ochilgan"; } String jsonObject = String ("{" qiymati1 / ": \" ") + f +"*F (" + t +"*C) / " + hif +"*F (" + hic +"*C) " +" / ", \" qiymat2 / ": \" " + h +" / ", \" qiymati3 / ": \" " + eshik holati +" / "}"; HTTPClient http; String completeUrl = "https://maker.ifttt.com/trigger/bme280_readings/with/key/cZFasEvy5_3JlrUSVAxQK9"; http.begin (completeUrl); // http.begin (server); http.addHeader ("Kontent turi", "application/json"); http. POST (jsonObject); http.writeToStream (& Serial); http.end (); // Ulanishni yopish
stateChanged = noto'g'ri;
int sleepTimeInMinutes = interval / 1000/60; Serial.print ("\ n / nUxlashga ket"); Serial.print (sleepTimeInMinutes); Serial.println ("daqiqa (lar)…"); }}
void loop () {
belgisiz uzun oqimMillis = millis (); kechikish (4000); // Agar biz o'tgan vaqtdan oshib ketgan bo'lsak, eshik va haroratni tekshirib ko'ring. if (currentMillis - previousMillis> = interval) {stateChanged = true; oldingiMillis = joriyMillis; Serial.print (hisoblash ++); Serial.println (") Vaqt o'tganligi sababli tekshirilmoqda!"); } else if (stateChanged) {Serial.print (count ++); Serial.println (") Holat o'zgarishi sababli tekshirilmoqda!"); }
// Agar holat o'zgargan bo'lsa, eshik va haroratni tekshiring.
if (stateChanged) {checkStatus (); }
kechikish (uyqu vaqti);
}
20 -qadam: Natijalar
Oldingi qadamda manba kodini yuklaganingizdan so'ng, yuqorida ko'rsatilgan misol kabi natijalarga ega bo'lishingiz kerak.
21 -qadam: kreditlar
Men tasodifiy darslardan juda ko'p foydali maslahatlar va maslahatlarni topdim va ularga barcha yordamlari uchun minnatdorchilik bildirmoqchiman. Ayniqsa, ularning ESP32 ESP8266 dagi sensorli o'qishlarini Google Sheets -da chop etish bo'yicha qo'llanma, bu ko'rsatmaning asosiy qismlari.
Bundan tashqari, TheCircuit -dan DHT11 Instructable menga bu juda arzon, lekin qiziqarli kichik sensorni qanday ishlatishni tushunishga yordam berdi.
Bundan tashqari, sizning eshiklaringizni kuzatib boradigan ko'plab darsliklar mavjud, masalan, Garaj eshiklari monitori va boshqa tasodifiy darsliklar. Men qamish tugmachasini qanday to'g'ri ishlashini tushunishga yordam berish uchun bu qismlardan foydalanardim.
Nihoyat, Internetda topilgan bu ma'lumotlar va boshqa tafsilotlar bilan men o'z ehtiyojlarimga javob beradigan tizimni yaratishga muvaffaq bo'ldim. Umid qilamanki, siz ushbu ko'rsatmalarni foydali deb topasiz va o'zingiznikidan birini qurasiz.
Tavsiya:
Smart Watchz Corona simptomlarini aniqlash va ma'lumotlarni qayd qilish bilan: 10 qadam
Smart Watchz - korona alomatlarini aniqlash va ma'lumotlarni qayd qilish bilan: bu LM35 va akselerometr yordamida serverda ma'lumotlarni yozib olish bilan Corona simptomlarini aniqlaydigan aqlli soat. Rtc vaqtni ko'rsatish va telefon bilan sinxronlashtirish va undan ma'lumotlarni yozish uchun ishlatiladi. Esp32 ko'k bilan korteks boshqaruvchisi bo'lgan miya sifatida ishlatiladi
Ob -havo ma'lumotlarini qanday qayd qilish kerak - Liono yaratuvchisi: 5 qadam
Ob -havo ma'lumotlarini qanday qayd qilish kerak | Liono Maker: Kirish: Salom, bu #LionoMaker. Bu mening ochiq manbali va rasmiy YouTube kanalim. Bu erda havola: Liono Maker / YOUTUBE KANALI Ushbu loyihada biz " Ob -havo ma'lumotlarini yozib olish " ni o'rganamiz. bu juda qiziq pr
Harorat va yorug'lik intensivligini qanday qayd qilish kerak - Proteus simulyatsiyasi - Qo'rqinchli - Liono yaratuvchisi: 5 qadam
Harorat va yorug'lik intensivligini qanday qayd qilish kerak | Proteus simulyatsiyasi | Qo'rqinchli | Liono Maker: Salom bu Liono Maker, bu mening rasmiy YouTube kanalim. Bu ochiq manba YouTube kanali.bu erda havola: Liono Maker YouTube kanali video havolasi bor: Temp & Yorug'lik intensivligini qayd qilish Ushbu qo'llanmada biz qanday qilib temperatura qilishni o'rganamiz
Arduino va SIM900 GSM GPRS 3G harorat va namlikni qayd qilish, mobil statistikasi: 4 qadam
Arduino va SIM900 GSM GPRS 3G harorat va namlikni qayd qilish, mobil statistikasi: Arduino UNO R3, SIM900 Shield AND DHT22 yordamida siz harorat va namlik ma'lumotlarini tashqarida, xonada, issiqxonada, laboratoriyada, sovutish xonasida yoki boshqa joylarda bepul yozib olishingiz mumkin. Bu misol yordamida biz xona harorati va namligini hisobga olamiz
Harorat, PH va erigan kislorod uchun ma'lumotlarni qayd qilish vositasini qanday qilish kerak: 11 qadam (rasmlar bilan)
Harorat, PH va erigan kislorod uchun ma'lumotlarni qayd qilish vositasini qanday qilish kerak: Maqsadlar: ≤ 500 dollarga ma'lumot yozuvchi yasang. U harorat, pH va DO ma'lumotlarini vaqt tamg'asi va I2C aloqasi yordamida saqlaydi. Nima uchun I2C (Inter-Integrated Circuit)? Bir nechta sensorlarni bir qatorga yig'ish mumkin, chunki ularning har birida