Tartalomjegyzék:
- 1. lépés: Alkatrészek
- 2. lépés: Kábelezés
- 3. lépés: Adatbázis séma
- 4. lépés: Az Arduino Nano konfigurálása
- 5. lépés: Konfigurálja a Raspberry Pi -t
- 6. lépés: Lakás + csarnok
- Ház
- Hall effekt érzékelő
- 7. lépés: Az alkalmazás elindítása
Videó: Skate-o-Meter: 7 lépés (képekkel)
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:42
A Howest Kortrijk tanulója vagyok. Hogy megmutassuk készségeinket a lektoroknak, akikre szükségünk van egy projekt felépítéséhez, úgy döntöttem, hogy RFID -szkennerrel készítettem a gördeszkámhoz kilométer- és sebességmérőt. Ebben a tanulságosban el akarom mondani, hogyan hoztam létre ezt a projektet.
Azért jöttem rá erre az ötletre, mert szeretek korcsolyázni és cirkálni. Hajózás közben hasznos lenne látni, hogy mennyi utat tettem meg, és látni a sebességemet.
Ne feledje, hogy ez egy prototípus.
1. lépés: Alkatrészek
Alkatrészek
A projekt létrehozásához a következő összetevőket használtam:
- Gördeszka
- Potenciométer
- LCD
- Hall effekt érzékelő
- 10 k ohmos ellenállás
- Raspberry Pi
- Arduino Nano
- Átkötő huzal (hüvely -férfi)
- Jumper huzal (Raspberry Pi)
- Jumper vezeték (férfi -férfi)
- NYÁK
- RFID szkenner
- RFID jelvény
- Hordozható töltő
A linkeket és az árakat lásd a BillOfMaterials oldalon
2. lépés: Kábelezés
A csarnok 3 tűs: VCC, GND és kimenet. A föld egy GND -hez megy. A VCC 3.3V -ra és a kimenet ebben a példában a GPIO 26 -ra megy. A 10K ohmos ellenállás magasra emeli a kimenetet.
A jelvények olvasásához soros kommunikációt használok USB -n keresztül a málna pi és az arduino nano között. Ez nincs a képen, de kötelező!
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
3. lépés: Adatbázis séma
Az adatbázisom 3 táblázatot tartalmaz:
- Felhasználók
- Ülés
- Adat
Minden felhasználó külön nyomon követheti az adatokat. Egy munkamenet adatokkal rendelkezik, így tudja, hogy milyen gyorsan haladt bizonyos pontokon a munkamenet folyamán.
4. lépés: Az Arduino Nano konfigurálása
Először helyezze az arduino nano -t a számítógépébe az USB -kábelen keresztül. A feltöltéshez válassza ki a megfelelő arduino -t és a megfelelő USB -portot.
Ezután hozzá kell adnunk azt a könyvtárat, amelyet az RFID jelvény olvasásához használok. Töltse le az „rfid-master” fájlt, és menjen a vázlathoz, tartalmazza a könyvtárat, majd adja hozzá a. ZIP könyvtárat. Lépjen a letöltött ZIP -re, és használja ezt, ez automatikusan települ. Ezt követően töltse le a szerkesztett „RFID_Read.ino” gombot, nyomja meg a ctrl + O billentyűt, és adja hozzá ugyanazt az időt, és lépjen ehhez a fájlhoz, és nyissa meg.
Ha az összes fenti lépést megtette, ellenőrizheti a fájlt. Ha először hibázik, próbálja meg még egyszer. Ha ez sikerül, feltöltheti az arduino -ra. A ctrl+shift+m billentyűkód használatával megnyithatja a soros monitort. Itt tesztelheti a fájlt. Ha a teszt sikeres, húzza ki az arduinót, és csatlakoztassa a málna pi usb portjához
5. lépés: Konfigurálja a Raspberry Pi -t
Ezekben a lépésekben beállítjuk a málna pi -t adatbázisnak és webszervernek.
A PÉLDÁBAN A "FELHASZNÁLÓ" -T HASZNÁLOM, HA MÁS FELHASZNÁLÓT HASZNÁL, KELL KONFIG FÁJLOK MEGVÁLTOZTATÁSÁRA, ŐRZZE EL EZT!
1. Hozzon létre egy felhasználót:
Hozzon létre egy változót
pieter@rpipieter: ~ $ user = én
A felhasználó sudo beállítása és hozzáadása az összes csoporthoz
csoportok = $ (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}
Jelentkezzen be a fiókba
pieter@rpipieter: ~ $ su - én
Jelszó: me@my-rpi: ~ $
2. Csatlakozzon a WiFi -hez
me@rpipieter: ~ $ sudo -iroot@rpipieter: ~# echo 'Jelszó' | wpa_passphrase 'Hálózatnév' >> /etc/wpa_supplicant/wpa_supplicant.conf root@rpipieter: ~# wpa_cli -i wlan0 root újrakonfigurálása@rpipieter: ~# kijelentkezés
Ellenőrizze, hogy működik -e az internet
root@rpipieter: ~# wget google.com
3. A málna pi frissítése és a szükséges csomagok telepítése
me@my-rpi: ~ $ sudo apt frissítés
me@my-rpi: ~ $ sudo apt upgrade me@rpipieter: ~ $ sudo apt install -y python3-venv python3-pip python3-mysqldb mysql-server uwsgi nginx uwsgi-plugin-python3 gitme@my-rpi: ~ $ sudo reboot -h most
4. Klónozza a github táromat
én@rpipieter: ~ $ git klón
me@rpipieter: ~ $ cd skate-o-meter/skateometer/
5. A virtuális környezet kialakítása
Miközben ezeket a parancsokat hajtja végre, sok csomagot telepít, ez eltarthat egy ideig.
me@rpipieter: ~/skate-o-meter/skateometer $ python3 -m pip install-upgrade pip setuptools wheel virtualenv
me@rpipieter: ~/skate-o-meter/skateometer $ python3 -m venv-rendszer-site-csomagok 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. Az adatbázis és a felhasználók létrehozása
MySQL adatbázist használunk
pieter@rpipieter: ~/skate-o-meter/skateometer $ cd
pieter@rpipieter: ~ $ sudo mysql
Ezután másolja, illessze be ezt
GRANT SELECT, INSERT, UPDATE, DELETE ON *. * TO 'som-data'@'localhost'; SET PASSWORD FOR 'som-data'@'localhost' = PASSWORD ('sensor9810'); válasszon * a mysql.user közül; FELHASZNÁLÓ LÉTREHOZÁSA 'som-admin'@'localhost' AZONOSÍTJA: 'admin9810'; FELHASZNÁLÓ LÉTREHOZÁSA 'som-web'@'localhost' A "web9810" AZONOSÍTOTT; FELHASZNÁLÓ LÉTREHOZÁSA 'som-sensor'@'localhost' AZONOSÍTJA: 'sensor9810'; CREATE DATABASE skateometerdb; ÖSSZESÍTJEN MINDEN JOGOSultságot a skateometerdb-n*. GRANT SELECT, INSERT, UPDATE, DELETE ON skateometerdb.* TO 'som-web'@'localhost'; GRANT SELECT, INSERT, UPDATE, DELETE ON skateometerdb.* TO 'som-sensor'@'localhost'; FLUSH PRIVILEGES;
Ezután hozzáadjuk a meglévő adatbázis sémát relációkkal.
me@rpipieter: ~/skate-o-meter/skateometer $ sudo mysql <sql/skateometerdb_dump-withoutdata.sql
7. Szolgáltatások
Itt lemásoljuk a konfigurációs fájljainkat, és újratöltjük a mappát, hogy engedélyezni tudjuk a szolgáltatásokat
me@rpipieter: ~/skate-o-meter/skateometer $ sudo cp conf/som-*. service/etc/systemd/systemme@rpipieter: ~/skate-o-meter/skateometer $ sudo systemctl daemon-reload
Most engedélyezni fogjuk a szolgáltatásokat, hogy minden alkalommal, amikor elindítjuk a málna pi -t, ezek automatikusan elindulnak vele.
me@rpipieter: ~/skate-o-meter/skateometer $ sudo systemctl enable som-flask.service
Létrehozta a symlink /etc/systemd/system/multi-user.target.wants/som-flask.service → /etc/systemd/system/som-flask.service szolgáltatást. me@rpipieter: ~/skate-o-meter/skateometer $ sudo systemctl enable som-data.service Létrehozva symlink /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 -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
6. lépés: Lakás + csarnok
Ház
Először lyukat készítettem a gördeszkámban az LCD, a potenciométer és a zümmögő számára. Ezután forrasztottam az LCD -t, a potenciométert és a hangjelzőt a NYÁK -on. Ezután egy jumperhuzalt használtam az RPI -hez, azt a 40 tűt. Az egyik oldalát a málna pi -be teszem, a másik felét pedig levágom, ezt az oldalt fogjuk forrasztani. Az "rpi-cable" fájlban láthatja, hogy melyik vezetéket hol kell forrasztani.
A burkolathoz egy régi íves dobozt használtam, lyukakat tettem bele az ethernetkábelhez, és hogy az áthidaló huzal bekerüljön a dobozba.
Némi csavarral tartom a dobozt a gördeszka alatt. A doboz belsejében mindent elrendeztem, így elfér, és csavarokat és néhány gumit is használtam, hogy mindent a helyén tartsak. Ez megkönnyíti a cuccok kivitelét.
Az RFID -t a doboz megvilágítására szerelték fel, és cipzárral tartják a helyén, az egyik problémám az volt, hogy néha nem szkennelt, de némi változtatással sikerült.
Hall effekt érzékelő
Először lyukat fúrtam a kerékbe, és mágnest tettem bele.
A csarnokban 3 jumperhuzalt használnak (hím -férfi), forrasztottam őket a NYÁK -ra és magára a csarnokra. A csarnokérzékelőt néhány cipzárral szereltem fel a teherautómra. Győződjön meg arról, hogy a mágnes és az érzékelő jól illeszkedik, különben nem mindig regisztrálja az impulzust.
7. lépés: Az alkalmazás elindítása
1. lépés:
Csatlakoztassa a málna- és a power bankot.
2. lépés:
Várjon, amíg a program elindul, ezt követheti az LCD -n. Látni fogja az IP-címet, menjen erre az IP-címre.
3. lépés:
Hozzon létre egy felhasználót, ezt regisztrációval teheti meg. Be kell olvasnia a jelvényt, hogy a jelvény UID azonosítóját láthassa az LCD -n.
4. lépés:
Ha létrehozott egy felhasználót, beolvashatja jelvényét, és a munkamenet elindul.
5. lépés:
Hajózz körbe
6. lépés:
A munkamenet leállításához olvassa be újra a jelvényt
7. lépés:
Jelentkezzen be, hogy megtekinthesse munkamenetét és a munkamenet részletes adatait
Ajánlott:
DIY 37 LED Arduino rulett játék: 3 lépés (képekkel)
DIY 37 Leds Arduino Roulette Játék: A rulett egy kaszinójáték, amelyet a francia szóról neveztek el, jelentése kis kerék
Útmutató: A Raspberry PI 4 fej nélküli (VNC) telepítése Rpi-képalkotóval és képekkel: 7 lépés (képekkel)
Útmutató: A Raspberry PI 4 fej nélküli (VNC) telepítése Rpi-képalkotóval és képekkel: Ezt a Rapsberry PI-t tervezem használni egy csomó szórakoztató projektben a blogomban. Nyugodtan nézd meg. Vissza akartam kezdeni a Raspberry PI használatát, de nem volt billentyűzetem vagy egér az új helyen. Rég volt, hogy beállítottam egy málnát
Hogyan készítsünk LED ICE SKATE -t: 6 lépés (képekkel)
Hogyan készítsünk LED ICE SKATE -t: Neopixel LED -eket teszek a korcsolyámra. Minden alkalommal, amikor az Arduino kártyához csatlakoztatott mikrofon zajos hangot hall. Különféle jeleket küld a LED -eknek. Könnyen elkészíthető, még kezdőknek is. Megosztottam a kódokat és az utasításokat. Próbáljuk meg
Bolt - DIY vezeték nélküli töltő éjszakai óra (6 lépés): 6 lépés (képekkel)
Bolt - DIY vezeték nélküli töltés éjszakai óra (6 lépés): Az induktív töltés (más néven vezeték nélküli töltés vagy vezeték nélküli töltés) a vezeték nélküli áramátvitel egyik típusa. Elektromágneses indukciót használ a hordozható eszközök áramellátásához. A leggyakoribb alkalmazás a Qi vezeték nélküli töltő
A számítógép szétszerelése egyszerű lépésekkel és képekkel: 13 lépés (képekkel)
A számítógép szétszerelése egyszerű lépésekkel és képekkel: Ez az utasítás a számítógép szétszereléséről szól. A legtöbb alapvető alkatrész moduláris és könnyen eltávolítható. Fontos azonban, hogy szervezett legyen ezzel kapcsolatban. Ez segít elkerülni az alkatrészek elvesztését, és az újra összerakást is