Kazalo:

Skate-o-Meter: 7 korakov (s slikami)
Skate-o-Meter: 7 korakov (s slikami)

Video: Skate-o-Meter: 7 korakov (s slikami)

Video: Skate-o-Meter: 7 korakov (s slikami)
Video: 10 SCARY GHOST Videos Accidentally Caught On Camera 2024, Julij
Anonim
Skate-o-Meter
Skate-o-Meter

Sem študentka Howest Kortrijk. Da bi lektorjem, ki smo jih potrebovali za izdelavo projekta, pokazali svoje sposobnosti, sem se odločil, da za rolko z RFID skenerjem ustvarim števec kilometrov in merilnik hitrosti. V tem navodilu bom povedal, kako sem naredil ta projekt.

Na to idejo sem prišel, ker rad drsam in križarim. Med potovanjem bi bilo priročno videti, koliko razdalje sem prepotoval in videti svojo hitrost.

Ne pozabite, da je to prototip.

1. korak: Komponente

Sestavni deli

Za ustvarjanje tega projekta sem uporabil naslednje komponente:

  • Skateboard
  • Potenciometer
  • LCD
  • Hallov senzor
  • 10k ohmski upor
  • Malina pi
  • Arduino Nano
  • Mostična žica (ženski na moški)
  • Mostična žica (Raspberry Pi)
  • Mostična žica (moški do moški)
  • PCB
  • RFID skener
  • Značka RFID
  • Powerbank

Za povezave in ceno glejte BillOfMaterials

2. korak: Ožičenje

Ožičenje
Ožičenje

Dvorana ima 3 zatiči: VCC, GND in izhod. VCC na 3.3V in izhod v tem primeru gre na GPIO 26. Upor 10K Ohm potegne izhod visoko.

Za branje značk uporabljam serijsko komunikacijo prek USB -ja med malinovim pi in arduino nano. To ni na sliki, je pa obvezno!

D9 RST (ponastavitev) D10 SDA (SS) (SPI SS) D11 MOSI (SPI MOSI) D12 MISO (SPI MISO) D13 SCK (SPI SCK) GND GND3.3V 3.3V

3. korak: Shema zbirke podatkov

Shema zbirke podatkov
Shema zbirke podatkov

Moja baza podatkov ima 3 tabele:

  • Uporabniki
  • Seja
  • Podatki

Vsak uporabnik lahko ločeno sledi podatkom. Seja ima podatke, tako da veste, kako hitro ste opravili določene točke med trajanjem seje.

4. korak: Konfigurirajte Arduino Nano

Konfigurirajte Arduino Nano
Konfigurirajte Arduino Nano
Konfigurirajte Arduino Nano
Konfigurirajte Arduino Nano
Konfigurirajte Arduino Nano
Konfigurirajte Arduino Nano

Najprej vstavite svoj arduino nano v računalnik prek USB kabla. Izberite pravo arduino in prava vrata USB za nalaganje.

Nato moramo dodati knjižnico, ki jo uporabljam za branje značke RFID. Prenesite 'rfid-master' in pojdite na skico, vključite knjižnico in nato dodajte knjižnico. ZIP. Pojdite na zip, ki ste ga pravkar prenesli, in uporabite to, samodejno se bo namestil. Po tem prenesite urejen 'RFID_Read.ino' pritisnite ctrl + O, dodajte isti čas in pojdite na to datoteko ter jo odprite.

Če ste naredili vse zgoraj navedene korake, lahko datoteko preverite. Če se prvič zmoti, poskusite še enkrat. Če je to uspešno, ga lahko naložite na svoj arduino. Z bližnjico ctrl+shift+m lahko odprete serijski monitor. Datoteko lahko preizkusite tukaj. Če je test uspešen, lahko izklopite arduino in ga priključite v usb vrata maline pi

5. korak: Konfigurirajte Raspberry Pi

V teh korakih bomo malino pi nastavili kot bazo podatkov in spletni strežnik.

V TEM PRIMERU UPORABIM UPORABNIKA 'jaz', ČE UPORABLJATE DRUGEGA UPORABNIKA, KI MORATE SPREMENITI KONFIGACIJSKE DATOTEKE, TO UPORABITE!

1. Ustvarite uporabnika:

Ustvarite spremenljivko

pieter@rpipieter: ~ $ user = jaz

Ustvarjanje uporabnika sudo in dodajanje v vse skupine

groups = $ (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 v račun

pieter@rpipieter: ~ $ su - jaz

Geslo: me@my-rpi: ~ $

2. Povežite se z WiFi

me@rpipieter: ~ $ sudo -iroot@rpipieter: ~# echo 'Geslo' | wpa_passphrase 'Networkname' >> /etc/wpa_supplicant/wpa_supplicant.conf root@rpipieter: ~# wpa_cli -i wlan0 ponovno konfiguriraj root@rpipieter: ~# odjava

Preverite, ali internet deluje

root@rpipieter: ~# wget google.com

3. Posodobitev maline pi in namestitev potrebnih paketov

me@my-rpi: ~ $ sudo apt update

me@my-rpi: ~ $ sudo apt nadgradi me@rpipieter: ~ $ sudo apt install -y python3-venv python3-pip python3-mysqldb mysql-server uwsgi nginx uwsgi-plugin-python3 gitme@my-rpi: ~ $ sudo ponovno zaženi -h zdaj

4. Kloniraj moje skladišče github

me@rpipieter: ~ $ git clone

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

5. Ustvarjanje virtualnega okolja

Med izvajanjem teh ukazov bo nameščenih veliko paketov, kar lahko traja nekaj časa.

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

6. Ustvarjanje baze podatkov in uporabnikov

Uporabljamo bazo podatkov mysql

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

pieter@rpipieter: ~ $ sudo mysql

Nato kopirajte, prilepite to

GRANT SELECT, INSERT, UPDATE, DELETE ON *. * NA 'som-data'@'localhost'; NASTAVI GESLO ZA 'som-data'@'localhost' = GESLO ('sensor9810'); izberite * iz mysql.user; USTVARI UPORABNIKA 'som-admin'@'localhost' IDENTIFIKIRANO 'admin9810'; USTVARI UPORABNIKA 'som-web'@'localhost' IDENTIFIKIRANO s 'web9810'; CREATE USER 'som-sensor'@'localhost' IDENTIFIKIRANO s 'sensor9810'; Ustvari bazo podatkov skateometerdb; ODDELI VSE PRIVILEGIJE NA skateometerdb.* Na 'som-admin'@'localhost' Z MOŽNOSTO DODELE; GRANT SELECT, INSERT, UPDATE, DELETE ON skateometerdb.* TO 'som-web'@'localhost'; GRANT SELECT, INSERT, UPDATE, DELETE ON skateometerdb.* TO 'som-sensor'@'localhost'; FLUSH PRIVILEGIJE;

Nato bomo dodali obstoječo shemo zbirke podatkov z relacijami.

me@rpipieter: ~/skate-o-meter/skateometer $ sudo mysql <sql/skateometerdb_dump-withoutdata.sql

7. Storitve

Tu kopiramo naše konfiguracijske datoteke in znova naložimo mapo, da lahko omogočimo storitve

me@rpipieter: ~/skate-o-meter/skateometer $ sudo cp conf/som-*. service/etc/systemd/systemme@rpipieter: ~/skate-o-meter/skateometer $ sudo systemctl daemon-reload

Zdaj bomo omogočili storitve, tako da se bodo ob vsakem zagonu maline pi samodejno zagnale.

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

Ustvarjena povezava /etc/systemd/system/multi-user.target.wants/som-flask.service → /etc/systemd/system/som-flask.service. me@rpipieter: ~/skate-o-meter/skateometer $ sudo systemctl omogoči som-data.service Ustvarjena povezava /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 -omogočeno/privzeto 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 znova zaženite nginx.service

6. korak: Stanovanje + Dvorana

Stanovanje + dvorana
Stanovanje + dvorana

Nastanitev

Najprej sem v rolki naredil luknjo za LCD, potenciometer in zvočni signal. Po tem sem spajal LCD, potenciometer in brenčalo na tiskanem vezju. Nato sem za RPI uporabil skakalno žico, tisto s 40 zatiči. Eno stran sem dal v malino pi, drugo polovico pa prerezal, to stran bomo uporabili za spajkanje. V datoteki 'rpi-cable' lahko vidite, kje morate spajkati katero žico.

Za ohišje sem uporabil staro škripčevo škatlo, vanj sem vstavil nekaj lukenj za ethernetni kabel in za priključitev mostične žice.

Škatlo držim pod rolko z nekaj vijakom. V škatli sem vse uredil, tako da se prilega, uporabil pa sem tudi vijake in nekaj gum, da je vse na svojem mestu. To olajša odstranjevanje stvari.

RFID je nameščen na osvetljeno polje in je pritrjen z zadrgami, pri čemer sem naletel na to, da včasih ni skeniral, vendar sem z nekaterimi spremembami uspel.

Hallov senzor

Najprej sem izvrtal luknjo v kolesu in vanjo vstavil magnet.

Za dvorano se uporabljajo 3 mostične žice (moški do moški), ki sem jih spajkal tudi na tiskano vezje, pa tudi na samo dvorano. Senzor Hall sem na tovornjak namestil z nekaj zadrgami. Prepričajte se, da sta magnet in senzor dobro poravnana, sicer ne bo vedno registrirala impulza.

7. korak: Zagon aplikacije

Korak 1:

Priključite malino in napajalnik.

2. korak:

Počakajte, da se program zažene, temu lahko sledite na LCD -prikazovalniku. Videli boste naslov IP, pojdite na ta naslov IP.

3. korak:

Ustvarite uporabnika, to lahko storite tako, da se registrirate. Značko morate skenirati, da vidite svoj UID značke na LCD -prikazovalniku.

4. korak:

Če ste ustvarili uporabnika, lahko skenirate svojo značko in seja se bo začela.

5. korak:

Pojdite na križarjenje

6. korak:

Ponovno preglejte značko, da ustavite sejo

7. korak:

Prijavite se, če si želite ogledati sejo in podrobne podatke o seji

Priporočena: