Daftar Isi:

Jaringan Stasiun Sensor untuk Pencahayaan dan Kontrol Keamanan: 5 Langkah (dengan Gambar)
Jaringan Stasiun Sensor untuk Pencahayaan dan Kontrol Keamanan: 5 Langkah (dengan Gambar)

Video: Jaringan Stasiun Sensor untuk Pencahayaan dan Kontrol Keamanan: 5 Langkah (dengan Gambar)

Video: Jaringan Stasiun Sensor untuk Pencahayaan dan Kontrol Keamanan: 5 Langkah (dengan Gambar)
Video: Fitur canggih di OPPO Reno 5 yang jarang diketahui penggunanya : Air Gesture 2024, Juli
Anonim
Jaringan Stasiun Sensor untuk Pencahayaan dan Kontrol Keamanan
Jaringan Stasiun Sensor untuk Pencahayaan dan Kontrol Keamanan
Jaringan Stasiun Sensor untuk Pencahayaan dan Kontrol Keamanan
Jaringan Stasiun Sensor untuk Pencahayaan dan Kontrol Keamanan
Jaringan Stasiun Sensor untuk Pencahayaan dan Kontrol Keamanan
Jaringan Stasiun Sensor untuk Pencahayaan dan Kontrol Keamanan

Dengan jaringan stasiun sensor ini dikonfigurasi dalam mode master/slave, Anda akan dapat melakukan kontrol pencahayaan dan keamanan di rumah Anda. Stasiun sensor ini (Node01, Node02 dalam proyek ini) terhubung ke stasiun master (Node00) yang terhubung ke jaringan wifi lokal Anda. Saya telah menginstal Node01 di ruang penyimpanan saya dan Node02 di garasi saya mengendalikan lampu dan gerakan. Stasiun master dipasang di ruang makan kami yang terhubung ke router wifi kami. Saya telah memasang bel di garasi dan bel kecil di stasiun master untuk berbunyi ketika ada gerakan yang terdeteksi oleh beberapa stasiun sensor di jaringan.

Fitur utama dari jaringan adalah:

  • Dimungkinkan untuk mengonfigurasi jaringan dengan lebih dari dua stasiun sensor (stasiun slave) (Node01, Node02, Node03, ….)
  • Karena penggunaan transceiver nirkabel dengan antena, jaringan mampu mencakup area yang luas
  • Anda dapat mengontrol seluruh jaringan dari ponsel
  • Kirim email (akun Gmail) saat gerakan terdeteksi dan mode alarm diaktifkan. Jadi jika Anda mengaktifkan pemberitahuan push Gmail di ponsel Anda, Anda akan tahu kapan gerakan terdeteksi di jaringan Anda

untuk tujuan domotik:

  • Nyalakan lampu saat ada gerakan yang terdeteksi / nyalakan selalu lampu (untuk seluruh jaringan atau untuk setiap stasiun slave)
  • Ubah waktu dalam menit lampu menyala setelah gerakan terdeteksi untuk setiap stasiun budak

untuk tujuan keamanan:

  • Aktifkan dan nonaktifkan mode alarm
  • Setiap stasiun budak dapat mengirim sinyal ke stasiun master (Node00) ketika mode alarm diaktifkan dan gerakan terdeteksi
  • Stasiun master dapat mengaktifkan bel dan mengirim email ketika salah satu sinyal ini diterima dari stasiun pendukung mana pun dan mode alarm diaktifkan. Stasiun master (Node00) terhubung ke internet menggunakan koneksi wifi untuk mengontrol seluruh sistem menggunakan ponsel. Ini dikonfigurasi seperti WifiWebServer

Langkah 1: Daftar Materi

Daftar Bahan
Daftar Bahan
Daftar Bahan
Daftar Bahan

Daftar material yang saya gunakan untuk membangun Node01 dan Node02 (slave station) adalah sebagai berikut:

  • Papan Mega 2560 R3
  • Dukungan plastik untuk MEGA 2560 R3
  • Sensor PIR HC-SR501
  • Dukungan plastik untuk HC-SR501
  • Relai 5V
  • Modul Transceiver Nirkabel 2.4G 1100m NRF24L01+PA+LNA dengan Antena LKY67
  • Adaptor 8Pin NRF24L01 (untuk meningkatkan fitur NRF24L01)
  • HLK-PM01 AC DC 220V ke Catu Daya Mini 5V

Daftar bahan untuk membangun Node00 (master station) adalah sebagai berikut:

  • Papan Mega 2560 R3
  • Dukungan plastik untuk MEGA 2560 R3
  • Modul WiFi NodeMCU Lua Amica V2 ESP8266
  • Modul Transceiver Nirkabel 2.4G 1100m NRF24L01+PA+LNA dengan Antena LKY67
  • Papan adaptor 5v-3.3v VCC untuk NRF24L01 (untuk meningkatkan fitur NRF24L01)
  • Adaptor AC-DC, 9V, 1A (2, 1 mm x 5, 5 mm)

Selain itu saya telah menggunakan bahan berikut:

  • 2 Pin 5 mm konektor PCB
  • Kabel jumper
  • Papan tempat memotong roti MB-102 (800 kontak)
  • Mini Solderless Breadboard 170 kontak
  • Set led dan resistansi
  • papan PCB
  • Kit Besi Solder Timah
  • Lem tembak
  • metakrilat transparan
  • lonceng

Langkah 2: Cara Menghubungkan dan Memprogram Node01 dan Node02 (Stasiun Slave)

Cara Menghubungkan dan Memprogram Node01 dan Node02 (Stasiun Slave)
Cara Menghubungkan dan Memprogram Node01 dan Node02 (Stasiun Slave)
Cara Menghubungkan dan Memprogram Node01 dan Node02 (Stasiun Slave)
Cara Menghubungkan dan Memprogram Node01 dan Node02 (Stasiun Slave)

Untuk memprogram sketsa "SlaveSation.ino" saya membutuhkan perpustakaan RF24 dan perpustakaan Jaringan RF24.

Pada diagram alir di atas Anda dapat melihat logika stasiun sensor dan pesan yang dipertukarkan antara stasiun sensor budak dan stasiun master.

Sebelum Anda memuat sketsa, Anda harus mengonfigurasi alamat node budak dalam format oktal

const uint16_t this_node = 01; // Alamat node kita dalam format oktal (slave): 01, 02, 03 …

Arti dari led di setiap stasiun budak adalah sebagai berikut:

  • dipimpin biru. Ini akan menyala saat pin sensor PIR tinggi.
  • dipimpin hijau. Ini akan menyala ketika alarm terhubung.

Langkah 3: Cara Menghubungkan dan Memprogram Node00 (Stasiun Master)

Cara Menghubungkan dan Memprogram Node00 (Stasiun Master)
Cara Menghubungkan dan Memprogram Node00 (Stasiun Master)
Cara Menghubungkan dan Memprogram Node00 (Stasiun Master)
Cara Menghubungkan dan Memprogram Node00 (Stasiun Master)
Cara Menghubungkan dan Memprogram Node00 (Stasiun Master)
Cara Menghubungkan dan Memprogram Node00 (Stasiun Master)

Di stasiun Node00 kita dapat menemukan dua papan yang berbeda:

  • Papan MEGA 2560 R3. Perangkat ini digunakan untuk menerima pesan dari stasiun budak ketika gerakan terdeteksi menggunakan komunikasi nirkabel. Ini akan mengaktifkan bel ketika gerakan terdeteksi dan alarm terhubung. Untuk menghentikan bel cukup lepaskan mode alarm saja. Selain itu, ia mengirim pesan ke stasiun budak dari NodeMCU untuk mengaktifkan atau menonaktifkan deteksi gerakan, untuk selalu menyalakan lampu, untuk selalu mematikan lampu, …
  • Papan NodeMCU Lua Amica V2 ESP8266. Ia bekerja seperti Wifi Web Server untuk mengirim dan menerima perintah dari tempat yang jauh menggunakan halaman Web di ponsel. Selain itu, mengirim pesan email ketika gerakan terdeteksi dan mode alarm diaktifkan.

Kedua perangkat diprogram untuk berkomunikasi satu sama lain dalam konfigurasi Master(NodeMCU)/Slave(MEGA) melalui protokol serial sinkron I2C menggunakan Wire Library. Protokol I2C melibatkan penggunaan dua jalur untuk mengirim dan menerima data: pin jam serial (SCL) dan pin data serial (SDA) di mana data dikirim antara dua perangkat.

Seperti yang Anda lihat pada gambar, dua pin untuk komunikasi I2C di papan MEGA 2560 R3 adalah:

  1. SDA -> pin 20 SDA
  2. SCL -> pin 21 SCL

dan yang lainnya di NodemMCU adalah:

  1. SDA -> pin digital 1
  2. SCL -> pin digital 2

Sebelum Anda memuat sketsa untuk ESP8266 Anda harus menginstal papan ESP8266. Untuk melakukannya, Anda harus memasukkan "https://arduino.esp8266.com/stable/package_esp8266com_index.json" ke dalam "Additional Board Manager URLs" di jendela preferensi di Arduino IDE. Setelah itu anda harus membuka boards manager dan install "esp8266"

Saya menggunakan adaptor catu daya eksternal (9V, 1A) untuk papan MEGA 2560 R3 (colokan listrik DC, 2, 1mm x 5, 5 mm) dan saya menghubungkan papan NodeMCU ke pin 3V3 di papan MEGA.

Langkah 4: WifiWebServer (NodeMCU di Stasiun Master)

WifiWebServer (NodeMCU di Stasiun Master)
WifiWebServer (NodeMCU di Stasiun Master)
WifiWebServer (NodeMCU di Stasiun Master)
WifiWebServer (NodeMCU di Stasiun Master)

Sketsa yang dimuat ke NodeMCU (Node00 atau stasiun master) dikonfigurasi seperti WebServer yang terhubung ke jaringan wifi rumah Anda. Dimungkinkan untuk mengakses dari jarak jauh jika Anda mengonfigurasi penerusan porta di router Anda.

Sebelum Anda memuat sketsa WifiWebServerV3.ino ke NodeMCU, Anda harus melakukan hal berikut:

  1. Perbarui port yang akan Anda konfigurasikan di router Anda (port forwarding) untuk mengakses dari jarak jauh ke NodeMCU
  2. Perbarui pengguna dan kata sandi untuk mengakses jaringan wifi rumah Anda
  3. Perbarui login dan kata sandi akun Gmail Anda untuk mengirim email ketika gerakan terdeteksi dan alarm terhubung
  4. Perbarui alamat email tempat Anda akan menerima email

Untuk memperbarui pengguna, kata sandi, dan port yang akan digunakan server untuk mendengarkan, Anda harus mencari kode berikut di sketsa WifiWebServerV3.ino dan memperbaruinya:

const char* ssid = "*** ssid Anda ***";

const char* kata sandi = "*** kata sandi Anda ***"; Server WiFiServer (80);

Untuk memperbarui alamat email tempat Anda akan menerima email, Anda harus mencari kode berikut dan memperbaruinya:

const char* to_email = "*** alamat email tempat Anda akan menerima pesan ***";

Untuk memperbarui pengguna dan kata sandi akun Gmail Anda untuk menerima email, Anda harus mencari kode berikut di file "Gsender.h" dan memperbaruinya:

const char* EMAILBASE64_LOGIN = "*** encode alamat email Anda di BASE64 ***";

const char* EMAILBASE64_PASSWORD = "*** sandi Anda dikodekan di BASE64 ***"; const char* FROM = "*** alamat email Anda ***";

Untuk encode atau decode data di BASE64 saya telah menggunakan www.base64encode.org

Jika Anda memerlukan informasi lebih lanjut tentang mengirim dan menerima email dengan ESP8266, ada "Instructable" tentangnya di sini

Setelah Anda dapat melakukannya, Anda dapat menguji koneksi di router Anda. Jika perangkat terhubung, Anda harus mencadangkan alamat IP yang ditetapkan untuk perangkat ini. Selain itu, sebaiknya bicarakan dengan penyedia Internet Anda untuk menetapkan alamat IP statis pada router Anda.

Untuk mengakses halaman web di dekat router wifi Anda, cukup ketikkan alamat IP lokal yang ditetapkan oleh router Anda mengikuti port yang Anda gunakan di navigator web. Misalnya: 192.168.40.15:800. Jika Anda mencoba mengakses dari jarak jauh, Anda harus mengetikkan alamat IP router Anda mengikuti port yang Anda gunakan seperti di atas.

Halaman web yang saya tunjukkan dalam gambar diprogram untuk mengontrol jaringan dengan dua stasiun budak.

Sistem awalnya dikonfigurasi untuk mengontrol maksimum 5 stasiun budak, tetapi Anda dapat memodifikasinya. Cukup cari kode berikut di WifiWebServerV3.ino dan SlaveStation.ino

#tentukan jumlah_max_slaves 5

Halaman web awalnya dibagi menjadi 4 bagian:

  1. Bagian "Status" di mana itu menunjukkan kepada Anda apakah alarm terhubung atau tidak
  2. Bagian "Penghitung alarm" yang menunjukkan jumlah deteksi gerakan di setiap stasiun budak
  3. Bagian "Alarm" di mana Anda dapat menghubungkan atau memutuskan (CONNECT ALARM/DISCONNECT ALARM) alarm dan mengatur ulang penghitung alarm (RESET COUNTERS)
  4. Bagian "Pencahayaan" di mana Anda dapat mengontrol lampu setiap stasiun budak. Anda dapat mengontrol hal berikut:

    • Nyalakan lampu di semua stasiun slave / nyalakan lampu hanya jika ada gerakan yang terdeteksi di semua stasiun slave (NETWORK ALWAYS ON/NETWORK WHEN MOVEMENT)
    • Ubah waktu dalam menit lampu menyala untuk setiap stasiun budak (NODExx ON 1 MENIT/NODEXX ON 2 MENIT)
    • Nyalakan lampu untuk setiap stasiun slave (NODExx SELALU ON)
    • Nyalakan lampu untuk setiap stasiun budak hanya ketika gerakan terdeteksi (NODExx_MOV)

Anda tidak perlu mengubah apa pun karena ini akan berfungsi apa pun nama stasiun slave yang Anda konfigurasikan. Selain itu secara otomatis akan mendeteksi jumlah stasiun budak yang terhubung dalam jaringan.

Tentu saja, Anda dapat mengunduh sketsa dan dengan mudah memodifikasi kode yang diperlukan untuk menampilkan halaman kontrol web Anda sendiri.

Langkah 5: Dari Awal…

Berikut adalah langkah-langkah yang harus Anda ikuti untuk membangun jaringan Anda:

  1. Beli semua bahan berikut daftar yang saya berikan di "Langkah 1"
  2. Hubungkan komponen berikut gambar yang dapat Anda unduh di "Langkah 2" dan "Langkah 3"
  3. Bangun kotak untuk setiap stasiun budak dan stasiun master. Saya telah membuat kotak metakrilat.
  4. Konfigurasikan setiap stasiun budak:

    Unduh dan muat sketsa "SlaveStation.ino" dalam satu papan MEGA 2560 R3. Anda hanya perlu mengedit sketsa dan memperbarui alamat stasiun budak seperti yang Anda lihat di "Langkah 2"

  5. Konfigurasikan stasiun master:

    • Unduh dan muat sketsa "SlaveStation.ino" dalam satu MEGA 2560 R3. Anda tidak perlu mengubah apa pun berapa pun jumlah node slave jaringan Anda. Awalnya sketsa dikonfigurasi untuk maksimal 5 stasiun budak.
    • Unduh dan muat sketsa "WifiServerV3.ino" di NodeMCU. Anda harus memperbarui sketsa mengikuti instruksi di "Langkah 4"
  6. Konfigurasikan router Anda untuk mengakses NodeMCU dari jarak jauh (port forwarding, IP statis …)

Direkomendasikan: