Satura rādītājs:
- 1. darbība: aparatūras savienošana ar Pi
- 2. darbība: galveno programmu kodēšana
- 3. darbība. Datu bāzes izveide
- 4. solis: aparatūras kodēšana
Video: Beargardian: 5 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:57
Čau puiši uz skolu Man bija vajadzīga ideja projektam. Tāpēc es domāju, ka tam jābūt projektam ar aveņu pi, un tas ir vietējais. Pēkšņi man radās lieliska ideja un nejautājiet man, kā man rodas šī ideja, bet es domāju par mazuļa monitora jaunināšanu. Vienkārši padomājiet par šo ideju, lielākajai daļai bērnu monitoru ir tikai funkcija klausīties mazuļa istabu.
Iezīmes
- Neliels gaismas šovs ar regulējamām krāsām
- Kamera, kas parāda tiešraides attēlus
- Skaļrunis mūzikas atskaņošanai
- Sensori, lai fiksētu mazuļa kustību
- Tas viss tiek parādīts vietnē
Īsa informācija
Ļaujiet mums to izskaidrot īsā versijā. Tātad mums ir nepieciešama vietne, un šim projektam es izmantoju kolbu, mums ir nepieciešama arī datu bāze, un es izmantoju mysql, kā arī skripts, kas vada aparatūru, un tas ir ar python (3), un kā pēdējais mums ir nepieciešama servera iestatīšana tas būtu nginx uz PI.
Kas mums vajadzīgs
- Raspberry Pi 3
- Pakāpis 28BYJ
- Pakāpju motora mikroshēmas ULN2003 pakāpju modulis
- Rgb led ar 3 rezistoriem 330Ohm
- Pi NoIR kamera V2
- Ultraskaņas sensors HC-SR04
- Mikromodulis no ardiuno
- MAX98357A
- Skaļrunis 8 omi
- Un neaizmirstiet iegādāties lāci
Aveņu pi iestatīšana ----------------------------------------------- -------------------------------------------------- --------------------------
Sākumā mums ir jāiestata Pi. Sāciet jau pieteikties, izmantojot špakteli, ja jums nav špakteles, es iesaku to lejupielādēt, vienkārši ierakstiet savu statisko Pi ip ar ssh un dodieties ar to. Ja jums jāinstalē Raspberry Pi, tad es saņēmu sliktas ziņas, es šajā projektā to neskaidroju.
Instalējiet paketes
sudo apt atjauninājums
sudo apt instalēt -y python3-venv python3-pip python3-mysqldb mysql-server uwsgi nginx uwsgi-plugin-python3
Virtuālā vide
python3 -m pip install --upgrade pip setuptools wheel virtualenv
mkdir {jūsu projekta mapes nosaukums} && cd {jūsu projekta mapes nosaukums} python3 -m venv-system-site-paketes env avots env/bin/aktivizēt python -m pip instalēt mysql-connector-python argon2-cffi kolbas kolba-HTTPAuth kolba- MySQL mysql-savienotājs-python piekļuves
Tagad jums ir jāklonē git krātuve jūsu projekta mapē
github.com/NMCT-S2-Project-I/Project-I.git
Ja paskatās projekta mapē, jums ir jāredz 5 mapes
- konf
- env
- sensors
- sql
- tīmeklī
Datu bāze
sudo systemctl statuss mysql
ss -lt | grep mysql sudo mysql
izveidot datu bāzē lietotāju ar visām privilēģijām un izveidot savu datu bāzi
izveidot lietotāju 'user'@'localhost', kas identificēts ar 'paroli';
izveidot datu bāzi jūsudatabasename; piešķirt visas privilēģijas jūsu datubāzes nosaukumā.* lietotājam@'localhost' ar piešķiršanas iespēju;
Conf faili serverim
Vietnē uwsgi-flask.ini maināt “module =…” uz “module = web: app” un izveidoto ceļu uz jūsu virtualenv. Citos failos jums ir jāmaina ceļi uz direktorija faktiskajiem absolūtajiem ceļiem.
Kad esat to sapratis, varat iestatīt failus pareizajā vietā.
sudo cp conf/project1-*. serviss/etc/systemd/system/
sudo systemctl dēmons-pārlādēt sudo systemctl sākt projektu1-* sudo systemctl statuss projekts1-*
tagad mums tas ir jādara pieejams
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
Ja viss noritēja labi, jums vajadzētu sveicināt pasauli ar šo komandu
wget -qO - vietējais saimnieks
Gatavs! Tā ir daļa, kas ļauj palaist jūsu sistēmu …
1. darbība: aparatūras savienošana ar Pi
izmantojot BCM
audio MAX98357A
- BCK uz GPIO 18
- Dati uz GPIO 21
- LRCK uz GPIO 19
gaisma
- sarkans līdz GPIO 17
- zaļš līdz GPIO 27
- zils līdz GPIO 22
motora modulis ULN2003
- 1. tapa līdz GPIO 5
- 2. tapa līdz GPIO 6
- 3. tapa līdz GPIO 13
- 4. tapa līdz GPIO 26
mikro
D0 līdz GPIO 21
ultraskaņas sensors
- pārslēdziet uz GPIO 16
- atbalss GPIO 20
2. darbība: galveno programmu kodēšana
Šeit es neiedziļinos detaļās, bet jūs varat pārbaudīt manu kodu vietnē github.
Sākumā es izveidoju savu html un css, indeksu, pieteikšanos, reģistrāciju, sākuma ekrānu, mūziku, addmusic, addbear, gaismu, kameru, kameru iestatījumus, sensoru, informācijas paneļa lapu. HTML failiem ir jābūt veidnēs, bet css failiem - mapē static/css. Jūs varat pilnībā pielāgot css, kā vēlaties.
Ja esat veicis šo daļu, jums jāiestata kolba. Kolbu ir viegli izmantot tikai sveikas pasaules piemērs
# importa kolba sākumā
no kolbas importēšanas * @app.route ('/') def index (): return render_template ('index.html')
Tagad manā kodā tas jau ir aizpildīts, vienīgais, kas jums jādara, ir nomainīt datubāzes lietotāju un paroli uz jums un, protams, izveidot to pašu datu bāzi, kuru varat atrast arī vietnē github.
3. darbība. Datu bāzes izveide
Īstiem faniem es jums pastāstīšu, kā izveidot to pašu datu bāzi.
Tātad vispirms mums ir jāizveido datu bāze, ja jūs to nedarījāt pirmajā solī.
izveidot datu bāzi beargardian;
Kad esat to izdarījis, jūs izveidojat tabulas mysql workbench vai phpadmin
lietotāju tabulā ir
- Lietotāja ID
- vārds
- uzvārds
- e -pastu
- babyname
- parole ar sha1
- lietotāja mape
- playmus (int)
- playlight (int)
- atskaņošanas ieraksts (int)
mūzikas galdam ir
- musicID
- dziesma
- ceļš
- lietotāja mape
- statuss
- apjoms
ierakstīšanas tabulā ir
- ieraksta ID
- ceļš
- lietotāja mape
- laiks
- diena
krāsu galdam ir
- colorID
- sarkans
- zaļš
- zils
- spilgtums
- Lietotāja ID
lāču galdam ir
- bearID (decimālskaitlis (8))
- userID noklusējuma nulle
- bearname
sensoru tabulā ir
- sensorID
- attālums
- mikro
- bearID
- laiks
- diena
- miega laiks
Tātad, tagad esat veiksmīgi izveidojis datu bāzi, dodieties uz aparatūru.
4. solis: aparatūras kodēšana
Es parādīšu nedaudz koda un pastāstīšu, kāpēc es tā rīkojos.
Vispirms es izmantoju vītņošanu, kas šajā projektā ir absolūti nepieciešama. Kas ir pavedināšana, hmmm labs jautājums! Python draudi ir palaist vairākas programmas vienlaikus. Tātad, ja, piemēram, maināt krāsu, varat arī ierakstīt. Tas ir viegli lietojams, neuztraucieties.
importēt _threaddef function_name (kaut kas, kaut kas cits): kods, kas jāizpilda
_thread.start_new_thread (funkcija_nosaukums, kopums_ar_funkciju_variables)
Ja paskatījāties uz manu programmu, jūs redzējāt logger.info ('…'). Šī ir drukas funkcija, bet daudz labāka, jo uz Pi nevar izdrukāt materiālus, tāpēc es izveidoju failu un izdrukāju to tur. Jūs varat iestatīt žurnāla failu ar šo kodu.
logger = logging.getLogger (_ name _) logger.setLevel (logging. INFO) # izveidot failu apstrādātāja apstrādātāju = logging. FileHandler ('logger.log') handler.setLevel (logging. INFO)
# izveidot reģistrēšanas formātu
formatētājs = reģistrēšana. Formatter (' %(asctime) s - %(name) s - %(message) s') handler.setFormatter (formatter)
# pievienojiet apstrādātājus reģistratoram
logger.addHandler (apstrādātājs)
logger.info ('palaidiet aparatūru / n ---------------------------------------')
tālāk pašā kodā es visu izskaidroju.
Ieteicams:
Arduino brīdinājuma sistēma par automašīnas novietošanu atpakaļgaitā Soli pa solim: 4 soļi
Arduino brīdinājuma sistēma par automašīnas novietošanu atpakaļgaitā Soli pa solim: Šajā projektā es izveidošu vienkāršu Arduino automašīnas atpakaļgaitas stāvvietas sensora shēmu, izmantojot Arduino UNO un ultraskaņas sensoru HC-SR04. Šo uz Arduino bāzēto automašīnas reverso brīdinājuma sistēmu var izmantot autonomai navigācijai, robotu diapazonam un citiem diapazoniem
Soli pa solim datora veidošana: 9 soļi
Soli pa solim datora veidošana: Piegādes: Aparatūra: mātesplateCPU & CPU dzesētājs PSU (barošanas bloks) Krātuve (HDD/SSD) RAMGPU (nav nepieciešams) Korpuss Instrumenti: skrūvgriezis ESD rokassprādze/matermālā pasta ar aplikatoru
Trīs skaļruņu shēmas -- Soli pa solim apmācība: 3 soļi
Trīs skaļruņu shēmas || Soli pa solim apmācība: Skaļruņu ķēde pastiprina no vides saņemtos audio signālus uz MIC un nosūta to skaļrunim, no kura tiek radīts pastiprināts audio. Šeit es parādīšu trīs dažādus veidus, kā izveidot šo skaļruņu shēmu, izmantojot:
Arduino Halloween Edition - zombiju uznirstošais ekrāns (soļi ar attēliem): 6 soļi
Arduino Helovīna izdevums - zombiju uznirstošais ekrāns (soļi ar attēliem): Vai vēlaties Helovīnā nobiedēt savus draugus un radīt kliedzošu troksni? Vai arī vienkārši gribi uztaisīt labu palaidnību? Šis zombiju uznirstošais ekrāns to var izdarīt! Šajā pamācībā es iemācīšu jums, kā viegli izveidot izlecošus zombijus, izmantojot Arduino. HC-SR0
Akustiskā levitācija ar Arduino Uno soli pa solim (8 soļi): 8 soļi
Akustiskā levitācija ar Arduino Uno soli pa solim (8 soļi): ultraskaņas skaņas pārveidotāji L298N līdzstrāvas adaptera strāvas padeve ar vīriešu līdzstrāvas tapu Arduino UNOBreadboard un analogie porti koda konvertēšanai (C ++)