Isi kandungan:
- Langkah 1: Penafian
- Langkah 2: Sediakan Akaun IFTTT Percuma
- Langkah 3: Buat Applet IFTTT
- Langkah 4: Konfigurasikan Bahagian "ini" dari Applet Anda
- Langkah 5: Tambahkan Perkhidmatan WebHooks ke Applet Anda
- Langkah 6: Siapkan Penerima Permintaan Web Pencetus
- Langkah 7: Sediakan Nama Acara
- Langkah 8: Konfigurasikan Bahagian "itu" dari Applet Anda
- Langkah 9: Sediakan Perkhidmatan Tindakan
- Langkah 10: Sambungkan ke Helaian Google
- Langkah 11: Pilih Tindakan
- Langkah 12: Siapkan Tindakan
- Langkah 13: Kaji dan Selesaikan Applet Anda
- Langkah 14: Dapatkan Maklumat Konfigurasi yang Diperlukan Kemudian
- Langkah 15: Teruskan ke Dokumentasi Webhooks untuk Kunci API
- Langkah 16: Simpan Kunci API
- Langkah 17: Kumpulkan Komponen
- Langkah 18: Susun Komponen
- Langkah 19: Tulis Kod Arduino
- Langkah 20: Hasil
- Langkah 21: Kredit
Video: Projek Logger Status Pintu dan Suhu: 21 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:10
Instructable ini akan menunjukkan cara membuat logger status pintu dan suhu sederhana dengan harga di bawah $ 10.00 menggunakan ESP8266 NodeMCU, sensor suhu dan kelembapan DHT11, suis reed pintu / tingkap, perintang 10K ohm dan beberapa wayar hookup.
Permulaan projek ini berasal dari keinginan saya untuk membuat lebih banyak automasi rumah dengan papan Arduino, Oleh kerana saya telah banyak membaca mengenai EPS8266 NodeMCU yang serasi dengan Arduino, saya memutuskan bahawa papan ini akan menjadi papan kos rendah yang sempurna untuk melakukan percubaan. Setelah mencari di Internet untuk projek automasi rumah menggunakan papan ESP8266, saya memutuskan untuk menggabungkan pencatat status suhu dan pintu untuk percubaan pertama saya. Akhirnya projek ini akan digabungkan dengan servo, sensor kelembapan dan elektronik lain untuk mengautomasikan rumah hijau kecil yang dirancang dan dibina oleh datuk saya 50 tahun yang lalu. Sensor suhu akan digunakan untuk menentukan apakah sistem pemanasan harus diaktifkan atau dilepaskan serta memberi isyarat kepada servo untuk membuka dan menutup sistem pengudaraan apabila diperlukan. Keadaan sistem pengudaraan akan dipantau dengan menggunakan suis reed magnetik. Akhirnya, sensor kelembapan akan digunakan untuk mengautomasikan sistem penyiraman.
Langkah 1: Penafian
Sekadar penafian cepat untuk menyatakan bahawa kami TIDAK bertanggung jawab atas apa sahaja yang berlaku akibat mengikuti arahan ini. Selalu lebih baik mengikuti arahan dan helaian keselamatan pengeluar semasa membuat apa-apa, jadi sila rujuk dokumen tersebut untuk mana-mana bahagian dan alat yang anda gunakan untuk membina sendiri. Kami hanya memberikan maklumat mengenai langkah-langkah yang kami gunakan untuk membuat langkah kami. Kami bukan profesional. Sebenarnya, 2 dari 3 individu yang mengambil bahagian dalam binaan ini adalah kanak-kanak.
Langkah 2: Sediakan Akaun IFTTT Percuma
Sekiranya anda belum memilikinya, sekarang adalah masa untuk menyediakan akaun IFTTT percuma dengan pergi ke halaman utama mereka.. IFTTT bermaksud If This Then That dan merupakan platform percuma yang membolehkan anda menghubungkan perkhidmatan berasaskan internet dengan cara baru untuk membolehkan anda memanfaatkan perkhidmatan tersebut dengan cara baru. Untuk projek ini kita akan menggunakan IFTTT untuk membolehkan ESP8266 mencatat status pintu melalui suis buluh dan suhu dan kelembapan melalui sensor DHT11 dalam dokumen Helaian Google.
Langkah 3: Buat Applet IFTTT
Ketika masih dalam IFTTT, lanjutkan ke bagian "My Applet" dan buat applet baru dengan mengklik butang "Applet Baru".
Langkah 4: Konfigurasikan Bahagian "ini" dari Applet Anda
Klik pada kata "ini" yang berwarna biru - seperti yang disorot pada gambar di atas.
Langkah 5: Tambahkan Perkhidmatan WebHooks ke Applet Anda
Di bar carian, cari perkhidmatan "Webhooks" dan pilih ikon Webhooks.
Sebaik sahaja anda menjumpai perkhidmatan "Webhooks", klik padanya.
Langkah 6: Siapkan Penerima Permintaan Web Pencetus
Pilih pemicu "Terima permintaan web".
Langkah 7: Sediakan Nama Acara
Dalam kotak teks berikan applet baru anda dengan nama acara. Saya memilih "Data Logger" tetapi anda boleh memilih apa sahaja yang anda suka.
Langkah 8: Konfigurasikan Bahagian "itu" dari Applet Anda
Klik pada kata "itu" yang berwarna biru - seperti yang disorot pada gambar di atas.
Langkah 9: Sediakan Perkhidmatan Tindakan
Di kotak carian, cari perkhidmatan "Helaian Google", dan klik ikon Helaian Google.
Langkah 10: Sambungkan ke Helaian Google
Sekiranya anda belum melakukannya, anda tidak perlu menyambungkan akaun IFTTT anda ke Helaian Google. Tekan butang Connect yang ditunjukkan di atas dan ikuti arahan di skrin.
Langkah 11: Pilih Tindakan
Klik pada "Tambah Baris ke Spreadsheet".
Langkah 12: Siapkan Tindakan
Berikan nama di kotak teks "Spreadsheet name". Saya memilih untuk menggunakan "Data_Logger" untuk konsistensi. Tinggalkan pengaturan yang lain (anda boleh bereksperimen dengan tetapan tersebut pada waktu lain) dan kemudian tekan butang "Buat Tindakan" di bahagian bawah skrin.
Langkah 13: Kaji dan Selesaikan Applet Anda
Setelah berpuas hati dengan konfigurasi applet anda tekan butang "Selesai".
Langkah 14: Dapatkan Maklumat Konfigurasi yang Diperlukan Kemudian
Klik pada "Webhooks" seperti yang dinyatakan di atas.
Langkah 15: Teruskan ke Dokumentasi Webhooks untuk Kunci API
Nampaknya pelik tetapi klik pada pautan Dokumentasi di kanan atas untuk meneruskan ke halaman dengan Kunci API unik anda.
Langkah 16: Simpan Kunci API
Baris pertama skrin Dokumentasi memaparkan Kunci API unik anda. Salin dan Simpan kunci ini untuk digunakan kemudian.
Adalah idea yang baik untuk menguji applet di sini. Ingatlah untuk menukar {event} menjadi Data_Logger atau apa sahaja yang anda namakan acara anda dan tambahkan beberapa data ke 3 nilai kosong kemudian klik butang "Uji Itu" di bahagian bawah halaman. Anda akan melihat mesej hijau yang mengatakan "Acara telah dipicu". Sekiranya demikian, teruskan ke Dokumen Google dan sahkan bahawa data yang anda masukkan di halaman ujian muncul dalam dokumen Helaian Google.
Langkah 17: Kumpulkan Komponen
Anda hanya memerlukan beberapa bahagian.
1) Lembaga Pembangunan NodeMcu ESP8266
2) Sensor Suhu / Kelembapan DHT11
3) Suis Reed Pintu / Tingkap
4) Perintang 10k Ohm
5) Kawat Hookup
Langkah 18: Susun Komponen
1) Sambungkan salah satu pin 3v3 pada ESP8266 ke pin vcc di DHT11.
2) Sambungkan salah satu pin ground pada ESP8266 ke pin ground di DHT11.
3) Sambungkan pin D4 (sebutan pin 2 di IDE) pada ESP8266 ke pin data di DHT11.
4) Sambungkan pin 3v3 lain pada ESP8266 ke satu sisi suis buluh pintu / tingkap.
5) Sambungkan pin D5 (a.k.a. pin 14 di IDE) pada ESP8266 ke sisi lain suis reed pintu / tingkap dan sambungkan juga ke satu sisi perintang 10k ohm.
6) Sambungkan sisi lain perintang 10k ohm ke pin ground yang lain pada ESP8266.
Untuk pemilihan pin ESP8266, sila rujuk gambar rajah berguna ini atau video yang sangat membantu.
Langkah 19: Tulis Kod Arduino
Salin dan tampal kod di bawah ini ke Arduino IDE anda.
#include #include #include "DHT.h"
#tentukan DHTPIN 2 // pin digital apa yang kita sambungkan
#define DOORPIN 14 // pin digital apa suis pintu dihidupkan.
#tentukan DHTTYPE DHT11 // DHT 11
DHT dht (DHTPIN, DHTTYPE);
kiraan int = 1;
const char * ssid = "some_ssid"; // ubah ini untuk menggunakan ssid const char * password = "some_password" anda; // ubah ini untuk menggunakan kata laluan anda int sleepTime = 100;
// Pembuat Webhooks IFTTT
const char * server = "maker.ifttt.com";
// Sumber URL IFTTT
const char * resource = "/ trigger / SOME_SERVICE_NAME / dengan / key / SOME_API_KEY"; // Pastikan menggunakan nama perkhidmatan dan kunci api anda.
String doorStatus = "Tutup";
keadaan bool tidak menentuChanged = false;
// Jika tidur berjam-jam kemudian tetapkan selang dengan jam * 60 minit * 60 saat * 1000 milisaat
selang panjang const = 1.0 * 60 * 60 * 1000; // 1 jam yang lama tidak ditandatangani sebelumnyaMillis = 0 - (selang 2 *);
batal persediaan () {
Serial.begin (115200); attachInterrupt (digitalPinToInterrupt (DOORPIN), eventTriggered, TUKAR); pinMode (DOORPIN, INPUT); // Sensor Pintu dht.begin (); WiFi.begin (ssid, kata laluan);
Serial.print ("\ nSambungan..");
sementara (WiFi.status ()! = WL_CONNECTED) {kelewatan (1000); Cetakan bersiri ("."); } Serial.print ("\ n"); }
acara batalTriggered () {
stateChanged = benar; Serial.println ("Memeriksa pintu!"); if (digitalRead (DOORPIN) == TINGGI) // Periksa untuk melihat apakah pintu terbuka {Serial.println ("Pintu ditutup!"); doorStatus = "Tutup"; } lain {Serial.println ("Pintu terbuka!"); doorStatus = "Dibuka"; }}
batal semakStatus () {
if (WiFi.status () == WL_CONNECTED) {// Periksa status sambungan WiFi // Suhu atau kelembapan bacaan memerlukan masa sekitar 250 milisaat! // Bacaan sensor juga boleh sampai 2 saat 'lama' (ini adalah sensor yang sangat perlahan) float h = dht.readHumidity (); // Baca suhu sebagai Celsius (lalai) terapung t = dht.readTemperature (); // Baca suhu sebagai Fahrenheit (isFahrenheit = true) apungan f = dht.readTemperature (benar); // Periksa sama ada bacaan gagal dan keluar lebih awal (untuk mencuba lagi). if (isnan (h) || isnan (t) || isnan (f)) {Serial.println ("Gagal membaca dari sensor DHT!"); //Serial.print ("."); // Gagal membaca dari sensor DHT! kembali; } // Hitung indeks haba di Fahrenheit (lalai) float hif = dht.computeHeatIndex (f, h); // Hitung indeks haba dalam Celsius (isFahreheit = false) float hic = dht.computeHeatIndex (t, h, false);
Cetakan bersiri ("\ n");
Serial.print ("Suhu:"); Cetakan bersiri (f); Serial.print ("* F ("); Serial.print (t); Serial.print ("* C)"); Serial.print ("\ t"); Serial.print ("Indeks haba:"); Serial.print (hif); Serial.print ("* F ("); Serial.print (hic); Serial.print ("* C)%"); Serial.print ("\ t"); Serial.print ("Kelembapan:"); Bersiri.println (h);
if (digitalRead (DOORPIN) == TINGGI) // Periksa untuk melihat apakah pintu terbuka
{Serial.println ("Pintu ditutup!"); doorStatus = "Tutup"; } lain {Serial.println ("Pintu terbuka!"); doorStatus = "Dibuka"; } String jsonObject = String ("{" value1 / ": \" ") + f +" * F ("+ t +" * C) / "+ hif +" * F ("+ hic +" * C) "+" / ", \" nilai2 / ": \" "+ h +" / ", \" nilai3 / ": \" "+ pintuStatus +" / "}"; HTTPClient http; Rentetan lengkapUrl = "https://maker.ifttt.com/trigger/bme280_readings/with/key/cZFasEvy5_3JlrUSVAxQK9"; http.begin (completeUrl); // http.begin (pelayan); http.addHeader ("Content-Type", "application / json"); http. POST (jsonObject); http.writeToStream (& Serial); http.end (); // Tutup sambungan
stateChanged = salah;
int sleepTimeInMinutes = selang / 1000/60; Serial.print ("\ n / nPergi tidur"); Serial.print (sleepTimeInMinutes); Serial.println ("minit …"); }}
gelung kosong () {
arus panjang yang tidak ditandatanganiMillis = millis (); kelewatan (4000); // Jika kita melampaui masa yang berlalu maka paksa pemeriksaan pintu dan temp. if (currentMillis - sebelumnyaMillis> = selang) {stateChanged = true; sebelumnyaMillis = currentMillis; Serial.print (kiraan ++); Serial.println (") Memeriksa kerana masa berlalu!"); } lain jika (stateChanged) {Serial.print (hitung ++); Serial.println (") Memeriksa kerana perubahan keadaan!"); }
// Sekiranya keadaan berubah maka periksa pintu dan temp.
jika (stateChanged) {checkStatus (); }
kelewatan (sleepTime);
}
Langkah 20: Hasil
Sebaik sahaja anda memuat naik kod sumber pada langkah sebelumnya, anda akan mendapat hasil seperti contoh yang ditunjukkan di atas.
Langkah 21: Kredit
Saya menemui banyak petua dan petua dari Random Nerd Tutorials dan ingin mengucapkan terima kasih atas bantuan mereka. Terutama tutorial mereka yang sangat baik mengenai ESP32 ESP8266 Terbitkan Sensor Bacaan ke Helaian Google di mana bahagian utama dari Instructable ini berdasarkan.
Selain itu, DHT11 Instructable from TheCircuit membantu saya memahami bagaimana menggunakan sensor kecil yang sangat murah tetapi menarik ini.
Selain itu, terdapat banyak tutorial yang berkaitan dengan memantau pintu anda seperti Garage Door Monitor dan satu lagi dari Random Nerd Tutorials. Saya menggunakan potongan-potongan ini untuk membantu saya memahami cara agar suis buluh saya berfungsi dengan baik.
Akhirnya, dengan maklumat ini dan perincian lain yang saya dapati di Internet saya dapat membuat sistem yang memenuhi keperluan saya. Saya harap anda mendapat Arahan ini berguna dan bina sendiri.
Disyorkan:
Peretasan Cahaya Status Pintu Garasi: 3 Langkah
Hack Pintu Status Pintu Garasi: Saya tinggal di sebuah rumah di mana tidak mudah untuk melihat sama ada pintu garaj terbuka atau ditutup. Kami mempunyai butang di rumah, tetapi pintu tidak kelihatan. Pemikiran kejuruteraan semacam suis dan bekalan kuasa tidak diingini kerana pr
Cara Menggunakan Sensor Suhu DHT11 Dengan Arduino dan Cetak Suhu Panas dan Kelembapan: 5 Langkah
Cara Menggunakan Sensor Suhu DHT11 Dengan Arduino dan Cetak Suhu Panas dan Kelembapan: Sensor DHT11 digunakan untuk mengukur suhu dan kelembapan. Mereka adalah penggemar elektronik yang sangat popular. Sensor kelembapan dan suhu DHT11 menjadikannya sangat mudah untuk menambahkan data kelembapan dan suhu ke projek elektronik DIY anda. Per
Logger Internet Suhu dan Kelembapan Dengan Paparan Menggunakan ESP8266: 3 Langkah
Pembalak Internet Suhu dan Kelembapan Dengan Paparan Menggunakan ESP8266: Saya ingin berkongsi projek kecil yang saya rasa anda akan suka. Ia adalah logger internet suhu dan kelembapan kecil yang tahan lama dengan paparan. Ini log ke emoncms.org dan secara pilihan, baik secara tempatan ke Raspberry PI atau emoncm anda sendiri
Lampu Automatik Dihubungkan Dengan Pemantauan Pintu dan Pintu .: 5 Langkah
Lampu Automatik Dihubungkan Dengan Pemantauan Pintu dan Pintu: Nampaknya sangat sukar untuk mencari papan suis dalam keadaan gelap tetapi projek ini sangat membantu menyelesaikan masalah ini. Ikuti langkah di bawah untuk mengetahui penyelesaiannya
SENSOR SUHU DENGAN LCD DAN LED (Membuat Sensor Suhu Dengan LCD dan LED): 6 Langkah (dengan Gambar)
SENSOR SUHU DENGAN LCD DAN LED (Membuat Sensor Suhu Dengan LCD dan LED): hai, saya. Ini adalah bacaan suhu dengan reka bentuk saya sendiri, dengan sensor ini dan