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, Srpanj
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 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

Ožičenje
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

Shema baze podataka
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

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 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

Stanovanje + dvorana
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: