Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

WARAN - Otomatisasi Rumah

Komponen dan persediaan

Raspberry Pi 2 Model B
× 1
Arduino UNO
× 1
Sensor Suhu &Kelembaban DHT11 (4 pin)
× 2
Higrometer Tanah
× 1
Arduino Pro Mini 5V
× 2
Baterai 9V (generik)
× 3
Pompa Air
Opsional
× 1
nRF24l01+
× 3
nRF24l01+ Soket
Opsional
× 1
Transistor NPN
Opsional
× 1
Pengatur Tegangan 3.3V
× 2
Resistor 10kΩ
× 2
10µF Kapasitor
× 4
Kapasitor 47µF
× 2
Perfboard
× 3

Alat dan mesin yang diperlukan

Mesin Solder
Wire Stripper
Wire Nipper
Kabel Jumper

Aplikasi dan layanan online

Microsoft Windows 10 IoT Core
Microsoft Azure
PubNub Publish/Subscribe API

Tentang proyek ini

Saya berencana untuk membangun sistem otomatisasi rumah yang murah. Saya ingin ini menjadi sistem modular sehingga saya dapat terus menambahkan sensor dan perangkat ke dalamnya tanpa banyak perubahan. WARAN (A indows IoT, A biru, R aspberry Pi, A rduino, N RF24L01+) adalah sistem otomasi rumah modular dengan terdiri dari satu Hub dan beberapa modul. Modul ini akan menggabungkan mikrokontroler dan sensor yang mengumpulkan data dari berbagai lokasi rumah dan mengirimkan data ke Hub melalui RF. Semua komunikasi antara Hub dan modul terjadi melalui RF. Akan ada aplikasi windows phone pendamping untuk Hub juga. Berikut adalah diagram alir sederhana yang menjelaskan penyiapan.

Mengapa Windows IoT ?

Saya seorang pengembang perangkat lunak yang saat ini menjelajah ke IoT. Dengan pengalaman saya sebelumnya dengan XAML/C# dan Visual Studio (yang saya anggap sebagai IDE terbaik yang pernah ada), sangat membantu saya untuk mengimplementasikannya dengan sangat cepat.

Mengapa NRF24L01+ ?

Ketika saya mencari opsi nirkabel NRF24L01+ muncul sebagai solusi konsumsi daya yang murah dan rendah. Dengan beberapa perpustakaan yang sangat kuat yang tersedia, kami menjadi solusi terbaik bagi saya.

Mengapa Windows Azure

Windows Azure sangat mudah dipelajari dan diadaptasi. Dengan sedikit konfigurasi yang diperlukan untuk menampilkan layanan, kami dapat lebih fokus pada pengembangan daripada konfigurasi dan penerapan. Pengalaman saya sebelumnya dengan Azure membantu saya dalam integrasi cepat.

Pusat

Hub merupakan pusat pengendali dari WARAN. Ini terdiri dari RPI2, Arduino Uno, dan nRF24L01+. RPI2 menjalankan inti Windows IoT. Ini menjalankan Aplikasi Universal yang bertindak sebagai pusat kendali. Hub akan terhubung ke layar besar (biasanya TV atau monitor) yang melaluinya kita dapat melihat data dari modul dan juga mengontrol modul. Keyboard dan mouse yang terhubung ke RPI2 akan membantu dalam menambahkan, menghapus modul dari pusat kendali. Berikut adalah diagram rangkaiannya (Lihat file WARAN.Hub.fzz. dalam proyek) 

Bagaimana fungsinya?

Setiap modul akan memiliki alamat unik yang digunakan hub untuk berkomunikasi dengannya. Kami akan menambahkan modul ke pusat kendali menggunakan alamat ini dan memberi nama pada modul. Setelah ditambahkan pusat kendali (Aplikasi Universal) akan mengirimkan data ke Arduino Uno melalui I2C. Arduino Uno akan mengirimkan data ke modul melalui nRF24L01+ dan modul membaca data dari sensor atau memulai/menghentikan perangkat berdasarkan data yang diterimanya dan mengirimkan data kembali ke Arduino Uno. Arduino Uno akan mengirimkan data tersebut ke pusat kendali melalui I2C. Data ini yang akan ditampilkan di TV/Monitor dan juga dikirim ke cloud. Arduino Uno hanya akan bertindak sebagai antarmuka untuk RPI2 untuk mendapatkan data sensor dari modul lain. Proses di atas akan terjadi dalam tiga skenario

  1. Pada interval tertentu tergantung pada modul
  2. Saat pengguna berinteraksi dengan pusat kendali (melalui Mouse/Keyboard)
  3. Saat pemicu dikirim dari cloud (vis PubNub)

Berikut adalah alur yang khas

Dan beginilah cara komponen di hub dan modul berinteraksi di antara mereka.

Pusat Kontrol

Pusat kendali adalah aplikasi universal yang berjalan di RPI2. Pusat kendali adalah antarmuka bagi pengguna untuk berinteraksi. Ini berkomunikasi dengan modul dan juga dengan cloud. Pusat kendali WARAN menggunakan Azure Mobile Services dan PubNub sebagai back-end cloud-nya. Setiap info modul yang kami tambahkan akan disimpan secara lokal di sqlite db dan juga dikirim ke layanan seluler Azure. Ini pada gilirannya akan mengirim pesan PubNub atau pemberitahuan push ke aplikasi seluler. Saya tidak ingin menjelaskan bagian coding di sini dan membuat artikel ini berantakan. Kode sumber proyek, dokumentasi, dan detail penerapan dapat ditemukan di https://bitbucket.org/arjunganesan/waran (Saya sedang dalam proses memperbarui dokumentasi sepenuhnya yang akan segera selesai). Beginilah cara kerja pusat kendali

Aplikasi Seluler

Aplikasi seluler adalah aplikasi windows phone (akan dikembangkan untuk platform lain nanti) yang akan bertindak sebagai aplikasi pendamping ke hub. Kita dapat melihat semua data terkait sensor di ponsel di mana saja dari dunia. Jika ada informasi penting yang didapat dari modul (seperti peringatan kebocoran gas dari modul monitor kebocoran gas), kami juga akan mendapatkan notifikasi push. Kami juga dapat memicu beberapa tindakan pada modul (seperti memulai pompa pada modul Penyiram Tanaman) dari ponsel itu sendiri. Karena semua ini terjadi melalui cloud, perangkat seluler tidak perlu berada di dekat hub untuk melakukan semua tindakan ini.

Inilah tampilan Aplikasi Seluler


Modul

Modul adalah kombinasi dari komponen yang bekerja sama dan menerima dan mengirim data ke dan dari Hub melalui RF. Bisa berupa kombinasi seperti Arduino Pro Mini dengan sensor atau RPI2 dengan sensor dll. Yang perlu dilakukan hanyalah menerima data/perintah dari hub melalui RF dan merespons dengan tepat. Ini memberikan kemungkinan modul yang tak terbatas. Untuk memulai saya menambahkan 2 modul

  1. Penyiram Tanaman
  2. Pemantau Suhu

Penyiram Tanaman

Penyiram tanaman akan memantau ketinggian air di tanaman dan juga suhu di lingkungan sekitar tanaman. Jika tidak ada cukup air, peringatan akan dikirim ke aplikasi seluler. Kami dapat memulai pompa dari aplikasi seluler dari mana saja. Kami juga dapat mengonfigurasinya untuk menyalakan pompa secara otomatis setiap kali ketinggian air berada di bawah ambang batas. Terdiri dari Arduino Pro Mini, DHT11, Soil Hygrometer, dan nRF24L01+. Berikut adalah diagram sirkuitnya (Lihat PlantWaterer.fzz dalam proyek)

Daya dari baterai 9V masuk ke pin RAW Arduino Pro Mini. Regulator tegangan inbuilt di arduino akan memberikan output 5V di Vcc. Kami akan menggunakan ini untuk menyalakan DHT11. Kami juga memberikan daya 9V sebagai input ke pengatur tegangan 3.3V yang akan kami gunakan untuk memberi daya nRF24L01+. Ketinggian air dari higrometer akan terbaca pada pin analog A3. Pembacaan suhu dari DHT11 akan terbaca pada pin digital 6. Pada pin digital 5 kita akan mengirimkan sinyal ke transistor atau relay yang digunakan untuk menghidupkan pompa. Untuk tujuan demo saya akan menggunakan pompa DC dan akan menggunakan transistor sebagai saklar. Dan inilah alur cara kerjanya

Saya tidak ingin sirkuit tetap berada di papan tempat memotong roti, jadi saya memindahkannya ke papan perf. Saya ingin tetap kompak jadi saya membuatnya seperti ini. Anda dapat merujuk diagram sirkuit dan membuat tata letak Anda sendiri.

Dan di bawah ini adalah video tentang cara kerjanya.

Pemantau Suhu

Pemantau suhu akan memantau suhu di suatu ruangan (misalnya kamar tidur) dan terus memantau suhu dan tingkat kelembaban. Kami juga dapat menghidupkan/mematikan atau menyesuaikan perangkat (Termostat, AC, dll.) dari hub atau ponsel. Demi demo saya akan mematikan/menghidupkan LED yang terhubung ke arduino. Rangkaian ini terdiri dari Arduino Pro Mini, DHT11 dan nRF24L01+. Di bawah ini adalah diagram sirkuit (Lihat file TemperatureMonitor.fzz dalam proyek)

Daya dari baterai 9V masuk ke pin RAW Arduino Pro Mini. Regulator tegangan inbuilt di arduino akan memberikan output 5V di Vcc. Kami akan menggunakan ini untuk menyalakan DHT11. Kami juga memberikan daya 9V sebagai input ke pengatur tegangan 3.3V yang akan kami gunakan untuk memberi daya nRF24L01+. Pembacaan suhu dan kelembaban dari DHT11 akan terbaca di digital pin 5. Di pin 6 kita akan mengirimkan sinyal ke transistor atau relay yang digunakan untuk start stop device (misal Thermostat, AC dll). Untuk tujuan demo saya akan menggunakan lampu LED untuk menunjukkan mematikan/menghidupkan perangkat. Dan inilah alur cara kerjanya

Inilah cara saya meletakkannya di papan perf. Anda dapat membuat tata letak Anda sendiri berdasarkan diagram sirkuit.

Dan begini cara kerjanya

Masalah Umum

  • Daya - Baterai habis dalam beberapa jam di kedua modul. Perlu menemukan sumber daya yang efisien dan portabel. Saya berencana untuk menggunakan prosesor attiny sebagai pengganti pro mini di modul mana pun yang memungkinkan. Akan lebih hemat daya. Artikel saya sebelumnya tentang attiny dapat ditemukan di sini.
  • I2C Concurrency - Jika RPI2 mengirim 2 permintaan kawat ke Arduino uno sekaligus maka salah satunya gagal. Saya sedang mencari cara untuk menghindari ini dan juga mencoba menerapkan mekanisme coba lagi.
  • Komunikasi Satu Arah - Saat ini Hub memulai permintaan dan modul meresponsnya. Meskipun ini berfungsi dengan baik pada banyak skenario, beberapa modul baru mungkin perlu mengirim data ke Hub tanpa hub mengirimkan permintaan.
  • Rentang - Saya telah menyimpan modul di kamar sebelah dan dapat menerima data dengan benar. Namun jika ingin meningkatkan jangkauan ganti nRF24L01 di Hub dengan NRF24L01+PA+LNA yang memiliki antena eksternal.
  • Keamanan - Karena ini dikembangkan dengan asumsi dimiliki oleh pengembang, saya tidak menambahkan mekanisme otentikasi apa pun. Jika mau, Anda dapat memanfaatkan layanan Identity dari layanan Azure Mobile untuk mengintegrasikan Microsoft, FB, Twitter, autentikasi Google ke aplikasi seluler dan hub.

Rencana Masa Depan

Saya ingin menjadikan ini sebagai platform terbuka bagi orang-orang untuk menerapkan sistem otomatisasi rumah mereka sendiri. Saya akan menstabilkan Hub dan aplikasi Seluler. Saya ingin menambahkan lebih banyak modul ke proyek ini. Perintah dan respons berbasis suara juga ada di peta jalan. Saat ini saya sedang mengerjakan modul di bawah ini

  • Sensor Kebocoran Gas
  • Detektor Intrusi
  • Pengontrol Perangkat (mis. Pengontrol mesin kopi, Pengontrol Cahaya, dll.)
  • Pembuka Pintu Garasi
  • Beberapa Modul yang Dapat Dipakai
  • Layanan Internet tanpa perangkat keras (Cuaca, Aplikasi Azure Logic, Laporan Stok, dll.)
  • Modul yang bekerja di luar jangkauan Hub dan berkomunikasi dengannya melalui internet (mis. Pelacak mobil, Pelacak Hewan Peliharaan, Pedometer, dll.)

Semua modul ini digabungkan bersama dan bekerja sebagai satu unit melalui Hub akan memberi saya sistem otomasi rumah yang selalu saya inginkan. Saya akan terus menambahkan modul baru sebagai proyek terpisah di peretas. Setiap orang dipersilakan untuk menambahkan modul baru dan memperluas. Akan memperbarui halaman wiki tentang cara menambahkan modul baru ke proyek.

Kode

Bitbucket

Skema

WARAN.Hub.fzz PlantWaterer.fzz TemperatureMonitor.fzz

Proses manufaktur

  1. Aplikasi Otomasi Rumah
  2. RASPBERRY PI HOME AUTOMATION
  3. Arduino Digital Dice
  4. Pengontrol Game Arduino
  5. Antarmuka Otomatisasi Rumah Fisik
  6. Game Pixel Chaser
  7. Sistem Penyiraman Tanaman Rumah
  8. Arduino Repulsive Electromagnetic Levitation
  9. Arduino Home Controller Diaktifkan oleh Alexa
  10. NeoMatrix Arduino Pong