Isi kandungan:

Switch-it, Outlet Automatik Dengan Pengukuran Semasa Realtime: 6 Langkah
Switch-it, Outlet Automatik Dengan Pengukuran Semasa Realtime: 6 Langkah

Video: Switch-it, Outlet Automatik Dengan Pengukuran Semasa Realtime: 6 Langkah

Video: Switch-it, Outlet Automatik Dengan Pengukuran Semasa Realtime: 6 Langkah
Video: SULTAN MEDAN INDRAKENZ NAIK JET PRIBADI KE PULAU PRIBADI!! 2024, November
Anonim
Switch-it, Outlet Automatik Dengan Pengukuran Semasa Realtime
Switch-it, Outlet Automatik Dengan Pengukuran Semasa Realtime
Switch-it, Outlet Automatik Dengan Pengukuran Semasa Realtime
Switch-it, Outlet Automatik Dengan Pengukuran Semasa Realtime
Switch-it, Outlet Automatik Dengan Pengukuran Semasa Realtime
Switch-it, Outlet Automatik Dengan Pengukuran Semasa Realtime
Switch-it, Outlet Automatik Dengan Pengukuran Semasa Realtime
Switch-it, Outlet Automatik Dengan Pengukuran Semasa Realtime

Saya sangat suka automatisasi, kemampuan untuk mengawal bila sesuatu mesti berlaku. Inilah yang membuat saya mendapat idea ini: sebuah kedai automatik dan automatik. Ini dapat digunakan untuk merencanakan kapan lampu perlu dihidupkan, kapan ponsel perlu diisi atau ketika layar perlu dihidupkan. Sebagai tambahan kepada semua ini, anda mempunyai kemampuan untuk melihat berapa banyak arus yang mengalir melalui saluran keluar.

Komponen yang diperlukan untuk projek ini adalah:

Bekalan

Sebelum kita memulakan ini adalah perkara yang pasti anda perlukan untuk membina kotak Switch-IT seperti milik saya. Kos ini akan berharga sekitar 50 hingga 100 euro bergantung pada wilayah anda dan harga semasa.

Perkakasan

Elektronik

  • Raspberry pi 4
  • Kad SD-mikro 16gb (atau lebih)
  • Arduino Uno
  • Pengubah tahap 5V-3.3V
  • Modul relay 5V
  • ACS712 20A - modul semasa
  • Modul 3738 kHz IR-Receiver 1838
  • Jauh IR (saya menggunakan Elegoo)
  • katod biasa RGB
  • Perintang 3 * 330Ω
  • tekan butang
  • RFID-RC522
  • LCD 1602A-1
  • Soket dinding Niko
  • Potmeter 10K Ω
  • Bekalan kuasa 230 hingga 5V - 7A

Kabel

  • Kabel USB-B ke USB-A
  • Kabel kuasa USB-C
  • Kabel Ethernet

Pelbagai

  • Jumperwire Lelaki-Perempuan
  • Jumperwire Lelaki-Lelaki
  • Timah pateri
  • Tiub yang mengecut

Bahagian specefic case (PILIHAN)

  • 50 * kacang dan tebal
  • sarung logam 40x40x5 cm dengan penutup
  • pita dua sisi
  • Spacer setinggi 6 * 1cm
  • pemegang dipimpin
  • Pita Velcro
  • panduan kabel

Perisian

  • balenaEtcher:
  • PuTTy
  • rasbian
  • Kod Visual Studio
  • Arduino IDE

Langkah 1: Siapkan Rasbian

Persediaan Rasbian
Persediaan Rasbian
Persediaan Rasbian
Persediaan Rasbian

Mula-mula kita akan memasukkan Rasbian ke SD-Card. Kami akan melakukannya menggunakan balenaEtcher.

  1. Buka balenaEtcher
  2. Pilih Gambar Rasbian
  3. Pilih Kad SD anda
  4. Tekan Flash tunggu beberapa minit sehingga ia berkelip

Menambah APIPA dalam direktori boot: Kami akan menggunakan alamat APIPA untuk memprogram dan mengkonfigurasi tetapan pada RPI. Untuk membuat ini:

  1. Akses direktori boot pada SD-Card
  2. Buka "cmdline.txt"
  3. Tambahkan "169.254.10.1" di akhir dokumen dan simpan
  4. Tambahkan fail yang disebut "ssh" ke direktori boot (JANGAN MEMBERI FILE INI SEBUAH PERLUASAN)
  5. Selepas anda melakukan ini, anda boleh mengeluarkan Kad SD dari PC anda.

Akses RPI menggunakan PuTTy

Sekarang kita boleh memasukkan kad SD ke RPI kita, menyambungkan RPI ke PC anda menggunakan kabel ethernet.

Untuk menyambung ke RPI, kami akan menggunakan PuTTy dengan alamat APIPA kami.

  1. Buka PuTTy
  2. Isi alamat APIPA kami sebagai nama hos (169.254.10.1)
  3. Pastikan port 22 dan SSH dipilih
  4. Sekarang anda boleh membuka sambungan
  5. Nama pengguna lalai adalah: pi
  6. Dengan kata laluan lalai: raspberry

tetapan raspi-config

Buka raspi-config menggunakan:

sudo raspi-config

  • Tukar kata laluan pengguna
  • Dalam pilihan penyetempatan pilih zon waktu anda
  • Siapkan WiFi menggunakan pilihan rangkaian kemudian pilihan Wi-Fi di mana anda harus mengisi SSID dan Kata Laluan anda.

Pasang Python 3

Dalam projek ini kita menggunakan Python, oleh itu kita akan menetapkan lalai ke Python3 insteat Python2, menggunakan perintah berikut

kemas kini-alternatif - pasang / usr / bin / python python /usr/bin/python2.7 1

kemas kini-alternatif - pasang / usr / bin / python python / usr / bin / python3 2

Pakej Python

Kami memerlukan beberapa pakej agar semuanya berfungsi dengan betul, terutamanya pakej Flask dan satu lagi untuk membuat sambungan dengan Pangkalan Data kami. Kami boleh memasang pakej tersebut dengan menggunakan perintah berikut:

pip memasang Flask

memasang pip Flask_cors memasang pip Flask_socketio memasang pip Python-mysql-connecton

Pangkalan data

Selanjutnya kita akan memasang sistem pengurusan pangkalan data (MariaDB) kita akan melakukannya dengan menggunakan:

sudo apt pasang mariadb-server

Ketik "Y" dan Enter untuk meneruskan. Selepas beberapa saat, proses pemasangan selesai dan MariaDB hampir siap digunakan.

Untuk menetapkan berikan kata laluan pangkalan data gunakan arahan:

sudo mysql_secure_installation

Kemudian tekan Enter, kerana kata laluan semasa kosong. Kemudian tekan "Y" untuk menetapkan kata laluan, sekarang anda dapat mengisi kata laluan yang anda mahukan, pastikan untuk mengingatnya kerana kami memerlukannya untuk membuat hubungan yang betul antara back-dan front-end.

Sekarang, tekan "Y" 3 kali untuk: membuang pengguna tanpa nama, melarang masuk root dari jauh dan membuang pangkalan data ujian. Akhirnya, tekan "Y" sekali lagi untuk memuat semula hak istimewa.

Kini MariaDB dan semua pakej yang diperlukan berjaya dipasang.

Langkah 2: Mendapatkan Kod dan Menyiapkannya

Meraih Kod dan Menyusunnya
Meraih Kod dan Menyusunnya
Meraih Kod dan Menyusunnya
Meraih Kod dan Menyusunnya

Sekarang kita sudah memasang semua pakej, kita boleh mengambil kodnya.

Kodnya tersedia di Github sehingga anda dapat mengklonnya menggunakan:

git klon

Inilah bahagian depan

git klon

Inilah backend

Memasang Pangkalan Data itu sendiri

Untuk memasang pangkalan data, arahkan ke fail.sql yang ada di folder backend menggunakan perintah berikut (pastikan untuk menetapkannya ke jalan anda sendiri.

mysql

buat pangkalan data beralih keluar dari mysql -u root -p switchit <Your_Path_to_Backend_Repo / switchit.sql

Memasang Apache

Sekarang kita mempunyai semua kod dan susunan pangkalan data, kita dapat memasang Apache, dan menjalankan backend di dalamnya. Kami akan melakukannya dengan menggunakan:

apt-get install apache2 -y

Kemudian ganti fail dalam / var / ww / html dengan yang ada di folder dari folder frontend.

Sekiranya semuanya berjalan lancar, anda seharusnya dapat menyambung ke laman web anda menggunakan alamat APIPA: 169.254.10.1 di penyemak imbas anda.

Langkah 3: Komunikasi Arduino

Komunikasi Arduino
Komunikasi Arduino

Untuk membaca sensor semasa dan sensor RFID kami, kami menggunakan arduino, untuk melakukannya gunakan kod arduino yang diberikan di bawah. Muat naik menggunakan kabel USB-A ke USB-B dan perisian arduino IDE. Semasa dimuat naik, bahagian arduino selesai.

Sekarang kita mesti mencari nama peranti bersiri pada PI. Untuk melakukannya, pastikan bahawa di /boot/config.txt "enable_uart = 1" ditetapkan dengan betul. Pastikan juga "console = serial0, 115200" dikeluarkan dari cmdline.txt.

Kemudian periksa port menggunakan

ls -l / dev

Maka salah satu nama siri itu ialah Arduino. Isi nama ini di fungsi arduinocom di app.py

ser = bersiri. Siri ('/ dev / ttyS0', 9600)

Lakukan hanya jika komunikasi bersiri tidak berfungsi.

Langkah 4: Tukar Wiring Up

Wiring Up Switch-it
Wiring Up Switch-it
Wiring Up Switch-it
Wiring Up Switch-it

Menyusun semuanya cukup mudah walaupun anda harus terus memperhatikan perkara-perkara:

  • Hati-hati dengan stopkontak dinding, 230 volt boleh membawa maut.
  • Pastikan menggunakan penukar tahap untuk komunikasi antara RPI dan Arduino.
  • Sebelum menyolder RGB, pastikan anda menggunakan pin Merah dan Hijau. Uji ini terlebih dahulu!
  • Uji jika tidak ada litar pintas SEBELUM menghidupkan litar.

Langkah 5: Menjalankan Kod

Sekarang semuanya dihubungkan dengan betul kita dapat menjalankan program kita.

Untuk membuatnya berjalan secara automatik pada permulaan, buat fail menggunakan:

sudo nano myscript.service

Kemudian tampal (pastikan untuk menggunakan direktori app.py anda sendiri:

[Unit] Penerangan = Switchit After = network.target [Service] ExecStart = / usr / bin / python3 -u app.py WorkingDirectory = // ubah ke direktori app.py // StandardOutput = mewarisi StandardError = mewarisi Restart = selalu Pengguna = pi [Pasang] WantedBy = multi-user.target

Kemudian tekan "ctrl + X" dan salin ke / etc / systemd / system.

Kemudian arahan berikut untuk membuatnya berjalan secara automatik:

sudo systemctl aktifkan myscript.service

Anda boleh mendapatkan lebih banyak maklumat mengenai ini di laman RaspBerry Pi.

But semula dan selesai

Sekarang but semula PI anda menggunakan:

rebo sudo -h sekarang

Inilah cara anda membuat Switch-it!

Terima kasih kerana mengikuti, harap ini dapat membantu. Sekiranya anda mempunyai petua atau maklum balas, jangan ragu untuk memberikan komen.

Langkah 6: (PILIHAN) Perumahan

(PILIHAN) Perumahan
(PILIHAN) Perumahan
(PILIHAN) Perumahan
(PILIHAN) Perumahan
(PILIHAN) Perumahan
(PILIHAN) Perumahan
(PILIHAN) Perumahan
(PILIHAN) Perumahan

Anda boleh membina perumahan sepenuhnya mengikut kehendak anda sendiri. Saya menggunakan sarung logam yang berukuran 40x40x5 cm dengan penutup. Oleh kerana saya menggunakan logam, saya harus menggerudi lubang dan menggunakan spacer untuk melepaskan semuanya dari pelat tanah. Saya memilih untuk menggunakan titik pusat di mana 5V, 3.3V dan gnd tersedia. Setiap sambungan elektrik disolder dengan sekeping Susut Tabung di atasnya. Untuk melakukan pengurusan kabel, saya menggunakan pad dengan tali pembawa.

Disyorkan: