Spisu treści:

Skate-o-Meter: 7 kroków (ze zdjęciami)
Skate-o-Meter: 7 kroków (ze zdjęciami)

Wideo: Skate-o-Meter: 7 kroków (ze zdjęciami)

Wideo: Skate-o-Meter: 7 kroków (ze zdjęciami)
Wideo: Hardkorowe testy Hulajnóg :O CZY HULAJNOGA ZA 500 ZŁ WYTRZYMA LOT Z 7 PIĘTRA ? 2024, Lipiec
Anonim
Skate-o-Meter
Skate-o-Meter

Jestem studentem Howest Kortrijk. Aby pokazać nasze umiejętności lektorom, których potrzebowaliśmy do zbudowania projektu, zdecydowałem się stworzyć licznik kilometrów i prędkościomierz do mojej deskorolki ze skanerem RFID. W tym instruktażu zamierzam powiedzieć, jak zrobiłem ten projekt.

Wpadłem na ten pomysł, ponieważ lubię jeździć na łyżwach i pływać dookoła. Podczas rejsu przydałoby się zobaczyć, ile przebyłem dystansu i zobaczyć moją prędkość.

Pamiętaj, że to prototyp.

Krok 1: Komponenty

składniki

Do stworzenia tego projektu użyłem następujących komponentów:

  • Deskorolka
  • Potencjometr
  • LCD
  • Czujnik Halla
  • Rezystor 10k Ohm
  • malinowy pi
  • Arduino Nano
  • Przewód połączeniowy (żeński-męski)
  • Przewód połączeniowy (Raspberry Pi)
  • Przewód połączeniowy (męski na męski)
  • PCB
  • Skaner RFID
  • Odznaka RFID
  • Powerbank

Zobacz BillOfMaterials dla linków i ceny

Krok 2: Okablowanie

Okablowanie
Okablowanie

Hala ma 3 piny: VCC, GND i wyjście. Masa idzie do GND. VCC do 3,3 V, a wyjście w tym przykładzie przechodzi do GPIO 26. Rezystor 10K Ohm podnosi napięcie wyjściowe do wysokiego poziomu.

Używam komunikacji szeregowej przez USB między raspberry pi a arduino nano do odczytywania odznak. Nie ma tego na zdjęciu, ale jest wymagane!

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: Schemat bazy danych

Schemat bazy danych
Schemat bazy danych

Moja baza danych zawiera 3 tabele:

  • Użytkownicy
  • Sesja
  • Dane

Każdy użytkownik może osobno śledzić dane. Sesja zawiera dane, dzięki czemu wiesz, jak szybko postępowałeś w określonych punktach podczas sesji.

Krok 4: Skonfiguruj Arduino Nano

Skonfiguruj Arduino Nano
Skonfiguruj Arduino Nano
Skonfiguruj Arduino Nano
Skonfiguruj Arduino Nano
Skonfiguruj Arduino Nano
Skonfiguruj Arduino Nano

Najpierw umieść arduino nano w komputerze za pomocą kabla USB. Wybierz odpowiednie arduino i odpowiedni port USB do przesłania.

Następnie musimy dodać bibliotekę, której używam do odczytu identyfikatora RFID. Pobierz 'rfid-master' i przejdź do szkicu, dołącz bibliotekę, a następnie dodaj bibliotekę. ZIP. Przejdź do właśnie pobranego pliku zip i użyj tego, zainstaluje się on automatycznie. Po tym ściągnięciu mojego edytowanego 'RFID_Read.ino' naciśnij ctrl + O dodaj w tym samym czasie i przejdź do tego pliku i otwórz go.

Jeśli wykonałeś wszystkie powyższe kroki, możesz zweryfikować plik. Jeśli błąd pojawia się za pierwszym razem, spróbuj jeszcze raz. Jeśli to się powiedzie, możesz wgrać go do swojego arduino. Używając skrótu ctrl+shift+m możesz otworzyć monitor szeregowy. Możesz przetestować plik tutaj. Jeśli test się powiedzie możesz odłączyć arduino i podłączyć go do portu usb raspberry pi

Krok 5: Skonfiguruj Raspberry Pi

W tych krokach skonfigurujemy raspberry pi jako bazę danych i serwer WWW.

W TYM PRZYKŁADZIE UŻYWAM UŻYTKOWNIKA „ja” JEŚLI KORZYSTASZ Z INNEGO UŻYTKOWNIKA, MUSISZ ZMIENIĆ PLIKI KONFIGURACJI, MIEJ TO NA PAMIĘCI!

1. Utwórz użytkownika:

Utwórz zmienną

pieter@rpipieter:~ $ user=me

Tworzenie sudo użytkownika i dodawanie do wszystkich grup

groups=$(id pi -Gn | sed 's/^pi //g' | sed 's/ /, /g')sudo useradd ${użytkownik} -s /bin/bash -m -G ${grupy} sudo sed "s/^pi/${user}/" /etc/sudoers.d/010_pi-nopasswd | koszulka sudo "/etc/sudoers.d/011_${user}-nopasswd" hasło sudo ${user}

Zaloguj się do konta

pieter@rpipieter:~ $ su - ja

Hasło: ja@my-rpi:~$

2. Połącz się z Wi-Fi

ja@rpipieter:~ $ sudo -iroot@rpipieter:~# echo 'Hasło' | wpa_passphrase 'Nazwa sieci' >> /etc/wpa_supplicant/wpa_supplicant.conf root@rpipieter:~# wpa_cli -i wlan0 reconfigure root@rpipieter:~# logout

Sprawdź, czy działa internet

root@rpipieter:~# wget google.com

3. Aktualizacja raspberry pi i instalacja potrzebnych pakietów

ja@my-rpi:~$ aktualizacja sudo apt

ja@my-rpi:~$ sudo apt upgrade ja@rpipieter:~ $ sudo apt install -y python3-venv python3-pip python3-mysqldb mysql-server uwsgi nginx uwsgi-plugin-python3 gitme@my-rpi:~$ sudo uruchom ponownie -h teraz

4. Sklonuj moje repozytorium github

ja@rpipieter:~ $ git clone

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

5. Tworzenie wirtualnego środowiska

Podczas wykonywania tych poleceń zostanie zainstalowanych wiele pakietów, może to zająć trochę czasu.

me@rpipieter:~/skate-o-meter/skateometer $ python3 -m pip install --upgrade pip setuptools koło virtualenv

ja@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. Tworzenie bazy danych i użytkowników

Korzystamy z bazy mysql

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

pieter@rpipieter:~ $ sudo mysql

Następnie skopiuj, wklej to

PRZYZNAJ WYBIERZ, WSTAW, AKTUALIZUJ, USUŃ W DNIU *.* DO 'som-data'@'localhost';USTAW HASŁO DLA 'som-data'@'localhost' = HASŁO('sensor9810'); wybierz * z mysql.user; UTWÓRZ UŻYTKOWNIKA 'som-admin'@'localhost' ZIDENTYFIKOWANEGO PRZEZ 'admin9810'; UTWÓRZ UŻYTKOWNIKA 'som-web'@'localhost' IDENTYFIKOWANEGO PRZEZ 'web9810'; UTWÓRZ UŻYTKOWNIKA 'som-sensor'@'localhost' ZIDENTYFIKOWANY PRZEZ 'sensor9810'; TWORZENIE BAZY DANYCH skateometerdb; PRZYZNAJ WSZYSTKIE PRZYWILEJE NA skateometerdb.* 'som-admin'@'localhost' Z OPCJĄ PRZYZNANIA; PRZYZNAJ WYBIERZ, WSTAW, AKTUALIZUJ, USUŃ NA skateometerdb.* DO 'som-web'@'localhost'; PRZYZNAJ WYBIERZ, WSTAW, AKTUALIZUJ, USUŃ NA skateometerdb.* DO 'som-sensor'@'localhost'; PRZYWILEJE WSPÓŁPRACUJĄCE;

Następnie dodamy istniejący schemat bazy danych z relacjami.

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

7. Usługi

Tutaj kopiujemy nasze pliki konfiguracyjne i ponownie ładujemy folder, abyśmy mogli włączyć usługi

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

Teraz włączymy usługi, aby za każdym razem, gdy uruchomimy Raspberry Pi, automatycznie uruchomią się z nim.

ja@rpipieter:~/skate-o-meter/skateometer $ sudo systemctl włącz som-flask.service

Utworzono dowiązanie symboliczne /etc/systemd/system/multi-user.target.wants/som-flask.service → /etc/systemd/system/som-flask.service. ja@rpipieter:~/skate-o-meter/skateometer $ sudo systemctl enable som-data.service Utworzony symlink /etc/systemd/system/multi-user.target.wants/som-data.service → /etc/systemd/ system/som-data.service. ja@rpipieter:~/skate-o-meter/skateometer $ sudo systemctl start som-data.service ja@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 -meter/skateometer $ sudo systemctl restart nginx.service

Krok 6: Mieszkanie + Hala

Obudowa + Hala
Obudowa + Hala

Mieszkania

Najpierw zrobiłem dziurę w mojej deskorolce na LCD, potencjometr i brzęczyk. Potem przylutowałem LCD, potencjometr i brzęczyk na płytce drukowanej. Następnie użyłem zworki dla RPI, tego z 40 pinami. Jedną stronę wkładam do malinowego pi, a drugą połowę wycięłam, tę stronę wykorzystamy do lutowania. W pliku 'rpi-cable' możesz zobaczyć, gdzie należy przylutować który przewód.

Do obudowy użyłem starego pudełka po zakrzywieniu, zrobiłem w nim kilka otworów na kabel ethernetowy i przewód połączeniowy, który ma wszedł do pudełka.

Pudełko trzymam pod deskorolką za pomocą jakiejś śruby. W środku ułożyłem wszystko tak, żeby się zmieściło, a także użyłem śrubek i gumek, żeby wszystko było na swoim miejscu. Ułatwia to wyjmowanie rzeczy.

RFID jest zamontowany na oświetleniu pudełka i jest utrzymywany na miejscu za pomocą zamków błyskawicznych, jeden problem, z którym się spotkałem, polegał na tym, że czasami nie skanował, ale po pewnych zmianach sprawiłem, że działało.

Czujnik Halla

Najpierw wywierciłem dziurę w kole i włożyłem w nią magnes.

Do hali używane są 3 zworki (męski na męski) przylutowałem je na mojej płytce drukowanej, a także na samej hali. Zamontowałem czujnik Halla na mojej ciężarówce z kilkoma suwakami. Upewnij się, że magnes i czujnik są dobrze wyrównane, w przeciwnym razie nie zawsze zarejestruje puls.

Krok 7: Uruchamianie aplikacji

Krok 1:

Podłącz malinę i power bank.

Krok 2:

Poczekaj, aż program się uruchomi, możesz śledzić to na wyświetlaczu LCD. Zobaczysz adres IP, przejdź do tego adresu IP.

Krok 3:

Utwórz użytkownika, możesz to zrobić rejestrując się. Musisz zeskanować identyfikator, aby zobaczyć swój UID identyfikatora na wyświetlaczu LCD.

Krok 4:

Jeśli utworzyłeś użytkownika, możesz zeskanować swoją plakietkę i rozpocznie się sesja.

Krok 5:

Idź w rejs po okolicy

Krok 6:

Zeskanuj plakietkę ponownie, aby zatrzymać sesję

Krok 7:

Zaloguj się, aby zobaczyć swoją sesję i szczegółowe dane z sesji

Zalecana: