Obsah:

Skate-o-Meter: 7 kroků (s obrázky)
Skate-o-Meter: 7 kroků (s obrázky)

Video: Skate-o-Meter: 7 kroků (s obrázky)

Video: Skate-o-Meter: 7 kroků (s obrázky)
Video: Top 10 nejnebezpečnějších tobogánů na světě! 2021 2024, Červenec
Anonim
Skate-o-metr
Skate-o-metr

Jsem studentem Howest Kortrijk. Abych lektorům ukázal své dovednosti, které jsme potřebovali k vybudování projektu, rozhodl jsem se vytvořit pro svůj skateboard počítadlo kilometrů a rychloměr se skenerem RFID. V tomto pokynu vám řeknu, jak jsem udělal tento projekt.

S tímto nápadem jsem přišel, protože rád bruslím a plavím se kolem. Během plavby by bylo užitečné vidět, jakou vzdálenost jsem urazil, a vidět svoji rychlost.

Mějte na paměti, že se jedná o prototyp.

Krok 1: Součásti

Komponenty

K vytvoření tohoto projektu jsem použil následující komponenty:

  • Skateboard
  • Potenciometr
  • LCD
  • Senzor Hallova jevu
  • Rezistor 10 kOhm
  • Malina pi
  • Arduino Nano
  • Propojovací vodič (Žena - Muž)
  • Propojovací vodič (Raspberry Pi)
  • Propojovací vodič (muž - muž)
  • PCB
  • RFID skener
  • RFID odznak
  • Záložní baterie

Odkazy a ceny najdete v BillOfMaterials

Krok 2: Zapojení

Elektrické vedení
Elektrické vedení

Hala má 3 piny: VCC, GND a výstup. Země je na GND. VCC na 3,3 V a výstup v tomto případě jde na GPIO 26. Rezistor 10K Ohm táhne výstup vysoko.

Ke čtení odznaků používám sériovou komunikaci přes USB mezi Raspberry Pi a Arduino nano. Toto není na obrázku, ale je povinné!

D9 RST (Reset) D10 SDA (SS) (SPI SS) D11 MOSI (SPI MOSI) D12 MISO (SPI MISO) D13 SCK (SPI SCK) GND GND3,3V 3,3 V

Krok 3: Schéma databáze

Schéma databáze
Schéma databáze

Moje databáze obsahuje 3 tabulky:

  • Uživatelé
  • Zasedání
  • Data

Každý uživatel může sledovat data samostatně. Relace má data, takže víte, jak rychle jste v určitých bodech šli, zatímco relace probíhala.

Krok 4: Konfigurace Arduino Nano

Konfigurujte Arduino Nano
Konfigurujte Arduino Nano
Konfigurujte Arduino Nano
Konfigurujte Arduino Nano
Konfigurujte Arduino Nano
Konfigurujte Arduino Nano

Nejprve vložte arduino nano do počítače pomocí kabelu USB. Vyberte správné arduino a správný port USB, který chcete nahrát.

Dále musíme přidat knihovnu, kterou používám pro čtení odznaku RFID. Stáhněte si 'rfid-master' a přejděte na skicu, zahrňte knihovnu a poté přidejte knihovnu. ZIP. Přejděte na zip, který jste si právě stáhli, a použijte tento, automaticky se nainstaluje. Poté stáhněte můj upravený soubor „RFID_Read.ino“, stiskněte ctrl + O a přidejte stejný čas, přejděte k tomuto souboru a otevřete jej.

Pokud jste provedli všechny výše uvedené kroky, můžete soubor ověřit. Pokud se chyba objeví poprvé, zkuste to ještě jednou. Pokud se to podaří, můžete jej nahrát do svého arduina. Pomocí zkratky ctrl+shift+m můžete otevřít sériový monitor. Soubor můžete vyzkoušet zde. Pokud je test úspěšný, můžete Arduino odpojit a zapojit do USB portu Raspberry Pi

Krok 5: Konfigurujte Raspberry Pi

V těchto krocích nastavíme Raspberry Pi jako databázi a webový server.

V TOMTO PŘÍKLADU POUŽÍVÁM UŽIVATELE „já“, POKUD POUŽÍVÁTE JINÉHO UŽIVATELE, KTERÉ POTŘEBUJETE ZMĚNIT KONFIGURAČNÍ SOUBORY, MĚJTE TO NA PAMĚTI!

1. Vytvořte uživatele:

Vytvořte proměnnou

pieter@rpipieter: ~ $ user = já

Vytvoření uživatele sudo a přidání do všech skupin

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}

Přihlaste se k účtu

pieter@rpipieter: ~ $ su - me

Heslo: me@my-rpi: ~ $

2. Připojte se k WiFi

me@rpipieter: ~ $ sudo -iroot@rpipieter: ~# echo 'Heslo' | wpa_passphrase 'Networkname' >> /etc/wpa_supplicant/wpa_supplicant.conf root@rpipieter: ~# wpa_cli -i wlan0 překonfigurovat root@rpipieter: ~# odhlášení

Zkontrolujte, zda internet funguje

root@rpipieter: ~# wget google.com

3. Aktualizace malinového pi a instalace potřebných balíčků

já@my-rpi: ~ $ sudo apt update

me@my-rpi: ~ $ sudo apt upgraduj mě@rpipieter: ~ $ sudo apt install -y python3-venv python3-pip python3-mysqldb mysql-server uwsgi nginx uwsgi-plugin-python3 gitme@my-rpi: ~ $ sudo restartujte -h teď

4. Klonujte mé úložiště github

já@rpipieter: ~ $ git clone

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

5. Vytváření virtuálního prostředí

Při provádění těchto příkazů bude nainstalováno mnoho balíčků, což může nějakou dobu trvat.

me@rpipieter: ~/skate-o-meter/skateometer $ python3 -m pip install --upgrade pip setuptools kolečko 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-connector-python passlib pyserial pyjwt RPi. GPIO

6. Vytvoření databáze a uživatelů

Používáme databázi mysql

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

pieter@rpipieter: ~ $ sudo mysql

Potom zkopírujte a vložte toto

UDĚLAT VÝBĚR, VLOŽIT, AKTUALIZOVAT, SMAZAT ZAPNUTO *. * DO 'som-data'@'localhost'; NASTAVTE HESLO PRO 'som-data'@'localhost' = PASSWORD ('sensor9810'); vyberte * z mysql.user; VYTVOŘIT UŽIVATELE 'som-admin'@'localhost' IDENTIFIKOVANÝ 'admin9810'; VYTVOŘIT UŽIVATELE 'som-web'@'localhost' IDENTIFIKOVANÝ 'web9810'; VYTVOŘIT UŽIVATELE 'som-sensor'@'localhost' IDENTIFIKOVÁNO 'senzorem9810'; VYTVOŘIT DATABÁZI skateometerdb; UDĚLEJTE VŠECHNY PRIVILEGY na skateometerdb.* Na 'som-admin'@'localhost' S MOŽNOSTÍ GRANT; VYBRAT VÝBĚR, VLOŽIT, AKTUALIZOVAT, SMAZAT NA skateometerdb.* DO 'som-web'@'localhost'; VYBRAT VÝBĚR, VLOŽIT, AKTUALIZOVAT, SMAZAT NA skateometerdb.* DO 'som-sensor'@'localhost'; FLUSH PRIVILEGES;

Dále přidáme stávající databázové schéma se vztahy.

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

7. Služby

Zde zkopírujeme naše konfigurační soubory a znovu načteme složku, abychom mohli služby povolit

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

Nyní povolíme služby tak, aby se při každém spuštění Raspberry Pi automaticky spustily.

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

Vytvořen 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 Vytvořený symbolický odkaz /etc/systemd/system/multi-user.target.wants/som-data.service →/etc/systemd/ služba 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 -enabled/default me@rpipieter: ~/skate-o-meter/skateometer $ sudo ln -s/etc/nginx/sites-available/skateometer/etc/nginx/sites-enabled/skateometerme@rpipieter: ~/skate-o -metr/skateometr $ sudo systemctl restart nginx.service

Krok 6: Bydlení + hala

Bydlení + hala
Bydlení + hala

Bydlení

Nejprve jsem ve svém skateboardu udělal otvor pro LCD, potenciometr a bzučák. Poté jsem pájel LCD, potenciometr a bzučák na DPS. Pak jsem použil jumperwire pro RPI, ten se 40 piny. Jednu stranu jsem vložil do malinového pi a druhou polovinu nařezal, tuto stranu použijeme k pájení. V souboru 'rpi-kabel' můžete vidět, kde potřebujete pájet který vodič.

Pro skříň jsem použil starou krabici, vložil jsem do ní několik otvorů pro ethernetový kabel a propojovací kabel, aby přišel do krabice.

Nějakým šroubem držím krabici pod skateboardem. Uvnitř krabice jsem všechno uspořádal, takže se to vešlo, a také použil šrouby a nějaké gumy, aby vše zůstalo na svém místě. Díky tomu je vyndávání věcí jednodušší.

RFID je připevněn k podsvícení krabice a je držen na místě pomocí zipů. Jeden problém, se kterým jsem se setkal, byl ten, že někdy neskenoval, ale s některými změnami jsem ho nechal fungovat.

Senzor Hallova jevu

Nejprve jsem do kola vyvrtal díru a vložil do ní magnet.

Pro halu jsou použity 3 propojovací vodiče (samec na samec), které jsem pájel na mém PCB i na samotném sále. Namontoval jsem snímač haly na svůj nákladní vůz pomocí několika zipů. Ujistěte se, že magnet a senzor jsou dobře zarovnány, jinak nebude vždy zaznamenávat puls.

Krok 7: Spuštění aplikace

Krok 1:

Zapojte malinu a napájecí banku.

Krok 2:

Počkejte, až se program spustí, můžete to sledovat na displeji LCD. Uvidíte IP adresu, přejděte na tuto IP adresu.

Krok 3:

Vytvořte si uživatele, můžete tak učinit registrací. Chcete -li na LCD zobrazit své UID odznaku, musíte naskenovat odznak.

Krok 4:

Pokud jste vytvořili uživatele, můžete odznak naskenovat a spustí se relace.

Krok 5:

Projděte se kolem

Krok 6:

Chcete -li relaci zastavit, znovu naskenujte odznak

Krok 7:

Chcete -li zobrazit relaci a podrobná data z relace, přihlaste se

Doporučuje: