Sadržaj:
- Korak 1: Komponente
- Korak 2: Ožičenje
- Korak 3: Shema baze podataka
- Korak 4: Konfigurirajte Arduino Nano
- Korak 5: Konfigurirajte Raspberry Pi
- Korak 6: Stanovanje + dvorana
- Kućište
- Hall senzor
- Korak 7: Pokretanje aplikacije
Video: Skate-o-metar: 7 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:37
Student sam Howest Kortrijka. Kako bih pokazao svoje vještine lektorima koji su nam bili potrebni za izradu projekta, odlučio sam stvoriti brojač kilometara i brzinomjer za svoju skateboard s RFID skenerom. U ovom uputstvu ću reći kako sam napravio ovaj projekt.
Na ovu sam ideju došao jer volim klizati i krstariti. Dok krstarim bilo bi zgodno vidjeti koliko sam udaljenosti prešao i vidjeti moju brzinu.
Imajte na umu da je ovo prototip.
Korak 1: Komponente
Komponente
Za izradu ovog projekta koristio sam sljedeće komponente:
- Skejtbord
- Potenciometar
- LCD
- Hall senzor
- 10k Ohm otpornik
- Malina pi
- Arduino Nano
- Žica za spajanje (ženski na muški)
- Kratkospojna žica (Raspberry Pi)
- Žica za spajanje (muški na muški)
- PCB
- RFID skener
- RFID značka
- Moćna banka
Za veze i cijenu pogledajte BillOfMaterials
Korak 2: Ožičenje
Dvorana ima 3 pina: VCC, GND i izlaz. Uzemljenje ide do GND -a. VCC na 3,3 V i izlaz u ovom primjeru ide na GPIO 26. Otpornik od 10K Ohma podiže izlaz visoko.
Koristim serijsku komunikaciju putem USB -a između malina pi i arduino nano za čitanje znački. Ovo nije na slici, ali je obavezno!
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
Korak 3: Shema baze podataka
Moja baza podataka ima 3 tablice:
- Korisnici
- Sjednica
- Podaci
Svaki korisnik može zasebno pratiti podatke. Sesija ima podatke tako da znate koliko ste brzo prošli određene točke dok je sesija trajala.
Korak 4: Konfigurirajte Arduino Nano
Prvo umetnite svoj arduino nano u računalo putem USB kabela. Odaberite odgovarajući arduino i pravi USB port za učitavanje.
Zatim moramo dodati biblioteku koju koristim za čitanje RFID značke. Preuzmite 'rfid-master' i idite na skicu, uključite biblioteku, a zatim dodajte. ZIP knjižnicu. Idite na zip koji ste upravo preuzeli i upotrijebite ovaj, automatski će se instalirati. Nakon toga preuzmite uređeni 'RFID_Read.ino', pritisnite ctrl + O, dodajte isto vrijeme i idite na ovu datoteku i otvorite je.
Ako ste učinili sve gore navedene korake, možete provjeriti datoteku. Ako se prvi put javi greška, pokušajte još jednom. Ako to uspije, možete ga prenijeti na svoj arduino. Prečacem ctrl+shift+m možete otvoriti serijski monitor. Datoteku možete testirati ovdje. Ako je test uspješan, možete isključiti arduino i priključiti ga u USB port maline pi
Korak 5: Konfigurirajte Raspberry Pi
U ovim koracima postavit ćemo malinu pi kao bazu podataka i web poslužitelj.
U OVOM PRIMJERU KORISTIM KORISNIKA "ja" AKO KORISTITE JOŠ JEDNOG KORISNIKA KOJI MORATE MIJENJATI KONFIGIRANE DATOTEKE, IMAJTE U VIDU OVO!
1. Stvorite korisnika:
Napravite varijablu
pieter@rpipieter: ~ $ user = ja
Stvaranje korisnika sudo i dodavanje u sve grupe
grupe = $ (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}
Prijavite se na račun
pieter@rpipieter: ~ $ su - ja
Lozinka: me@my-rpi: ~ $
2. Povežite se s WiFi mrežom
me@rpipieter: ~ $ sudo -iroot@rpipieter: ~# echo 'Lozinka' | wpa_passphrase 'Networkname' >> /etc/wpa_supplicant/wpa_supplicant.conf root@rpipieter: ~# wpa_cli -i wlan0 ponovno konfigurirajte root@rpipieter: ~# odjava
Provjerite radi li internet
root@rpipieter: ~# wget google.com
3. Ažuriranje maline pi i instaliranje potrebnih paketa
me@my-rpi: ~ $ sudo apt update
me@my-rpi: ~ $ sudo apt nadogradi me@rpipieter: ~ $ sudo apt install -y python3-venv python3-pip python3-mysqldb mysql-server uwsgi nginx uwsgi-plugin-python3 gitme@my-rpi: ~ $ sudo ponovno pokreni -h sada
4. Kloniraj moje github spremište
ja@rpipieter: ~ $ git klon
ja@rpipieter: ~ $ cd skate-o-meter/skateometer/
5. Izrada virtualnog okruženja
Dok radite ove naredbe bit će instalirano mnogo paketa, to može potrajati.
me@rpipieter: ~/skate-o-meter/skateometer $ python3 -m pip install-nadogradnja pip setuptools kotač 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- connector-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-connector-python passlib pyserial pyjwt RPi. GPIO
6. Stvaranje baze podataka i korisnika
Koristimo mysql bazu podataka
pieter@rpipieter: ~/skate-o-meter/skateometer $ cd
pieter@rpipieter: ~ $ sudo mysql
Zatim kopirajte, zalijepite ovo
GRANT SELECT, INSERT, UPDATE, DELETE ON *. * TO 'som-data'@'localhost'; SET LOZINKA ZA 'som-data'@'localhost' = PASSWORD ('sensor9810'); odaberite * iz mysql.user; CREATE USER 'som-admin'@'localhost' IDENTIFIKIRANO 'admin9810'; CREATE USER 'som-web'@'localhost' IDENTIFIKIRANO 'web9810'; CREATE USER 'som-sensor'@'localhost' IDENTIFIKIRANO sa 'sensor9810'; CREATE DATABASE skateometerdb; OSTVARITE SVE PRIVILEGIJE NA skateometerdb.* Na 'som-admin'@'localhost' S OPCIJOM GRANTA; GRANT SELECT, INSERT, UPDATE, DELETE ON skateometerdb.* TO 'som-web'@'localhost'; GRANT SELECT, INSERT, UPDATE, DELETE ON skateometerdb.* TO 'som-sensor'@'localhost'; FLUSH PRIVILEGIJE;
Zatim ćemo dodati postojeću shemu baze podataka s relacijama.
me@rpipieter: ~/skate-o-meter/skateometer $ sudo mysql <sql/skateometerdb_dump-withoutdata.sql
7. Usluge
Ovdje kopiramo naše konfiguracijske datoteke i ponovno učitavamo mapu kako bismo mogli omogućiti usluge
me@rpipieter: ~/skate-o-meter/skateometer $ sudo cp conf/som-*. service/etc/systemd/systemme@rpipieter: ~/skate-o-meter/skateometer $ sudo systemctl daemon-reload
Sada ćemo omogućiti usluge tako da se svaki put kad pokrenemo malinu pi automatski pokreću.
me@rpipieter: ~/skate-o-meter/skateometer $ sudo systemctl enable som-flask.service
Izrađena je simbolična veza /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 Izrađena simoluka /etc/systemd/system/multi-user.target.wants/som-data.service →/etc/systemd/ system/som-data.usluga. 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 -mogućeno/zadano me@rpipieter: ~/skate-o-meter/skateometer $ sudo ln -s/etc/nginx/sites-available/skateometer/etc/nginx/sites-enabled/skateometerme@rpipieter: ~/skate-o -metar/skateometar $ sudo systemctl restart nginx.service
Korak 6: Stanovanje + dvorana
Kućište
Prvo sam napravio skelet na svom LCD zaslonu, potenciometru i zujalici. Nakon toga sam lemio LCD, potenciometar i zujalicu na PCB -u. Zatim sam za RPI koristio kratkospojnik, onaj s 40 pinova. Stavio sam jednu stranu u malinu pi, a drugu polovicu sam izrezao, ovu stranu ćemo koristiti za lemljenje. U datoteci 'rpi-cable' možete vidjeti gdje trebate lemiti koju žicu.
Za kućište sam koristio staru kutiju sa zakrivljenim elementima, stavio sam u nju neke rupe za Ethernet kabel i da bi kratkospojnik došao u kutiju.
Kutiju držim ispod skateboarda nekim vijkom. Unutar kutije sam sve posložio, tako da stane, a također sam koristio vijke i gumu kako bi sve ostalo na mjestu. To olakšava vađenje stvari.
RFID je montiran na osvijetljenu kutiju i pričvršćen je patentnim zatvaračima. Jedan problem na koji sam naišao bio je taj što ponekad nije skenirao, ali s nekim promjenama sam uspio.
Hall senzor
Prvo sam izbušio rupu na kotaču i u nju stavio magnet.
Za dvoranu se koriste 3 kratkospojnika (muški na muški). Ja sam ih lemio na PCB -u, kao i na samoj dvorani. Montirao sam Hall senzor na svoj kamion s nekoliko patentnih zatvarača. Provjerite jesu li magnet i senzor dobro poravnati, jer u protivnom neće uvijek registrirati puls.
Korak 7: Pokretanje aplikacije
Korak 1:
Uključite malinu i power bank.
Korak 2:
Pričekajte da se program pokrene, to možete pratiti na LCD -u. Vidjet ćete IP adresu, idite na ovu IP adresu.
3. korak:
Kreirajte korisnika, to možete učiniti registracijom. Morate skenirati značku da biste vidjeli svoj UID značke na LCD -u.
Korak 4:
Ako ste stvorili korisnika, možete skenirati svoju značku i započeti će sesija.
5. korak:
Idite na krstarenje
Korak 6:
Ponovno skenirajte značku da biste prekinuli sesiju
Korak 7:
Prijavite se da vidite svoju sesiju i detaljne podatke sa sesije
Preporučeni:
Kako: Instaliranje Raspberry PI 4 bez glave (VNC) s Rpi-imagerom i slikama: 7 koraka (sa slikama)
Kako: Instaliranje Raspberry PI 4 Headless (VNC) s Rpi-imagerom i slikama: Planiram koristiti ovaj Rapsberry PI u hrpi zabavnih projekata na svom blogu. Slobodno provjerite. Htio sam se vratiti korištenju Raspberry PI -a, ali nisam imao tipkovnicu ili miš na novoj lokaciji. Prošlo je dosta vremena od postavljanja maline
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 ponovno početi vježbati. Koju opremu trebam pripremiti?
Brojač koraka - Mikro: Bit: 12 koraka (sa slikama)
Brojač koraka - Micro: Bit: Ovaj projekt će biti brojač koraka. Za mjerenje koraka koristit ćemo senzor akcelerometra koji je ugrađen u Micro: Bit. Svaki put kad se Micro: Bit protrese, zbroju ćemo dodati 2 i prikazati ga na ekranu
Atari Punk konzola s bebom Sekvencer za 8 koraka: 7 koraka (sa slikama)
Atari Punk konzola s Baby 8 Step Sequencer-om: Ova srednja verzija je sve-u-jednom Atari Punk Console i Baby 8 Step Sequencer koje možete glodati na stolnom PCB glodalici Bantam Tools. Sastoji se od dvije ploče: jedna je ploča korisničkog sučelja (UI), a druga je pomoćna bo
Kako rastaviti računalo jednostavnim koracima i slikama: 13 koraka (sa slikama)
Kako rastaviti računalo jednostavnim koracima i slikama: Ovo uputstvo o tome kako rastaviti računalo. Većina osnovnih komponenti je modularna i lako se uklanja. Međutim, važno je da se oko toga organizirate. To će vam pomoći da spriječite gubitak dijelova, a također i prilikom ponovnog sastavljanja