Cuprins:
- Pasul 1: Componente
- Pasul 2: Cablare
- Pasul 3: Schema bazei de date
- Pasul 4: Configurați Arduino Nano
- Pasul 5: Configurați Raspberry Pi
- Pasul 6: Locuință + hol
- Locuințe
- Senzor de efect Hall
- Pasul 7: Pornirea aplicației
Video: Skate-o-Meter: 7 pași (cu imagini)
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:45
Sunt student la Howest Kortrijk. Pentru a le arăta abilităților lectorilor de care aveam nevoie pentru a construi un proiect, am ales să creez un contor și vitezometru pentru skateboard-ul meu cu un scaner RFID. În acest instructiv, sunt de acord să spun cum am făcut acest proiect.
Mi-a venit această idee pentru că îmi place să patinez și să fac o croazieră. În timp ce navighez, ar fi util să văd câtă distanță am parcurs și să vă văd viteza.
Rețineți că acesta este un prototip.
Pasul 1: Componente
Componente
Am folosit următoarele componente pentru a crea acest proiect:
- Skateboard
- Potențiometru
- LCD
- Senzor efect Hall
- Rezistor 10k Ohm
- Raspberry pi
- Arduino Nano
- Sârmă jumper (de la femeie la bărbat)
- Sârmă jumper (Raspberry Pi)
- Sârmă jumper (de la bărbat la bărbat)
- PCB
- Scaner RFID
- Insignă RFID
- Powerbank
Consultați BillOfMaterials pentru linkuri și preț
Pasul 2: Cablare
Sala are 3 pini: un VCC, un GND și o ieșire. Pământul merge la un GND. VCC la 3,3V și ieșirea din acest exemplu merge la GPIO 26. Un rezistor de 10K Ohm trage ieșirea la mare.
Folosesc comunicarea serială prin USB între raspberry pi și arduino nano pentru a citi insignele. Acest lucru nu este în imagine, dar este necesar!
D9 RST (Reset) D10 SDA (SS) (SPI SS) D11 MOSI (SPI MOSI) D12 MISO (SPI MISO) D13 SCK (SPI SCK) GND GND3.3V 3.3V
Pasul 3: Schema bazei de date
Baza mea de date are 3 tabele:
- Utilizatori
- Sesiune
- Date
Fiecare utilizator poate urmări datele separat. O sesiune are date, astfel încât să știți cât de repede ați parcurs anumite puncte în timp ce sesiunea se desfășura.
Pasul 4: Configurați Arduino Nano
Mai întâi introduceți arduino nano în computer prin intermediul cablului USB. Selectați arduino-ul potrivit și portul USB potrivit pentru încărcare.
În continuare trebuie să adăugăm biblioteca pe care o folosesc pentru citirea insignei RFID. Descărcați „rfid-master” și mergeți la schiță, includeți biblioteca și apoi adăugați biblioteca. ZIP. Accesați fișierul zip pe care tocmai l-ați descărcat și utilizați-l, acesta se va instala automat. După aceea, descărcați „RFID_Read.ino” editat, apăsați ctrl + O adăugați același timp și accesați acest fișier și deschideți-l.
Dacă ați făcut toți acești pași de mai sus, puteți verifica fișierul. Dacă bug-uri prima dată, încercați încă o dată. Dacă acest lucru este reușit, îl puteți încărca pe arduino. Utilizând comanda rapidă ctrl + shift + m puteți deschide monitorul serial. Puteți testa fișierul aici. Dacă testul este reușit, puteți deconecta arduino-ul și îl puteți conecta la un port USB al raspberry pi
Pasul 5: Configurați Raspberry Pi
În acești pași vom configura raspberry pi ca bază de date și server web.
ÎN ACEST EXEMPLU FOLOSESC UTILIZATORUL „eu” DACĂ UTILIZAȚI ALTUI UTILIZATOR TREBUIE SĂ SCHIMBAȚI CONFIGURĂRI, PĂSTRAȚI ACESTA!
1. Creați un utilizator:
Creați o variabilă
pieter @ rpipieter: ~ $ user = me
Făcând utilizatorul sudo și adăugând la toate grupurile
grupuri = $ (id pi -Gn | sed 's / ^ pi // g' | sed 's / /, / g') sudo useradd $ {user} -s / bin / bash -m -G $ {groups} sudo sed "s / ^ pi / $ {user} /" /etc/sudoers.d/010_pi-nopasswd | sudo tee "/etc/sudoers.d/011_${user}-nopasswd" sudo passwd $ {user}
Conectați-vă la cont
pieter @ rpipieter: ~ $ su - me
Parola: eu @ my-rpi: ~ $
2. Conectați-vă cu WiFi
me @ rpipieter: ~ $ sudo -iroot @ rpipieter: ~ # echo 'Parolă' | wpa_passphrase 'Networkname' >> /etc/wpa_supplicant/wpa_supplicant.conf root @ rpipieter: ~ # wpa_cli -i wlan0 reconfigure root @ rpipieter: ~ # logout
Verificați dacă internetul funcționează
root @ rpipieter: ~ # wget google.com
3. Actualizarea raspberry pi și instalarea pachetelor necesare
me @ my-rpi: ~ $ sudo apt update
me @ my-rpi: ~ $ sudo apt upgrade me @ rpipieter: ~ $ sudo apt install -y python3-venv python3-pip python3-mysqldb mysql-server uwsgi nginx uwsgi-plugin-python3 gitme @ my-rpi: ~ $ sudo reporniți -h acum
4. Clonați depozitul meu github
me @ rpipieter: ~ $ git clone
me @ rpipieter: ~ $ cd skate-o-meter / skateometer /
5. Realizarea mediului virtual
În timp ce efectuați aceste comenzi, vor fi instalate o mulțime de pachete, acest lucru poate dura ceva timp.
me @ rpipieter: ~ / skate-o-meter / skateometer $ python3 -m pip install - upgrade pip setuptools wheel virtualenv
me @ rpipieter: ~ / skate-o-meter / skateometer $ python3 -m venv --system-site-packages env (env) me @ rpipieter: ~ / skate-o-meter / skateometer $ python -m pip install mysql- conector-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-connector-python passlib pyjwt pyserial RPi. GPIO
6. Crearea bazei de date și a utilizatorilor
Folosim baza de date mysql
pieter @ rpipieter: ~ / skate-o-meter / skateometer $ cd
pieter @ rpipieter: ~ $ sudo mysql
Apoi copiați, lipiți acest lucru
GRANT SELECT, INSERT, UPDATE, DELETE ON *. * TO 'som-data' @ 'localhost'; SET PASSWORD FOR 'som-data' @ 'localhost' = PASSWORD ('sensor9810'); selectați * din mysql.user; CREAȚI UTILIZATOR 'som-admin' @ 'localhost' IDENTIFICAT DE 'admin9810'; CREAȚI UTILIZATOR „som-web” @ „localhost” IDENTIFICAT DE „web9810”; CREAȚI UTILIZATOR „som-sensor” @ „localhost” IDENTIFICAT DE „sensor9810”; CREATE DATABASE skateometerdb; ACORDAȚI TOATE PRIVILEGIILE PE skateometerdb. * Către „som-admin” @ „localhost” CU OPȚIUNE DE ACORDARE; GRANT SELECT, INSERT, UPDATE, DELETE ON skateometerdb. * TO 'som-web' @ 'localhost'; GRANT SELECT, INSERT, UPDATE, DELETE ON skateometerdb. * TO 'som-sensor' @ 'localhost'; PRIVILEGII DE FLUSH;
Apoi vom adăuga schema de baze de date existentă cu relații.
me @ rpipieter: ~ / skate-o-meter / skateometer $ sudo mysql <sql / skateometerdb_dump-withoutdata.sql
7. Servicii
Aici copiem fișierele noastre de configurare și reîncărcăm folderul, astfel încât să putem activa serviciile
me @ rpipieter: ~ / skate-o-meter / skateometer $ sudo cp conf / som - *. service / etc / systemd / systemme @ rpipieter: ~ / skate-o-meter / skateometer $ sudo systemctl daemon-reload
Acum vom activa serviciile, astfel încât, de fiecare dată când pornim raspberry pi, acestea să pornească automat cu el.
me @ rpipieter: ~ / skate-o-meter / skateometer $ sudo systemctl enable som-flask.service
A fost creat linkul simbolic /etc/systemd/system/multi-user.target.wants/som-flask.service → /etc/systemd/system/som-flask.service. me @ rpipieter: ~ / skate-o-meter / skateometer $ sudo systemctl enable som-data.service Created symlink /etc/systemd/system/multi-user.target.wants/som-data.service → / etc / systemd / system / som-data.service. me @ rpipieter: ~ / skate-o-meter / skateometer $ sudo systemctl start som-data.service me @ rpipieter: ~ / skate-o-meter / skateometer $ sudo systemctl start som-flask.service
8. NGINX
me @ rpipieter: ~ / skate-o-meter / skateometer $ sudo cp conf / nginx / etc / nginx / sites-available / skateometerme @ rpipieter: ~ / skate-o-meter / skateometer $ sudo rm / etc / nginx / sites -enabled / default me @ rpipieter: ~ / skate-o-meter / skateometer $ sudo ln -s / etc / nginx / sites-available / skateometer / etc / nginx / sites-enabled / skateometerme @ rpipieter: ~ / skate-o -meter / skateometer $ sudo systemctl reporniți nginx.service
Pasul 6: Locuință + hol
Locuințe
Mai întâi am făcut o gaură în skateboard-ul meu pentru LCD, potențiometru și buzzer. După aceea am lipit LCD-ul, potențiometrul și buzzer-ul de pe PCB. Apoi am folosit un jumperwire pentru RPI, cel cu 40 de pini. Am pus o parte în zmeura pi și cealaltă jumătate am tăiat-o, pe această latură pe care o vom folosi să o lipim. În fișierul „rpi-cable” puteți vedea unde trebuie să lipiți ce fir.
Pentru carcasă am folosit o cutie curveră veche, am pus câteva găuri în ea pentru un cablu ethernet și pentru ca jumperwire să intre în cutie.
Țin cutia sub skateboard cu niște șuruburi. În interiorul cutiei am aranjat totul, astfel încât să se potrivească și am folosit și șuruburi și câteva cauciucuri pentru a menține totul la locul său. Acest lucru face ca scoaterea lucrurilor să fie mai ușoară.
RFID este montat la lumina cutiei și este ținut în loc cu ziptires, o problemă pe care am întâlnit-o a fost că uneori nu a scanat, dar cu unele modificări am făcut să funcționeze.
Senzor de efect Hall
Mai întâi am făcut o gaură în roată și am pus un magnet în ea.
Pentru hol se folosesc 3 fire jumper (de la bărbat la bărbat), le-am lipit și pe PCB-ul meu, precum și pe hol în sine. Am montat senzorul de hol pe camioneta mea cu niște ziptire. Asigurați-vă că magnetul și senzorul sunt aliniate bine, altfel nu va înregistra întotdeauna pulsul.
Pasul 7: Pornirea aplicației
Pasul 1:
Conectați zmeura și banca de alimentare.
Pasul 2:
Așteptați până când programul începe, puteți urmări acest lucru pe ecranul LCD. Veți vedea adresa IP, accesați această adresă IP.
Pasul 3:
Creați un utilizator, puteți face acest lucru înregistrându-vă. Trebuie să scanați insigna pentru a vedea UID-ul insignei pe ecranul LCD.
Pasul 4:
Dacă ați creat un utilizator, vă puteți scana insigna și va începe o sesiune.
Pasul 5:
Mergeți în croazieră
Pasul 6:
Scanați din nou insigna pentru a opri sesiunea
Pasul 7:
Conectați-vă pentru a vedea sesiunea și datele detaliate din sesiune
Recomandat:
Cum: Instalarea Raspberry PI 4 Headless (VNC) cu Rpi-imager și imagini: 7 pași (cu imagini)
Cum: Instalarea Raspberry PI 4 Headless (VNC) cu Rpi-imager și Pictures: Plănuiesc să folosesc acest Rapsberry PI într-o grămadă de proiecte distractive din blogul meu. Simțiți-vă liber să o verificați. Am vrut să mă întorc să folosesc Raspberry PI, dar nu aveam tastatură sau mouse în noua mea locație. A trecut ceva timp de când am configurat un Raspberry
Cum să faci LED ICE SKATE: 6 pași (cu imagini)
Cum se realizează LED ICE SKATE: Am pus LED-uri neopixel pe patina mea de gheață. De fiecare dată când microfonul, care este conectat cu placa Arduino, aude orice sunet zgomotos. Trimite diverse semnale către LED-uri. Este ușor de realizat, chiar și pentru începători. Am împărtășit coduri și instrucțiuni. Sa incercam
Skate All the Way !: 4 pași
Skate All the Way !: Introducere: Deoarece majoritatea dintre voi adoră patinajul și știm că patinajul este destul de greu. Trebuie să vă echilibrați pentru a merge pe bord și, de asemenea, aveți nevoie de multă forță pentru a împinge skateboard-ul folosind piciorul stâng sau drept. În această generație
Cameră cu infrarosu cu imagini termice DIY: 3 pași (cu imagini)
Cameră cu infrarosu cu imagini termice DIY: Bună ziua! Caut mereu proiecte noi pentru lecțiile mele de fizică. Acum doi ani am dat peste un raport despre senzorul termic MLX90614 de la Melexis. Cel mai bun cu doar 5 ° FOV (câmp vizual) ar fi potrivit pentru o cameră termică făcută de sine. Pentru a citi
Cum să dezasamblați un computer cu pași și imagini ușoare: 13 pași (cu imagini)
Cum să dezasamblați un computer cu pași și imagini ușoare: Aceasta este o instrucțiune despre cum să dezasamblați un computer. Majoritatea componentelor de bază sunt modulare și ușor de îndepărtat. Cu toate acestea, este important să fiți organizat în acest sens. Acest lucru vă va ajuta să nu vă pierdeți piese și, de asemenea, să faceți reasamblarea