Isi kandungan:

SmartHome Dengan Raspberry Pi: 5 Langkah
SmartHome Dengan Raspberry Pi: 5 Langkah

Video: SmartHome Dengan Raspberry Pi: 5 Langkah

Video: SmartHome Dengan Raspberry Pi: 5 Langkah
Video: Home Automation Raspberry Pi Distribution Board DIY | IOT Project 2023 2024, Julai
Anonim
SmartHome Dengan Raspberry Pi
SmartHome Dengan Raspberry Pi

Untuk projek ini saya membuat SmartHome yang boleh dikendalikan oleh laman web dan mudah alih. Untuk ini saya menggunakan Raspberry PI sebagai pangkalan data dan pelayan laman web.

Bekalan

Sekiranya anda ingin memulakannya, anda memerlukan beberapa perkara:

  • 5 led putih (5mm)
  • Sensor suhu 1 wayar
  • 1 LDR (perintang bergantung cahaya)
  • 2 motor servo
  • 1 microSD (untuk Raspberry Pi)
  • 1 bekalan kuasa papan roti
  • 1 Model Raspberry Pi 3 B +
  • 3 Plat busa
  • 1 motor Stepper (5V)
  • 1 pembaca RFID-RC522
  • 8 perintang (220 Ohm)
  • 1 perintang (10K Ohm)
  • 2 Papan Roti
  • 2 bungkus jumperwire
  • 1 paparan LCD 16x2
  • 1 PCF8574AN
  • 4 tingkap kecil (dicetak 3D)
  • 1 pintu (dicetak 3D)
  • 2 tingkap besar (dicetak 3D)
  • 1 pintu garaj (dicetak 3D)

Sekiranya anda memerlukan semua ini untuk membeli, kos maksimum adalah sekitar € 150

Langkah 1: Pendawaian

Pendawaian
Pendawaian
Pendawaian
Pendawaian
Pendawaian
Pendawaian

Cara paling mudah untuk memulakannya adalah dengan pendawaian sehingga anda sudah mempunyai asasnya, dengan kaedah ini anda dapat dengan mudah memeriksa apakah semuanya berfungsi ketika anda menulis kodnya.

Dengan cara ini, anda dapat melihat apakah anda mempunyai pin yang mencukupi pada Raspberry Pi untuk menghubungkan semuanya. Dalam kes ini, saya menggunakan PCF8574AN untuk mengawal LCD saya dengan pin GPIO yang kurang.

Untuk melukis skema saya menggunakan Fritzing. Ini adalah program yang berguna di mana anda dapat melihat pemasangan kabel anda dengan teratur.

Seperti yang anda lihat pada foto kedua terdapat banyak kabel sehingga anda masih perlu bekerja dengan teratur.

Langkah 2: Perumahan

Perumahan
Perumahan
Perumahan
Perumahan
Perumahan
Perumahan
Perumahan
Perumahan

Untuk perumahan saya menggunakan papan busa sebagai dinding. Saya menggunakan pisau untuk memotong papan mengikut bentuk yang dikehendaki. Tingkap, pintu dan pintu garaj dicetak 3D. Sudah tentu saya menggambar rumah terlebih dahulu jadi saya tahu dimensi apa yang harus saya gunakan.

Saya menggunakan SketchUp untuk menggambar rumah. Saya menggunakan pistol gam untuk menjaga dinding lurus dan menahannya bersama, Sekiranya anda dapat melihat pada foto, tingkap dan pintu garaj dilekatkan dengan gam sehingga cukup kuat. Kotak hitam pada foto ke-3 adalah kotak yang saya gunakan untuk mengangkut supaya semuanya tetap utuh

Langkah 3: Pangkalan Data

Pangkalan data
Pangkalan data

Pertama sekali, anda perlu merancang pangkalan data menggunakan Mysql Workbench. Sekiranya ini berjaya, anda perlu memasang pangkalan data Mysql pada Raspberry Pi.

Stap pertama yang anda ambil adalah memeriksa apakah Pi anda adalah updatet. Anda boleh menggunakan arahan berikut:

sudo apt-get kemas kini

dan

sudo apt-get peningkatan

Sekarang anda boleh memasang pelayan Mysql:

sudo apt-get pasang mysql-server

Sekiranya pelayan Mysql dipasang, Pasang klien Mysql

sudo apt-get pasang mysql-client

Sekiranya anda sekarang melihat pelayan sql dengan arahan:

sudo mysql

Anda kini boleh mengimport kod pangkalan data anda dengan membuka fail.mwb dengan meja kerja sql dan jurutera ke hadapan. Anda menyalin kod dan tampal ini di mysql dari Raspberry. Pangkalan data dibuat.

Agar pengguna mendapat semua kebenaran, cukup tambahkan nama pengguna anda dalam jadual

berikan semua keistimewaan pada smarthome. * kepada 'namaanda' @ '%' yang dikenal pasti dengan 'namaanda';

sudah tentu anda perlu menyegarkan jadual sekarang

KEISTIMEWAAN FLUSH;

Untuk memeriksa ini, anda boleh mencuba:

gunakan smarthome;

pilih * dari historiek;

Dalam jadual pengguna nama pengguna disertakan dengan lencana mereka, di sini anda boleh menambahkan pengguna baru. Dalam jadual peranti anda boleh menemui semua sensor aktif dengan idnya. Jadual historiek menunjukkan semua yang berlaku seperti sensor suhu, lencana dengan status pintu garaj dan banyak lagi.

Langkah 4: Persediaan

Untuk menetapkan gambar pada Raspberry Pi, anda boleh menggunakan Putty, ini adalah program percuma. Anda boleh mendapatkan fail gambar asas di sini:

Antara muka

Sudah tentu anda perlu mengaktifkan beberapa antara muka pada Pi. Mula-mula pergi ke halaman konfigurasi.

sudo raspi-config

Sekarang anda boleh pergi ke kategori 1-Wire dan Spi dan keduanya membolehkannya. Anda memerlukannya untuk sensor suhu.

Wifi

Ikuti langkah seterusnya untuk mendapatkan wifi di Pi.

Log masuk pertama sebagai root

sudo-i

Kemudian isikan nama dan kata laluan rangkaian wifi anda

wpa_passphrase = "wifiname" "kata laluan" >> /etc/wpa_supplicant/wpa_supplicant.conf

Kemudian masukkan klien WPA

wpa_cli

pilih antara muka

antara muka wlan0

Sekarang muatkan semula konfigurasi

susun semula

Dan sekarang anda boleh memeriksa sama ada anda bersambung

ip a

Pakej

Perkara pertama yang perlu dilakukan ialah mengemas kini versi terkini

sudo apt kemas kini

Untuk python kami memasang dan memastikan bahawa Pi memilih versi yang betul

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

Untuk pelayan laman web menjalankan Laman ini, kita perlu memasang Apache2

sudo apt install apache2 -y

Beberapa pakej python juga perlu dipasang

  • Kelalang
  • Kelalang-Cors
  • Flask-MySQL
  • Flask-SocketIO
  • PyMySQL
  • Python-socketIO
  • permintaan
  • pip
  • gpio
  • Memberi
  • Gevent-websocket

jika ada masalah dengan pakej yang tidak dijumpai, klik kanan padanya dan biarkan pasang.

Langkah 5: Kod

Kod
Kod
Kod
Kod

backend

Untuk backend, kami menulis kod dalam python dan menggunakan pycharm untuk menulis. Laluan dari backend adalah mungkin untuk diperiksa dengan posmen. Dengan aplikasi ini anda boleh menggunakan kaedah POST dan GET. Di bahagian belakang saya menggunakan multithreading sehingga semuanya berjalan di latar belakang dan dapat bekerjasama. Untuk menetapkan gambar pada Raspberry Pi anda boleh menggunakan Putty, ini adalah program percuma.

bahagian depan

Di bahagian depan terdapat beberapa butang yang dapat menyalakan lampu, membuka pintu garaj dan pintu. Dengan menggunakan javascript dan CSS gaya dari butang berubah ketika mereka aktif. Terdapat juga suhu langsung dan carta dengan suhu masa lalu. Di halaman pengguna anda dapat melihat berbagai pengguna, anda juga dapat menambahkan pengguna ke pangkalan data dan ada riwayat pengguna di mana anda dapat melihat siapa yang membuka atau menutup pintu garaj seperti yang terakhir.

Anda boleh mendapatkan kod untuk frontend dan backend di

github.com/NMCT-S2-Project-1/nmct-s2-proje…

Disyorkan: