Sadržaj:
- Korak 1: Ožičenje hardvera na Pi
- Korak 2: Kodiranje glavnih programa
- Korak 3: Kreiranje baze podataka
- Korak 4: Hardversko kodiranje
Video: Beargardian: 5 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:08
Hej momci za školu, trebala mi je ideja za projekt. Pa sam mislio, to mora biti projekt sa malinom pi i to je lokalni. Odjednom mi je pala na pamet odlična ideja i ne pitajte me kako sam došao na tu ideju, ali sam razmišljao o nadogradnji monitora za bebe. Razmislite samo malo o toj ideji, većina monitora za bebe ima samo funkciju da sluša dječju sobu.
Karakteristike
- Mali svjetlosni show s podesivim bojama
- Kamera koja prikazuje slike uživo
- Zvučnik za reprodukciju muzike
- Senzori za snimanje kretanja bebe
- Sve se to prikazuje na web stranici
Kratke informacije
Dopustite mi da ovo objasnim u kratkoj verziji. Dakle, potrebna nam je web stranica, a za ovaj projekt koristim Flask, potrebna nam je i baza podataka, a ja koristim mysql, također skriptu koja pokreće hardver, a to je s pythonom (3) i kao posljednje potrebno nam je postavljanje servera to bi bio nginx na PI.
Šta nam treba
- Raspberry Pi 3
- Stepmotor 28BYJ
- Steper modul koračnog motora ULN2003 koračni modul
- RGB vodio sa 3 otpornika 330Ohm
- Pi NoIR kamera V2
- Ultrazvučni senzor HC-SR04
- Mikro modul iz ardiuna
- MAX98357A
- Zvučnik 8Ohm
- I ne zaboravite kupiti medvjeda
Postavljanje maline pi ----------------------------------------------- -------------------------------------------------- --------------------------
Prvo moramo postaviti Pi. Počnite se već prijavljivati putem kit -a, ako nemate kit, preporučujem vam da preuzmete ovo, jednostavno upišite svoj statički ip Pi sa ssh -om i krenite s njim. Ako morate instalirati svoj Raspberry Pi, dobio sam loše vijesti, ovo ne objašnjavam u ovom projektu.
Instalirajte pakete
sudo apt update
sudo apt install -y python3-venv python3-pip python3-mysqldb mysql-server uwsgi nginx uwsgi-plugin-python3
Virtuelno okruženje
python3 -m pip install --upgrade pip setuptools wheel virtualenv
mkdir {ime fascikle vašeg projekta} && cd {ime fascikle vašeg projekta} python3 -m venv --system-site-packages env izvor env/bin/aktiviranje python -m pip instaliranje mysql-konektora-python argon2-cffi Bočica-HTTPAuth Flask- MySQL mysql-connector-python passlib
Sada morate klonirati git spremište u fascikli vašeg projekta
github.com/NMCT-S2-Project-I/Project-I.git
Ako pogledate u fasciklu svog projekta, morate vidjeti 5 mapa
- conf
- env
- senzor
- sql
- web
Baza podataka
sudo systemctl status mysql
ss -lt | grep mysql sudo mysql
stvorite korisnika u bazi podataka sa svim privilegijama i napravite svoju bazu podataka
kreirati korisnika 'user'@'localhost' identificiranog 'lozinkom';
kreirati bazu yourdatabasename; dodijelite sve privilegije na vašoj bazi podataka.* korisniku '@' localhost 's opcijom odobrenja;
Conf datoteke za server
U uwsgi-flask.ini mijenjate 'module = …' u 'module = web: app' i put do vašeg virtualenv-a koji ste kreirali. U ostalim datotekama morate promijeniti putanje do stvarnih apsolutnih staza vašeg direktorija.
Kada to shvatite, datoteke možete postaviti na pravo mjesto.
sudo cp conf/project1-*. service/etc/systemd/system/
sudo systemctl daemon-reload sudo systemctl start project1-* sudo systemctl status project1-*
sada moramo ovo učiniti dostupnim
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 ponovo pokrenite nginx.service sudo nginx -t
Ako je sve prošlo dobro, trebali biste imati hello world sa ovom naredbom
wget -qO - localhost
Gotovo! Pa to je dio koji vam omogućava da pokrenete sistem na …
Korak 1: Ožičenje hardvera na Pi
pomoću BCM -a
audio MAX98357A
- BCK na GPIO 18
- Podaci u GPIO 21
- LRCK na GPIO 19
svjetlo
- crveno do GPIO 17
- zelena za GPIO 27
- plavo za GPIO 22
modul motora ULN2003
- pin 1 na GPIO 5
- pin 2 na GPIO 6
- pin 3 na GPIO 13
- pin 4 na GPIO 26
mikro
D0 do GPIO 21
ultrazvučni senzor
- okrenite na GPIO 16
- eho na GPIO 20
Korak 2: Kodiranje glavnih programa
Ne ulazim u detalje ovdje, ali možete provjeriti moj kôd u githubu.
Za početak sam napravio svoj html i css, indeks, prijavu, registraciju, početni ekran, muziku, addmusic, addbear, light, kameru, postavke kamere, senzor, stranicu s nadzornom pločom. Html datoteke moraju biti u predlošcima, a css datoteke u folderu static/css. Možete potpuno prilagoditi css kako želite.
Ako ste uradili ovaj dio, morate postaviti bocu. Flask je jednostavan za korištenje samo kao primjer hello svijeta
# uvozna tikvica u početku
iz flask import * @app.route ('/') def index (): return render_template ('index.html')
Sada je u mom kodu ovo već popunjeno, jedino što trebate učiniti je promijeniti korisnika baze podataka i lozinku na onu koju imate i naravno napraviti istu bazu podataka koju možete pronaći i na githubu.
Korak 3: Kreiranje baze podataka
Za prave obožavatelje ću vam reći kako stvoriti istu bazu podataka.
Dakle, prvo moramo stvoriti bazu podataka ako niste učinili u prvom koraku.
kreiranje baze podataka beargardian;
Nakon što to učinite, kreirate tablice u mysql radnom stolu ili phpadmin -u
korisnička tabela ima
- Korisnički broj
- ime
- prezime
- babyname
- lozinka sa sha1
- userfolder
- muzička muzika (int)
- playlight (int)
- snimanje reprodukcije (int)
muzički sto ima
- musicID
- pjesma
- put
- userfolder
- status
- volumen
sto za snimanje ima
- recordID
- put
- userfolder
- vrijeme
- dan
tablica boja ima
- colorID
- crvena
- zelena
- plava
- svjetlina
- Korisnički broj
medvjeđi stol ima
- bearID (decimalni (8))
- userID default null
- bearname
senzorski sto ima
- sensorID
- razdaljina
- mikro
- bearID
- vrijeme
- dan
- vrijeme spavanja
Dakle, sada ste uspješno stvorili bazu podataka, idemo na hardver.
Korak 4: Hardversko kodiranje
Pokazaću vam malo koda i reći ću vam zašto sam to uradio na taj način.
Za početak sam koristio threading, što je apsolutni must u ovom projektu. Šta je threading, hmmm dobro pitanje! U Pythonu prijeti pokretanje više programa odjednom. Dakle, ako na primjer promijenite boju, možete i snimiti. Lako je koristiti, ne brinite.
import _threaddef function_name (something, something_else): kod za pokretanje
_thread.start_new_thread (ime_funkcije, tuple_with_the_functions_variables)
Ako ste pogledali moj program, vidjeli ste logger.info ('…'). Ovo je funkcija ispisa, ali mnogo bolja, jer na Pi -u ne možete ispisati stvari pa ja napravim datoteku i tamo je isprintam. Yoe možete postaviti datoteku dnevnika s ovim kodom.
logger = logging.getLogger (_ name _) logger.setLevel (logging. INFO) # kreiraj handler za rukovanje datotekama = logging. FileHandler ('logger.log') handler.setLevel (logging. INFO)
# stvorite format zapisa
formatter = logging. Formatter (' %(asctime) s - %(name) s - %(message) s') handler.setFormatter (formatter)
# dodajte rukovaoce u dnevnik
logger.addHandler (rukovatelj)
logger.info ('pokretanje hardvera / n ---------------------------------------'))
dalje u samom kodu sve objašnjavam.
Preporučuje se:
Dizajn igre brzim pokretom u 5 koraka: 5 koraka
Dizajn igre u Flick -u u 5 koraka: Flick je zaista jednostavan način da napravite igru, posebno nešto poput zagonetke, vizuelnog romana ili avanturističke igre
Prepoznavanje lica na Raspberry Pi 4B u 3 koraka: 3 koraka
Prepoznavanje lica na Raspberry Pi 4B u 3 koraka: U ovom uputstvu ćemo izvršiti otkrivanje lica na Raspberry Pi 4 sa Shunya O/S koristeći biblioteku Shunyaface. Shunyaface je biblioteka za prepoznavanje/otkrivanje lica. Cilj projekta je postići najbržu brzinu otkrivanja i prepoznavanja sa
Kako napraviti brojač koraka?: 3 koraka (sa slikama)
Kako napraviti brojač koraka?: Nekada sam se dobro snašao u mnogim sportovima: hodanje, trčanje, vožnja bicikla, igranje badmintona itd. Volim jahanje da bih brzo putovao. Pa, pogledaj moj trbušni trbuh … Pa, u svakom slučaju, odlučujem ponovo početi vježbati. Koju opremu treba pripremiti?
Brojač koraka - Mikro: Bit: 12 koraka (sa slikama)
Brojač koraka - Micro: Bit: Ovaj projekat će biti brojač koraka. Za mjerenje koraka koristit ćemo senzor akcelerometra koji je ugrađen u Micro: Bit. Svaki put kada se Micro: Bit protrese, broju ćemo dodati 2 i prikazati ga na ekranu
Broj koraka / koraka: 3 koraka
পেনড্রাইভ / মেমোরি কার্ডে ভাইরাসের ভাইরাসের হারিয়ে সমাধান সমাধান সমাধান সমাধান সমাধান পেনড্রাইভ পেনড্রাইভ পেনড্রাইভ পেনড্রাইভ মেমোরি মেমোরি মেমোরি মেমোরি মেমোরি মেমোরি মেমোরি এখন এখন এখন।।।।।। Zaštita podataka, pristup prečicama / virusima