Sadržaj:

Skate-o-metar: 7 koraka (sa slikama)
Skate-o-metar: 7 koraka (sa slikama)

Video: Skate-o-metar: 7 koraka (sa slikama)

Video: Skate-o-metar: 7 koraka (sa slikama)
Video: НЕГАТИВНАЯ РЕАКЦИЯ / РАЗОБЛАЧЕНИЕ ПЕВЦА / ДИМАШ и ПОНАСЕНКОВ 2024, Juli
Anonim
Skate-o-Meter
Skate-o-Meter

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 skejtbord sa RFID skenerom. U ovom uputstvu ću reći kako sam napravio projekat.

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

Koristio sam sljedeće komponente za kreiranje ovog projekta:

  • Skateboard
  • Potenciometar
  • LCD
  • Senzor Hall efekta
  • 10k Ohm otpornik
  • Malina pi
  • Arduino Nano
  • Žica za spajanje (ženski na muški)
  • Žica za spajanje (Raspberry Pi)
  • Žica za spajanje (muški na muški)
  • PCB
  • RFID skener
  • RFID značka
  • Powerbank

Za linkove i cijenu pogledajte BillOfMaterials

Korak 2: Ožičenje

Ožičenje
Ožičenje

Dvorana ima 3 pina: VCC, GND i izlaz. Uzemljenje ide do GND -a. VCC na 3.3V i izlaz u ovom primjeru ide na GPIO 26. Otpornik od 10K Ohma podiže izlaz visoko.

Koristim serijsku komunikaciju preko 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: Šema baze podataka

Shema baze podataka
Shema baze podataka

Moja baza podataka ima 3 tabele:

  • Korisnici
  • Session
  • Podaci

Svaki korisnik može zasebno pratiti podatke. Sesija ima podatke tako da znate koliko ste brzo prošli određene tačke dok je sesija trajala.

Korak 4: Konfigurirajte Arduino Nano

Konfigurirajte Arduino Nano
Konfigurirajte Arduino Nano
Konfigurirajte Arduino Nano
Konfigurirajte Arduino Nano
Konfigurirajte Arduino Nano
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 biblioteku. 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 izvršili sve gore navedene korake, možete provjeriti datoteku. Ako se prvi put javi greška, pokušajte još jednom. Ako je ovo uspješno, možete ga prenijeti na svoj arduino. Pomoću prečice 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 DRUGOG KORISNIKA KOJI MORATE MIJENJATI KONFIGURACIJSKE DATOTEKE, IMAJTE U VIDU OVO!

1. Kreirajte korisnika:

Kreirajte varijablu

pieter@rpipieter: ~ $ user = ja

Pravljenje 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 instaliraj -y python3-venv python3-pip python3-mysqldb mysql-server uwsgi nginx uwsgi-plugin-python3 gitme@my-rpi: ~ $ sudo ponovo pokrenite -h sada

4. Kloniraj moje github spremište

ja@rpipieter: ~ $ git klon

me@rpipieter: ~ $ cd skate-o-meter/skateometer/

5. Stvaranje 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- konektor-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-konektor-python passlib pyserial pyjwt RPi. GPIO

6. Kreiranje 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 *. * NA 'som-data'@'localhost'; odaberite * iz mysql.user; CREATE USER 'som-admin'@'localhost' IDENTIFIKOVANO OD 'admin9810'; CREATE USER 'som-web'@'localhost' IDENTIFIKIRANO 'web9810'; CREATE USER 'som-sensor'@'localhost' IDENTIFIKOVANO sa 'sensor9810'; CREATE DATABASE skateometerdb; ODOBRITE SVE PRIVILEGIJE NA skateometerdb.* Na 'som-admin'@'localhost' SA 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 PRIVILEGES;

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 kada pokrenemo malinu pi automatski pokreću s njom.

me@rpipieter: ~/skate-o-meter/skateometer $ sudo systemctl omogući som-flask.service

Kreirana simetrič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 Kreirana simolinka /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 -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 + hodnik

Stanovanje + hodnik
Stanovanje + hodnik

Stanovanje

Prvo sam napravio skelet na svom LCD ekranu, potenciometru i zujalici. Nakon toga sam lemio LCD, potenciometar i zujalicu na PCB -u. Zatim sam koristio kratkospojnik za RPI, onaj sa 40 pinova. Stavio sam jednu stranu u malinu pi, a drugu polovicu sam izrezao, ovu ćemo stranu koristiti za lemljenje. U datoteci 'rpi-cable' možete vidjeti gdje trebate lemiti koju žicu.

Za kućište sam koristio staru kutiju za zakrivljavanje, stavio sam u nju neke rupe za kabel za Ethernet i da kratkospojnik dođe u kutiju.

Držim kutiju ispod skejtborda nekim vijkom. Unutar kutije sam sve rasporedio, tako da stane, a koristio sam i vijke i gumu kako bi sve ostalo na mjestu. Ovo 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.

Senzor Hall efekta

Prvo sam izbušio rupu na kotaču i stavio magnet u nju.

Za dvoranu se koriste 3 kratkospojnika (muški na muški). Zalemio sam ih na PCB -u, kao i na samoj hali. Postavio sam Hall senzor na svoj kamion sa nekoliko patentnih zatvarača. Uvjerite se da su magnet i senzor dobro poravnati, inače neće uvijek registrirati puls.

Korak 7: Pokretanje aplikacije

Korak 1:

Uključite malinu i napajanje.

Korak 2:

Pričekajte da se program pokrene, to možete pratiti na LCD -u. Vidjet ćete IP adresu, idite na ovu IP adresu.

Korak 3:

Kreirajte korisnika, to možete učiniti registracijom. Morate skenirati značku da vidite svoj UID značke na LCD -u.

Korak 4:

Ako ste stvorili korisnika, možete skenirati svoju značku i sesija će započeti.

Korak 5:

Idite na krstarenje

Korak 6:

Ponovo skenirajte značku da prekinete sesiju

Korak 7:

Prijavite se da vidite svoju sesiju i detaljne podatke sa sesije

Preporučuje se: