Daftar Isi:

Beranda_X: 5 Langkah
Beranda_X: 5 Langkah

Video: Beranda_X: 5 Langkah

Video: Beranda_X: 5 Langkah
Video: Solid Slab 2024, Juli
Anonim
Beranda_X
Beranda_X

Saya seorang mahasiswa di Howest Kortrijk yang mempelajari Teknologi Media dan Komunikasi Baru (NMCT).

Kami semua harus membuat proyek yang berbasis raspberry dan/atau Arduino. Kami harus menggunakan sensor dan database untuk menampilkan data di situs web, dan saat itulah saya mendapat ide untuk membuat rumah pintar mini.

Dengan rumah pintar, Anda akan dapat melihat semua pembacaan sensor di situs web.

Dalam instruksi ini saya akan memandu Anda melalui setiap langkah sehingga Anda dapat membuat ulang proyek ini untuk diri Anda sendiri.

Langkah 1: Bahan: Apa yang Anda Butuhkan

  • Raspberry Pi
  • DHT22
  • Grove - Sensor kualitas udara
  • Grove - Sensor Gas (MQ2)
  • Papan tempat memotong roti
  • Raspberry Pi T Tukang Sepatu
  • Kabel Jumper Pria / Wanita
  • LED 5mm
  • Resistor
  • Kayu dan alat
  • Motor servo
  • GrovePi+

Anda dapat membeli barang-barang ini secara online (Ali express, amazon, kiwi elektronik…) atau di toko lokal Anda.

Daftar detail suku cadang dengan tautan ke toko-toko diberikan di bawah ini di BOM.

Langkah 2: Pengkabelan

Pengkabelan
Pengkabelan
Pengkabelan
Pengkabelan

Saya menggunakan Fritzing untuk pengkabelan untuk mendapatkan gambaran yang bagus tentang bagaimana pengkabelan saya harus dilakukan. Saya sendiri menggunakan GrovePi+ untuk 2 sensor saya. Jika Anda berencana membuat ini tanpa GrovePi+, ikuti skema Fritzing. Saya sensor tidak bekerja untuk Anda, coba gunakan pin yang berbeda.

Anda dapat menemukan file Fritzing di bawah ini.

Langkah 3: Basis Data Menggunakan MySQL

Basis Data Menggunakan MySQL
Basis Data Menggunakan MySQL

Salah satu tugas terpenting yang harus kami implementasikan adalah koneksi dengan database MySQL.

Setiap kali sensor mendapatkan pembacaan atau lampu menyala, Anda akan melihat perubahan ini di database.

Basis data kemudian mengirimkan data ini ke situs web sehingga pengguna juga dapat melihatnya di sana.

Di bawah ini Anda dapat menemukan file.xml saya di mana Anda memiliki gambaran umum tentang cara kerja database, tetapi pertama-tama Anda harus menginstal MySQL dan labu di Raspberry Pi.

Pengkodean sensor terjadi melalui pycharm jadi pastikan itu diinstal juga (di komputer Anda).

Pertama, Anda perlu memeriksa pembaruan dan menginstal paket, seperti ini:

sudo apt-get update && sudo apt-get upgrade

sudo apt install -y python3-venv python3-pip python3-mysqldb mariadb-server uwsgi nginx uwsgi-plugin-python3

Sekarang kita akan menggunakan lingkungan virtual:

me@my-rpi:~ $ python3 -m pip install --upgrade pip setuptools wheel virtualenvme@my-rpi:~ $ mkdir project1 && cd project1 me@my-rpi:~/project1 $ python3 -m venv --system- site-packages env me@my-rpi:~/project1 $ source env/bin/activate (env)me@my-rpi:~/project1 $ python -m pip install mysql-connector-python argon2-cffi Flask Flask-HTTPauth Labu-MySQL mysql-konektor-python passlib

Seharusnya memberitahu Anda bahwa mariadb.service aktif.

Sekarang, di pycharm buka VCS > Impor dari Kontrol Versi > GitHub en clone

Kemudian konfigurasikan konfigurasi penerapan untuk direktori yang baru saja Anda buat, mis. /home/saya/proyek1.

Setelah ini selesai, buka pengaturan juru bahasa dan konfigurasikan lingkungan virtual yang baru saja Anda buat, mis. /home/me/project/env/bin/python. Pemetaan jalur juga perlu diisi.

Jika Anda melakukan semua ini, database seharusnya sudah berjalan.

sudo systemctl status mysql

Sekarang kita perlu membuat pengguna untuk database kita, seperti:

sudo mariadb

BUAT PENGGUNA 'project-admin'@'localhost' DIIDENTIFIKASI DENGAN 'adminpassword'; BUAT PENGGUNA 'project-web'@'localhost' DIIDENTIFIKASI DENGAN 'webpassword'; BUAT PENGGUNA 'project-sensor'@'localhost' DIIDENTIFIKASI DENGAN 'sensorpassword'; BUAT proyek DATABASE;

HIBAH SEMUA HAK ISTIMEWA PADA proyek.* ke 'project-admin'@'localhost' DENGAN GRANT OPTION;GRANT SELECT, INSERT, UPDATE, DELETE ON project.* TO 'project-web'@'localhost'; GRANT SELECT, INSERT, UPDATE, DELETE ON project.* TO 'project-sensor'@'localhost'; HAK ISTIMEWA;

Sekarang untuk melihat database kita di pycharm kita harus membuat koneksi.

Kita dapat melakukan ini dengan membuka View > Tool Windows > Database dan mengklik tombol "plus" berwarna hijau.

Sumber Data > MySQL dan klik (jika ada) pada tombol Unduh driver yang muncul.

Lalu buka SSH/SSL dan centang SSH. Isi host/user/password untuk pi dan gunakan port 22 jika belum terisi.

Jika Anda ingin pycharm mengingat kata sandi Anda, centang kotak "Ingat kata sandi".

Pada tab "General", isikan localhost di host, project di Database dan gunakan project-admin dengan password untuk dapat menguji koneksi.

Untuk sekarang membuat database dapat digunakan, Anda perlu menjalankan.sql yang saya tempatkan di bawah. Coba gunakan opsi impor, jika Anda tidak dapat mengimpor file dump, Anda harus menambahkan tabel secara manual.

Setelah ini selesai, Anda perlu menemukan direktori conf dengan dua file.service. Di sana ubah setiap seb yang Anda temukan dengan nama pengguna yang Anda gunakan di pi Anda. Juga, grup harus www-data.

Langkah selanjutnya adalah memulai layanan ini di pi Anda, seperti:

sudo cp conf/project-*.service /etc/systemd/system/

sudo systemctl daemon-reload

sudo systemctl memulai proyek-*

sudo systemctl status proyek-*

Anda akan melihat dua layanan aktif ketika semuanya berjalan sesuai rencana.

Langkah terakhir adalah mengaktifkan nginx.

Pertama periksa apache2 di pi Anda, jika Anda sudah menginstal ini, hapus atau nonaktifkan.

Di file nginx pertama-tama Anda harus mengubah uwsgi_pass, lalu jalankan perintah ini.

sudo cp conf/nginx /etc/nginx/sites-available/project

sudo rm /etc/nginx/sites-enabled/default

sudo ln -s /etc/nginx/sites-available/project1/etc/nginx/sites-enabled/project

sudo systemctl restart nginx.service

sudo systemctl status nginx.service

Nginx harus aktif dan berjalan. Jika semuanya benar, Anda sekarang dapat berselancar ke pi Anda. Anda akan melihat "Halo dunia" pada awalnya tetapi Anda masih harus mengubah konten file itu dengan kode saya di bawah ini.

Anda dapat mengaktifkan layanan sehingga mereka akan berjalan secara otomatis saat pi dimulai.

Ketika Anda melakukan semua ini, pastikan Anda memasukkan setidaknya 1 rumah dengan alamat di database. Anda dapat melakukan ini dengan memasukkan sederhana ke dalam.

Langkah 4: Pengkodean

Pengkodean
Pengkodean
Pengkodean
Pengkodean

Anda dapat mengunduh kode melalui Github:

github.com/NMCT-S2-Project-I/project-i-Tib…

Kode untuk sensor disertakan dalam file sensor.py.

Jangan lupa untuk mengubah nama saya menjadi milik Anda (atau pengguna yang Anda gunakan di pi Anda) di file layanan sehingga mereka dapat berjalan dengan baik dan menempatkan kode saya di file yang sudah ada di Pycharm Anda.

Langkah 5: Perumahan

Perumahan
Perumahan
Perumahan
Perumahan
Perumahan
Perumahan
Perumahan
Perumahan

Saya membuat gambar cepat tentang bagaimana saya menginginkan rumah saya, tetapi rumah Anda bisa terlihat sangat berbeda. Anda hanya perlu memastikan bahwa Anda memiliki keseluruhan sehingga servo dapat membuka dan menutup jendela.

Saya biasanya menggunakan bor kecil dan gergaji untuk memotong kayu. Saya juga memastikan bahwa dindingnya cukup tebal sehingga saya bisa menempatkan servo saya di dalamnya.

Ketika Anda selesai dengan desain Anda dan servo sudah terpasang, Anda hanya perlu menghubungkan sensor dan menempatkan pi di dalam rumah dan Anda siap untuk pergi.

Seperti yang saya sebutkan sebelumnya rumah Anda dapat terlihat persis sama dengan rumah saya, Anda hanya perlu memberi ruang untuk servo dan jendela.

Akhirnya Anda selesai dengan proyek. Saya harap panduan ini cukup jelas sehingga Anda juga dapat membuat rumah pintar yang luar biasa seperti yang saya lakukan.

Semoga berhasil.

Direkomendasikan: