Daftar Isi:

Beargardian: 5 Langkah
Beargardian: 5 Langkah

Video: Beargardian: 5 Langkah

Video: Beargardian: 5 Langkah
Video: Teddy Bear SCP-6330 Guardians of the Innocent (SCP Animation) 2024, November
Anonim
Beargardian
Beargardian

Hai teman-teman untuk sekolah saya membutuhkan ide untuk sebuah proyek. Jadi saya berpikir, itu pasti proyek dengan raspberry pi dan itu lokal. Tiba-tiba saya punya ide bagus dan tidak bertanya bagaimana saya mendapatkan ide itu tapi saya berpikir tentang upgrade untuk monitor bayi. Pikirkan sejenak tentang ide itu, kebanyakan monitor bayi hanya memiliki fungsi untuk mendengarkan kamar bayi.

Fitur-fitur

  • Pertunjukan cahaya kecil dengan warna yang dapat disesuaikan
  • Kamera yang menampilkan gambar langsung
  • Speaker untuk memutar musik
  • Sensor untuk menangkap gerakan bayi
  • Semua yang ditampilkan di situs web

Informasi singkat

Mari saya jelaskan ini dalam versi singkat. Jadi kami membutuhkan situs web dan untuk proyek ini saya menggunakan Flask, kami juga membutuhkan database dan saya menggunakan mysql, juga skrip yang menjalankan perangkat keras dan ini dengan python (3) dan terakhir kami memerlukan pengaturan server itu akan menjadi nginx di PI.

Apa yang kita butuhkan

  • Raspberry Pi 3
  • Motor langkah 28BYJ
  • Modul stepper driverchip ULN2003 motor langkah
  • Sebuah rgb dipimpin dengan 3 resistor 330Ohm
  • Kamera Pi NoIR V2
  • Sensor ultrasonik HC-SR04
  • Modul mikro dari ardiuno
  • MAX98357A
  • Pembicara 8Ohm
  • Dan jangan lupa beli beruang

Setup raspberry pi -------------------------------------------- -------------------------------------------------- --------------------------

Pada awalnya kita perlu mengatur Pi. Mulai sudah masuk melalui dempul, jika Anda tidak memiliki dempul, saya sarankan Anda untuk mengunduh ini, cukup ketik ip statis Pi Anda dengan ssh dan Anda menggunakannya. Jika Anda harus menginstal Raspberry Pi Anda maka saya mendapat kabar buruk, saya tidak menjelaskan ini dalam proyek ini.

Instal paket

sudo apt update

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

Lingkungan virtual

python3 -m pip install --upgrade pip setuptools wheel virtualenv

mkdir {nama folder proyek Anda} && cd {nama folder proyek Anda} python3 -m venv --system-site-packages env source env/bin/aktifkan python -m pip install mysql-connector-python argon2-cffi Flask Flask-HTTPAuth Flask- MySQL mysql-konektor-python passlib

Sekarang Anda harus mengkloning repositori git di folder proyek Anda

github.com/NMCT-S2-Project-I/Project-I.git

Jika Anda melihat di folder proyek Anda, Anda harus melihat 5 folder

  • konf
  • env
  • sensor
  • sql
  • jaring

Basis data

sudo systemctl status mysql

ss -lt | grep mysql sudo mysql

buat pengguna di database dengan semua hak istimewa dan buat database Anda

buat pengguna 'pengguna'@'localhost' yang diidentifikasi oleh 'kata sandi';

buat database yourdatabasename; berikan semua hak istimewa pada yourdatabasename.* ke 'pengguna'@'localhost' dengan opsi hibah;

File Conf untuk server

Di uwsgi-flask.ini Anda mengubah 'module = …' menjadi 'module= web:app' dan path ke virtualenv yang Anda buat. Di file lain Anda perlu mengubah jalur ke jalur absolut sebenarnya dari direktori Anda.

Setelah Anda mengetahuinya, Anda dapat mengatur file di tempat yang tepat.

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

sudo systemctl daemon-reload sudo systemctl start project1-* sudo systemctl status project1-*

sekarang kita harus mengatur ini tersedia

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

sudo rm /etc/nginx/sites-enabled/default Sudo ln -s /etc/nginx/sites-available/project1 /etc/nginx/sites-enabled/project1 Sudo systemctl restart nginx.service Sudo nginx -t

Jika semuanya berjalan dengan baik, Anda harus menyapa dunia dengan perintah ini

wget -qO - localhost

Selesai ! Nah itu untuk bagian untuk menjalankan sistem Anda…

Langkah 1: Menghubungkan Perangkat Keras ke Pi

Menghubungkan Perangkat Keras ke Pi
Menghubungkan Perangkat Keras ke Pi

menggunakan BCM

audio MAX98357A

  • BCK ke GPIO 18
  • Data ke GPIO 21
  • LRCK ke GPIO 19

lampu

  • merah ke GPIO 17
  • hijau ke GPIO 27
  • biru ke GPIO 22

modul motor ULN2003

  • pin 1 ke GPIO 5
  • pin 2 ke GPIO 6
  • pin 3 ke GPIO 13
  • pin 4 ke GPIO 26

mikro

D0 ke GPIO 21

sensor ultrasonik

  • coba ke GPIO 16
  • gema ke GPIO 20

Langkah 2: Mengkodekan Program Utama

Saya tidak membahas detailnya di sini tetapi Anda dapat memeriksa kode saya di github.

Untuk mulai dengan saya membuat html dan css saya, indeks, login, register, homescreen, musik, addmusic, addbear, cahaya, kamera, pengaturan kamera, sensor, halaman dasbor. File html harus ada di template dan file css di folder static/css. Anda dapat sepenuhnya menyesuaikan css seperti yang Anda inginkan.

Jika Anda melakukan bagian ini, Anda perlu mengatur labu Anda. Flask mudah digunakan hanya contoh hello world

# impor labu terlebih dahulu

dari flask import * @app.route('/') def index(): return render_template('index.html')

Sekarang dalam kode saya ini sudah diisi, satu-satunya hal yang perlu Anda lakukan adalah mengubah pengguna database dan kata sandi dari Anda dan tentu saja membuat database yang sama yang juga dapat Anda temukan di github.

Langkah 3: Membuat Basis Data

Membuat Basis Data
Membuat Basis Data

Untuk penggemar sejati, saya akan memberi tahu Anda cara membuat database yang sama.

Jadi pertama-tama kita perlu membuat database jika Anda tidak melakukannya di langkah pertama.

membuat basis data beargardian;

Setelah Anda melakukan ini, Anda membuat tabel di meja kerja mysql atau phpadmin

tabel pengguna memiliki

  • identitas pengguna
  • nama depan
  • nama keluarga
  • surel
  • nama bayi
  • kata sandi dengan sha1
  • folder pengguna
  • musik putar (int)
  • lampu putar (int)
  • rekaman putar (int)

meja musik memiliki

  • ID musik
  • lagu
  • jalur
  • folder pengguna
  • status
  • volume

meja rekaman memiliki

  • rekamanID
  • jalur
  • folder pengguna
  • waktu
  • hari

meja warna memiliki

  • ID warna
  • merah
  • hijau
  • biru
  • kecerahan
  • identitas pengguna

meja beruang memiliki

  • bearID (desimal(8))
  • ID pengguna default nol
  • nama beruang

meja sensor memiliki

  • ID sensor
  • jarak
  • mikro
  • ID beruang
  • waktu
  • hari
  • waktu tidur

Jadi sekarang Anda telah berhasil membuat database, mari kita pergi ke perangkat keras.

Langkah 4: Pengodean Perangkat Keras

Saya akan menunjukkan sedikit kode dan memberi tahu Anda mengapa saya melakukannya seperti itu.

Untuk mulai dengan saya menggunakan threading, apa yang mutlak harus ada dalam proyek ini. Apa itu threading, hmmm pertanyaan bagus! Ancaman yang baik di python adalah menjalankan beberapa program sekaligus. Jadi jika Anda misalnya mengubah warna Anda juga dapat merekam. Mudah digunakan jangan khawatir.

impor _threaddef function_name(something, something_else): kode untuk dijalankan

_thread.start_new_thread(nama_fungsi, tuple_dengan_variabel_fungsi_fungsi)

Jika Anda melihat program saya, Anda melihat logger.info('…'). Ini adalah fungsi cetak tetapi jauh lebih baik, karena pada Pi Anda tidak dapat mencetak barang jadi saya membuat file dan mencetaknya di sana. Anda dapat mengatur file log dengan kode ini.

logger = logging.getLogger(_name_)logger.setLevel(logging. INFO) # buat file handler handler = logging. FileHandler('logger.log') handler.setLevel(logging. INFO)

# buat format logging

formatter = logging. Formatter('%(asctime)s - %(name)s - %(message)s') handler.setFormatter(formatter)

# tambahkan penangan ke logger

logger.addHandler(penangan)

logger.info('start up hardware\n--------------------------------------------------')

lebih lanjut dalam kode itu sendiri saya menjelaskan semuanya.

Direkomendasikan: