Isi kandungan:

IDC2018IOT Beritahu Saya Bilakah Mematikan AC: 7 Langkah
IDC2018IOT Beritahu Saya Bilakah Mematikan AC: 7 Langkah

Video: IDC2018IOT Beritahu Saya Bilakah Mematikan AC: 7 Langkah

Video: IDC2018IOT Beritahu Saya Bilakah Mematikan AC: 7 Langkah
Video: MANA MATAMU ??? 2024, November
Anonim
Image
Image

Sebilangan besar daripada kita, terutamanya pada waktu musim panas, menggunakan AC hampir tanpa henti, sedangkan pada kenyataannya pada waktu-waktu tertentu dalam sehari kita hanya boleh membuka tingkap dan menikmati angin yang menyenangkan. Juga, kita secara peribadi menyedari bahawa kita kadang-kadang lupa untuk mematikan AC ketika meninggalkan bilik, membuang tenaga dan wang.

Penyelesaian yang akan kami bina akan membandingkan suhu dalaman dengan luaran, dan apabila cukup dekat, akan memberitahu kami melalui Facebook Messanger bahawa sudah waktunya untuk membuka tingkap dan berehat AC.

Juga, kami akan membuat mekanisme lain untuk memberitahu kami apabila kami lupa AC dan keluar dari bilik.

Langkah 1: Sedikit Lebih Banyak Perincian

Kami mengumpulkan data dari 4 sensor yang berbeza:

  • Dua sensor DHT mengumpulkan suhu di dalam rumah dan di luar rumah.
  • Satu sensor PIR mengesan pergerakan di dalam bilik.
  • Satu mikrofon Electret digunakan untuk mengesan angin yang keluar dari bolong AC, cara mudah dan boleh dipercayai untuk menentukan sama ada AC dihidupkan.

Data yang datang dari sensor akan diproses dan dihantar ke Blynk di mana ia akan dipaparkan dalam antara muka yang akan kami buat. Juga, kami akan mencetuskan acara IFTTT untuk memberi tahu pengguna kapan dia dapat membuka tetingkap dan bukannya AC, dan ketika dia melupakan AC dan meninggalkan ruangan untuk jangka waktu yang telah ditentukan.

Antara muka Blynk juga akan memberi kita cara untuk mengubah tetapan yang relevan mengikut pilihan pengguna, kerana kita akan membincangkannya dengan lebih terperinci kemudian.

Bahagian yang diperlukan:

  1. Modul WiFi - ESP8266
  2. Sensor PIR.
  3. Sensor suhu DHT11 / DHT22 x2.
  4. Perintang 10k / 4.7k (DHT11 - 4.7k, DHT22 - 10k, PIR - 10k).
  5. Mikrofon electret.
  6. Pelompat.
  7. Kabel panjang (Kawat telefon akan melakukan kerja dengan baik).

Kod lengkap projek dilampirkan pada akhir dengan komen di seluruh kod.

Secara logik, ia mempunyai beberapa lapisan fungsi yang berbeza:

  • Data dari sensor dibaca dalam selang waktu 3 saat kerana menunjukkan lebih tepat dan tidak perlu lebih dari itu.
  • Salah satu bahagian kod tersebut adalah mengawasi keadaan AC dengan nilai-nilai yang berasal dari mikrofon electret yang diletakkan di atas pembukaan AC.
  • Bahagian lain adalah mengawasi pembacaan yang berasal dari sensor suhu, dan perbezaan penggunaan yang ditentukan sebagai boleh diterima untuk menghidupkan AC dan membuka tetingkap. Kami mencari saat ketika suhu cukup dekat.
  • Bahagian ketiga adalah mengawasi pergerakan di dalam bilik. Sekiranya tidak mengesan pergerakan besar (cara untuk memeriksa utama akan dijelaskan tidak lama lagi) untuk jangka masa yang ditentukan oleh pengguna, dan keadaan AC AKTIF, pemberitahuan akan dihantar kepada pengguna.
  • Pemberitahuan ditangani melalui pencetus IFTTT Webhooks yang menghantar mesej yang telah ditentukan kepada pengguna melalui Facebook Messenger
  • Bahagian terakhir yang perlu diperhatikan adalah bahagian yang mengendalikan antara muka Blynk, baik dengan mendapatkan perubahan yang dilakukan pengguna terhadap pemboleh ubah dan sebaliknya - mendorong data ke antara muka Blynk untuk dilihat oleh pengguna.

Langkah 2: Dalam Maklumat Lanjut - Sensor

Lebih Banyak Maklumat - Sensor
Lebih Banyak Maklumat - Sensor
Lebih Banyak Maklumat - Sensor
Lebih Banyak Maklumat - Sensor

Mari mulakan.

Pertama, kita perlu memastikan kedua-dua sensor DHT kita membaca suhu yang sama apabila diletakkan di tempat yang sama. Untuk itu, kami membuat lakaran ringkas yang dilampirkan pada akhir bahagian ini (BandingkanSensors.ino). Sambungkan kedua-dua sensor, dan pastikan anda menukar jenis sensor DHT dalam lakaran mengikut yang anda miliki (lalai adalah satu DHT11 dan satu DHT22, jadi anda dapat melihat bagaimana keduanya ditangani dalam kod tersebut). Buka monitor bersiri dan biarkan mereka berfungsi sebentar, terutamanya jika anda menggunakan sensor DHT11, kerana mereka cenderung mengambil masa lebih lama untuk menyesuaikan diri dengan perubahan suhu.

Perhatikan perbezaan antara sensor, dan masukkan kemudian dalam kod utama dalam pemboleh ubah "offset".

Penempatan sensor:

Satu sensor DHT harus diletakkan di dinding luar rumah, jadi sambungkan ke beberapa kabel panjang, cukup panjang untuk mencapai ESP8266 anda di dalam bilik, dan letakkan di luar (boleh dilakukan dengan mudah melalui tingkap). Sensor DHT yang lain harus diletakkan di papan roti, di dalam ruangan di mana kita menggunakan AC.

Mikrofon electret juga harus disambungkan ke kabel yang cukup panjang dan diletakkan di lokasi di mana angin yang keluar dari AC akan memukulnya.

Akhirnya, sensor PIR harus diletakkan di lokasi yang menghadap ke tengah bilik sehingga dapat menangkap setiap pergerakan di dalam bilik. Perhatikan bahawa sensor mempunyai dua tombol kecil, satu mengawal kelewatan (berapa lama isyarat HIGH untuk mengesan pergerakan tetap HIGH), dan yang lain mengawal kepekaan (lihat gambar).

Anda mungkin perlu bermain-main dengannya sehingga anda dapat membaca yang anda berpuas hati. Bagi kami, hasil terbaik adalah kelewatan ke kiri (nilai terendah) dan kepekaan tepat di tengah. Kod ini memberikan cetakan bersiri yang merangkumi pembacaan dari semua sensor yang akan menjadikan proses penyahpepijatan seperti ini menjadi lebih mudah.

Menyambungkan sensor:

Nombor pin yang kami gunakan adalah seperti berikut (dan boleh diubah dalam kod utama):

Sensor DHT luar - D2.

Sensor DHT di dalam - D3.

Electret - A0 (pin analog).

PIR - D5.

Skema untuk menghubungkan masing-masing boleh didapati dengan mudah menggunakan carian gambar google dengan sesuatu di sepanjang garis "PIR perintang Arduino skematik" (kami tidak mahu menyalinnya di sini dan melintasi garis hak cipta:)).

Kami juga melampirkan gambar papan roti kami, mungkin sukar untuk benar-benar mengikuti hubungannya, tetapi dapat memberikan perasaan yang baik untuknya.

Seperti yang mungkin anda ketahui, perkara-perkara yang jarang berlaku sekiranya pertama kali kita menghubungkannya. Itulah sebabnya kami membuat fungsi yang mencetak bacaan dari sensor dengan cara yang mudah dibaca, sehingga anda dapat menyahpepijat agar mereka berfungsi. Sekiranya anda tidak mahu kod cuba menyambung ke Blynk semasa melakukan debug, cukup komen "Blynk.begin (auth, ssid, pass);" dari bahagian persediaan kod, jalankan, dan buka monitor bersiri untuk melihat cetakannya. Kami juga melampirkan gambar cetakan.

Langkah 3: Dalam Perincian Lebih Banyak - Urutan IFTTT

Dalam Maklumat Lanjut - Urutan IFTTT
Dalam Maklumat Lanjut - Urutan IFTTT

Oleh itu, kami ingin diberitahu dalam dua senario:

1. Suhu luar cukup dekat dengan suhu yang ada di dalamnya dengan AC berfungsi.

2. Kami telah meninggalkan bilik untuk jangka masa yang panjang dan AC masih berfungsi.

IFTTT membolehkan kami menghubungkan banyak perkhidmatan berbeza yang biasanya tidak berinteraksi, dengan cara yang sangat mudah. Dalam kes kami, ini membolehkan kami menghantar pemberitahuan dengan mudah melalui banyak perkhidmatan. Kami memilih Facebook Messanger, tetapi setelah bekerja dengan Facebook Messanger, anda akan dapat menukarnya dengan mudah ke perkhidmatan lain yang anda pilih.

Prosesnya:

Di laman web IFTTT klik pada nama pengguna anda (sudut kanan atas) dan kemudian "Applet Baru" pilih "Webhooks" sebagai pencetus ("ini"), dan pilih "Terima permintaan web". Tetapkan nama acara (mis. Ruang kosong).

Untuk perkhidmatan yang dicetuskan, tindakan ("itu"), pilih Facebook Messenger> Kirim mesej, dan taipkan mesej yang ingin anda terima ketika acara ini berlaku (mis. "Hai, sepertinya anda lupa AC pada:).

Semasa kami di sini, anda juga harus mencari kunci rahsia anda yang perlu anda masukkan di tempat yang sesuai dalam kod tersebut.

Untuk mencari kunci rahsia anda, pergi ke https://ifttt.com/services/maker_webhooks/settings Di sana anda akan menemui URL dengan kunci anda dalam format berikut:

Langkah 4: Dalam Maklumat Lanjut - Blynk

Image
Image
Dalam Maklumat Lanjut - Blynk
Dalam Maklumat Lanjut - Blynk
Dalam Maklumat Lanjut - Blynk
Dalam Maklumat Lanjut - Blynk

Kami juga mahukan antara muka yang mempunyai ciri-ciri berikut:

1. Keupayaan untuk menetapkan berapa lama ruangan itu kosong dengan AC berfungsi sebelum kita diberitahu

2. Keupayaan untuk memilih seberapa dekat suhu luar dengan bahagian dalam.

3. Paparan untuk bacaan dari sensor suhu

4. Pemimpin memberitahu kami keadaan AC (hidup / mati).

5. Dan yang paling penting, paparan untuk menunjukkan berapa banyak $$$ dan tenaga yang kita simpan.

Cara membuat antara muka Blynk:

Sekiranya anda belum mempunyai aplikasi Blynk, muat turun ke telefon anda. Semasa anda membuka aplikasi dan membuat projek baru, pastikan untuk memilih peranti yang sesuai (mis. ESP8266).

Anda akan mendapat e-mel dengan token pengesahan, yang akan anda masukkan dalam kod di tempat yang sesuai (anda juga boleh menghantarnya semula kepada anda dari tetapan kemudian jika anda kehilangannya).

Letakkan widget baru di skrin anda, klik tanda + di bahagian atas. Pilih widget, dan kemudian klik pada widget untuk memasukkan tetapannya. Kami telah menambahkan gambar tetapan untuk semua widget yang kami gunakan, untuk rujukan anda.

Setelah selesai menggunakan aplikasinya, dan apabila anda akhirnya ingin menggunakannya, cukup klik ikon "main" di sudut kanan atas untuk menjalankan aplikasi Blynk. Anda juga dapat melihat bila ESP8266 anda disambungkan.

Catatan - butang "kemas kini" digunakan untuk mengambil suhu dan keadaan AC untuk kita lihat dalam aplikasi. Itu tidak diperlukan ketika mengubah pengaturan (seperti perbedaan suhu), karena mereka didorong secara automatik.

Langkah 5: Kod

Kami berusaha sedaya upaya untuk mendokumentasikan setiap bahagian kod dengan cara yang memahaminya semudah mungkin.

Bahagian dalam kod yang mesti anda ubah sebelum menggunakannya (sebagai kunci pengesahan untuk Blynk, SSID dan kata laluan wifi anda, dll.) Diikuti dengan komen // * ubah * sehingga anda dapat mencarinya dengan mudah.

Anda perlu menggunakan pustaka dalam kod, anda boleh memasangnya melalui Arduino IDE dengan mengklik Sketsa> Sertakan Perpustakaan> Kelola Perpustakaan. Di sana anda boleh mencari nama perpustakaan dan memasangnya. Juga, pastikan anda meletakkan fail generic8266_ifttt.h di lokasi yang sama dengan ACsaver.ino.

Salah satu bahagian kod yang akan kami jelaskan di sini kerana kami tidak mahu menguraikan kodnya, adalah bagaimana kami memutuskan kapan untuk menukar keadaan AC dari terus ke mati, dan keadaan ruangan dari kosong ke tidak kosong.

Kami membaca dari sensor setiap 3 saat, tetapi kerana sensor tidak 100% tepat, kami tidak mahu satu bacaan mengubah keadaan yang kami yakini ada di ruangan sekarang. Untuk menyelesaikannya, apa yang dilakukan oleh kod, adakah kita mempunyai kaunter yang kita ++ ketika kita mendapat bacaan yang mendukung "AC sedang aktif", dan - sebaliknya. Kemudian, apabila kita mencapai nilai yang ditentukan dalam SWITCHAFTER (lalai ke 4), kita mengubah keadaan menjadi "AC dihidupkan", ketika kita sampai ke -SWITCHAFTER (negatif nilai yang sama), kita mengubah keadaan menjadi "AC mati ".

Kesan pada masa yang diperlukan untuk beralih tidak dapat diabaikan, dan kami merasa sangat dipercayai dalam mengesan perubahan yang betul sahaja.

Langkah 6: Menggabungkan Semuanya

Ok, jadi semua sensor berada di tempat dan berfungsi dengan baik. Antara muka Blynk ditetapkan (dengan pin maya yang betul!). Dan acara IFTTT sedang menunggu pencetus kami.

Anda telah memasukkan kunci rahsia IFTTT dalam kod, kunci autentikasi dari Blynk, SSID WiFi dan kata laluan anda, dan anda juga telah memeriksa bahawa sensor DHT dikalibrasi dan jika tidak, mengubah offset dengan sewajarnya (misalnya, kami di luar DHT membaca suhu yang lebih tinggi sebanyak 1 darjah Celsius bahawa apa yang seharusnya ia ada, jadi kami menggunakan ofset = -1).

Pastikan WiFi anda sudah siap, mulakan aplikasi Blynk anda, dan muatkan kod ke ESP8266 anda.

Itu sahaja. Sekiranya semuanya dilakukan dengan betul, anda boleh bermain-main sekarang dan melihatnya beraksi.

Dan jika anda hanya mahu melihatnya dalam tindakan tanpa masalah untuk menyatukannya … Baiklah … Tatal ke atas dan tonton videonya. (Tonton dengan sari kata! Tiada suara)

Langkah 7: Pemikiran

Kami mempunyai dua cabaran utama di sini.

Pertama sekali, bagaimana kita tahu AC dihidupkan? Kami cuba menggunakan penerima IR yang akan "mendengar" komunikasi antara AC dan alat kawalan jauh. Tampaknya terlalu rumit, kerana datanya sangat tidak kemas dan tidak cukup konsisten untuk memahami "ok, ini adalah isyarat ON". Oleh itu, kami mencari cara lain. Satu idea adalah dengan menggunakan baling-baling kecil yang akan menghasilkan arus kecil ketika bergerak dari angin AC, idea lain yang kami cuba adalah dengan menggunakan akselerometer mengukur sudut sayap berputar di lubang dan mengesan pergerakannya dari posisi MATI.

Akhirnya, kami menyedari cara termudah untuk melakukannya adalah dengan mikrofon electret, yang dengan pasti dapat mengesan angin yang keluar dari AC

Mendapatkan sensor DHT berfungsi sangat mudah;), tetapi baru kemudian kita menyedari salah satu daripadanya agak jauh dari suhu sebenar. Sensor PIR juga memerlukan beberapa penyesuaian, seperti yang dijelaskan sebelumnya.

Cabaran kedua adalah menjadikan keseluruhan penyelesaian mudah dan boleh dipercayai. Dalam pengertian bahawa ia semestinya menjengkelkan untuk digunakan, ia harus berada di sana dan menyusahkan apabila anda memerlukan. Jika tidak, kita sendiri mungkin akan berhenti menggunakannya.

Oleh itu, kami memikirkan apa yang seharusnya ada di antara muka Blynk dan berusaha menjadikan kod tersebut boleh dipercayai seperti yang boleh dilakukan, dengan mengurus setiap casing yang dapat kami hasilkan.

Cabaran lain, yang gagal kita selesaikan pada saat menulis petunjuk ini, adalah dengan menambahkan IR blaster yang akan membolehkan kita mematikan AC dari antara muka Blynk. Apa gunanya mengetahui bahawa anda melupakan AC tanpa kemungkinan mematikannya? (baik … anda boleh bertanya kepada seseorang jika mereka berada di rumah).

Malangnya, kami menghadapi beberapa kesukaran untuk memainkan semula isyarat yang kami rakam dari alat kawalan jauh, kembali ke AC dengan ESP8266. Kami berjaya mengawal AC dengan Arduino Uno, mengikuti arahan ini:

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

Kami akan mencuba lagi tidak lama lagi, dan mengemas kini instruksional dengan penemuan kami, dan semoga arahan mengenai cara menambahkan kemampuan itu.

Batasan lain yang kita lihat adalah hakikat bahawa kita perlu menyambungkan sensor di luar tingkap, yang mungkin tidak dapat dilakukan dalam situasi tertentu, dan juga bermaksud kabel panjang perlu keluar. Penyelesaiannya ialah dengan mengambil data cuaca dari lokasi anda dari internet. Juga, sensor electret yang berjalan dari AC boleh digantikan oleh penerima IR yang kami jelaskan di atas, untuk model AC dengan kod IR yang lebih dikenali atau mudah untuk menyahkod.

Projek ini dapat dilanjutkan dengan pelbagai cara. Seperti yang dinyatakan di atas, kami akan berusaha mencari cara untuk memasukkan kawalan IR ke atas AC, yang kemudian membuka peluang baru untuk menghidupkan dan mematikan AC dari mana saja di dunia, atau menetapkan waktu dan mematikan melalui Blynk aplikasi, sebagai contoh lain. Setelah mengetahui kesukaran teknikal IR, menambahkan kodnya agak mudah dan mudah, dan tidak perlu lama.

Sekiranya kita benar-benar ingin bermimpi besar … Projek ini dapat diubah menjadi modul lengkap yang menjadikan mana-mana AC sebagai AC pintar. Dan ia tidak memerlukan lebih banyak daripada yang kita lakukan. Hanya lebih banyak kod, lebih banyak penggunaan IR, dan jika kita ingin dihasilkan secara besar-besaran, mungkin pastikan untuk mengambil data cuaca berdasarkan lokasi, maka kita dapat memasukkan semuanya ke dalam kotak kecil.

Yang benar, yang kita perlukan adalah sensor suhu untuk suhu dalam, sensor PIR untuk mengesan pergerakan, dan LED IR sebagai blaster, dan penerima IR untuk "mendengarkan" komunikasi antara AC dan alat kawalan jauh yang kita gunakan.

Blynk menyediakan semua kemampuan yang kita perlukan untuk mengawal kotak ajaib, dengan cara yang sangat mudah dan boleh dipercayai.

Membuat projek yang begitu lengkap akan memakan masa, terutama dari sudut pandang membuatnya cukup serba guna untuk mengkonfigurasi dirinya sendiri dan secara automatik mengesan dan memahami kebanyakan AC.

Tetapi membuatnya sendiri, baiklah, jika anda melakukannya pada masa lapang, anggaran kami tidak boleh memakan masa lebih dari satu atau dua minggu. Bergantung pada berapa banyak masa senggang yang anda miliki … Cabaran utama di sini adalah untuk menyimpan semua isyarat yang berbeza yang dapat dihantar oleh alat kawalan jauh AC, dan memahaminya. (Walaupun hanya memainkannya semestinya lebih mudah).

Disyorkan: