Obsah:

Skate-o-meter: 7 krokov (s obrázkami)
Skate-o-meter: 7 krokov (s obrázkami)

Video: Skate-o-meter: 7 krokov (s obrázkami)

Video: Skate-o-meter: 7 krokov (s obrázkami)
Video: Самый подробный обзор горнолыжных курортов России - Алексей Соболев 2024, November
Anonim
Skate-o-meter
Skate-o-meter

Som študentom Howest Kortrijk. Aby som ukázal lektorom svoje schopnosti, ktoré sme potrebovali na zostavenie projektu, rozhodol som sa vytvoriť počítadlo kilometrov a rýchlomer pre svoj skateboard so skenerom RFID. V tomto návode vám poviem, ako som urobil tento projekt.

Prišiel som na tento nápad, pretože rád korčuľujem a plavím sa. Pri plavbe by bolo užitočné zistiť, akú vzdialenosť som prešiel, a zistiť moju rýchlosť.

Pamätajte si, že toto je prototyp.

Krok 1: Komponenty

Komponenty

Na vytvorenie tohto projektu som použil nasledujúce komponenty:

  • Skateboard
  • Potenciometer
  • LCD
  • Senzor Hallovho efektu
  • Rezistor 10 kOhm
  • Malinový koláč
  • Arduino Nano
  • Prepojovací kábel (zo zásuvky na muž)
  • Prepojovací kábel (Raspberry Pi)
  • Prepojovací kábel (muž - muž)
  • DPS
  • RFID skener
  • RFID odznak
  • Externá batéria

Odkazy a ceny nájdete v BillOfMaterials

Krok 2: Zapojenie

Elektrické vedenie
Elektrické vedenie

Sála má 3 kolíky: VCC, GND a výstup. Uzemnenie smeruje do GND. VCC až 3,3 V a výstup v tomto prípade ide na GPIO 26. Rezistor 10K Ohm ťahá výstup vysoko.

Na čítanie odznakov používam sériovú komunikáciu cez USB medzi malinami pi a arduino nano. Toto nie je na obrázku, ale je to nevyhnutné!

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

Krok 3: Databázová schéma

Schéma databázy
Schéma databázy

Moja databáza obsahuje 3 tabuľky:

  • Používatelia
  • Relácia
  • Údaje

Každý používateľ môže údaje sledovať oddelene. Relácia obsahuje údaje, takže viete, ako rýchlo ste v určitých bodoch pokračovali.

Krok 4: Konfigurujte Arduino Nano

Nakonfigurujte Arduino Nano
Nakonfigurujte Arduino Nano
Nakonfigurujte Arduino Nano
Nakonfigurujte Arduino Nano
Nakonfigurujte Arduino Nano
Nakonfigurujte Arduino Nano

Najprv vložte arduino nano do počítača pomocou kábla USB. Vyberte správne arduino a správny port USB, ktoré chcete nahrať.

Ďalej musíme pridať knižnicu, ktorú používam na čítanie odznaku RFID. Stiahnite si „rfid-master“a choďte na náčrt, zahrňte knižnicu a potom pridajte knižnicu. ZIP. Prejdite na zip, ktorý ste práve stiahli, a použite tento, nainštaluje sa automaticky. Potom stiahnite moje upravené „RFID_Read.ino“, stlačte ctrl + O a pridajte rovnaký čas, prejdite na tento súbor a otvorte ho.

Ak ste vykonali všetky tieto kroky vyššie, môžete súbor overiť. Ak sa chyba vyskytne prvýkrát, skúste to ešte raz. Ak sa to podarí, môžete ho nahrať do svojho arduina. Pomocou skratky ctrl+shift+m môžete otvoriť sériový monitor. Súbor môžete otestovať tu. Ak je test úspešný, môžete arduino odpojiť a zapojiť do USB portu Raspberry Pi

Krok 5: Konfigurujte Raspberry Pi

V týchto krokoch nastavíme malinový pi ako databázu a webový server.

V TOMTO PRÍKLADE POUŽÍVAM UŽÍVATEĽA „ja“, AK POUŽÍVATE INÉHO UŽÍVATEĽA, KTORÉ POTREBUJETE ZMENIŤ KONFIGURAČNÉ SÚBORY, Majte TO NA pamäti!

1. Vytvorte používateľa:

Vytvorte premennú

pieter@rpipieter: ~ $ user = ja

Vytvorenie používateľa sudo a pridanie do všetkých skupín

skupiny = $ (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}

Prihláste sa do účtu

pieter@rpipieter: ~ $ su - me

Heslo: ja@my-rpi: ~ $

2. Pripojte sa k sieti Wi -Fi

me@rpipieter: ~ $ sudo -iroot@rpipieter: ~# echo 'Heslo' | wpa_passphrase 'Názov siete' >> /etc/wpa_supplicant/wpa_supplicant.conf root@rpipieter: ~# wpa_cli -i wlan0 prekonfigurovať root@rpipieter: ~# odhlásenie

Skontrolujte, či funguje internet

root@rpipieter: ~# wget google.com

3. Aktualizácia malinového pi a inštalácia potrebných balíkov

ja@my-rpi: ~ $ sudo apt update

me@my-rpi: ~ $ sudo apt upgraduj ma@rpipieter: ~ $ sudo apt install -y python3-venv python3-pip python3-mysqldb mysql-server uwsgi nginx uwsgi-plugin-python3 gitme@my-rpi: ~ $ sudo reštart -h teraz

4. Klonujte moje úložisko github

ja@rpipieter: ~ $ git clone

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

5. Vytváranie virtuálneho prostredia

Aj keď pri vykonávaní týchto príkazov bude nainštalovaných veľa balíkov, môže to chvíľu trvať.

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

6. Vytvorenie databázy a užívateľov

Používame databázu mysql

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

pieter@rpipieter: ~ $ sudo mysql

Potom skopírujte a prilepte toto

UDELIŤ VÝBER, VLOŽIŤ, AKTUALIZOVAŤ, VYMAZAŤ ZAPNUTÉ *. * DO „som-data“@„localhost“; NASTAVTE HESLO PRE „som-data“@„localhost“= HESLO ('sensor9810'); vyberte * z mysql.user; VYTVORIŤ UŽÍVATEĽA 'som-admin'@'localhost' IDENTIFIKOVANÝ 'admin9810'; VYTVORIŤ UŽÍVATEĽA 'som-web'@'localhost' IDENTIFIKOVANÝ 'web9810'; VYTVORIŤ UŽÍVATEĽA „som-senzor“@„localhost“IDENTIFIKOVANÝ „senzorom 9810“; VYTVORIŤ DATABÁZU skateometerdb; UDELTE VŠETKY VÝHODY NA skateometerdb.* „Som-admin“@„localhost“S MOŽNOSŤOU GRANTU; VYBERTE, VLOŽTE, AKTUALIZUJTE, VYMAZAJTE NA skateometerdb.* DO 'som-web'@'localhost'; VYBERTE, VLOŽTE, AKTUALIZUJTE, VYMAZAJTE NA skateometerdb.* DO 'som-senzora'@'localhost'; FLUSH PRIVILEGES;

Ďalej pridáme existujúcu databázovú schému so vzťahmi.

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

7. Služby

Tu skopírujeme naše konfiguračné súbory a znova načítame priečinok, aby sme mohli povoliť služby

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

Teraz povolíme služby, aby sa zakaždým, keď spustíme malinový pi, automaticky spustili.

ja@rpipieter: ~/skate-o-meter/skateometer $ sudo systemctl enable som-flask.service

Bol vytvorený symbolický odkaz /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 Vytvorený symbolický odkaz /etc/systemd/system/multi-user.target.wants/som-data.service →/etc/systemd/ systém/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

ja@rpipieter: ~/skate-o-meter/skateometer $ sudo cp conf/nginx/etc/nginx/sites-available/skateometerme@rpipieter: ~/skate-o-meter/skateometer $ sudo rm/etc/nginx/sites -povolené/predvolené ja@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 reštartujte službu nginx.service

Krok 6: Bývanie + hala

Bývanie + hala
Bývanie + hala

Bývanie

Najprv som do skateboardu urobil dieru pre LCD, potenciometer a bzučiak. Potom som spájkoval LCD, potenciometer a bzučiak na doske plošných spojov. Potom som použil prepojovací drôt pre RPI, ten so 40 pinmi. Jednu stranu som vložil do malinového pi a druhú polovicu som nakrájal, túto stranu použijeme na spájkovanie. V súbore „rpi-cable“vidíte, kde je potrebné spájkovať ktorý drôt.

Na puzdro som použil starú skrinku s krivkami, dal som do nej niekoľko otvorov pre ethernetový kábel a prepojovací kábel, aby prišli do škatule.

Krabicu držím pod skateboardom pomocou nejakej skrutky. Vnútri škatule som usporiadal všetko, takže sa to zmestilo a tiež som použil skrutky a nejaké gumy, aby všetko zostalo na svojom mieste. Vďaka tomu je vynášanie vecí jednoduchšie.

RFID je pripevnený k osvetleniu skrinky a drží na mieste pomocou zipsov. Jeden problém, s ktorým som sa stretol, bol ten, že niekedy sa neskenoval, ale s určitými zmenami som ho nechal fungovať.

Senzor Hallovho efektu

Najprv som do kolesa vyvŕtal dieru a vložil do nej magnet.

Na chodbu sú použité 3 prepojovacie vodiče (mužské až mužské), ktoré som spájkoval na svojej DPS aj na samotnej hale. Na svoj nákladný automobil som namontoval snímač haly pomocou niekoľkých pneumatík. Uistite sa, že magnet a senzor sú dobre zarovnané, inak nebude vždy zaznamenávať impulz.

Krok 7: Spustenie aplikácie

Krok 1:

Pripojte malinu a napájaciu banku.

Krok 2:

Počkajte, kým sa program nespustí, môžete to sledovať na LCD displeji. Uvidíte adresu IP, prejdite na túto adresu IP.

Krok 3:

Vytvorte si užívateľa, môžete to urobiť registráciou. Odznak musíte naskenovať, aby ste na LCD zobrazili jeho UID odznaku.

Krok 4:

Ak ste vytvorili používateľa, môžete odznak naskenovať a spustí sa relácia.

Krok 5:

Choďte okolo

Krok 6:

Reláciu zastavíte opätovným skenovaním odznaku

Krok 7:

Ak chcete vidieť svoju reláciu a podrobné údaje z relácie, prihláste sa

Odporúča: