Satura rādītājs:
- 1. darbība: sastāvdaļas
- 2. solis: Elektroinstalācija
- 3. darbība. Datu bāzes shēma
- 4. darbība: konfigurējiet Arduino Nano
- 5. darbība: konfigurējiet Raspberry Pi
- 6. solis: mājoklis + zāle
- Mājokļi
- Halles efekta sensors
- 7. solis: lietotnes palaišana
Video: Skate-o-Meter: 7 soļi (ar attēliem)
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:57
Es esmu Howest Kortrijk students. Lai parādītu savas prasmes pasniedzējiem, kas mums bija vajadzīgi, lai izveidotu projektu, es tomēr izvēlējos izveidot odometru un spidometru savam skeitbordam ar RFID skeneri. Šajā pamācībā es gribu pateikt, kā man veicās ar šo projektu.
Man radās šī ideja, jo man patīk slidot un kruīzēt apkārt. Kamēr es braucu kreisā, būtu ērti redzēt, cik lielu attālumu esmu nobraucis, un redzēt savu ātrumu.
Paturiet prātā, ka tas ir prototips.
1. darbība: sastāvdaļas
Sastāvdaļas
Lai izveidotu šo projektu, es izmantoju šādus komponentus:
- Skeitbords
- Potenciometrs
- LCD
- Halles efekta sensors
- 10k omu rezistors
- Aveņu pi
- Arduino Nano
- Džempera vads (no sievietes līdz vīrietim)
- Džempera vads (Raspberry Pi)
- Džempera vads (no vīrieša līdz vīrietim)
- PCB
- RFID skeneris
- RFID emblēma
- Powerbank
Saites un cenu skatiet BillOfMaterials
2. solis: Elektroinstalācija
Zālē ir 3 tapas: VCC, GND un izeja. Zeme iet uz GND. VCC līdz 3.3V un izeja šajā piemērā ir GPIO 26. 10K omu rezistors izvelk izeju augstu.
Lai lasītu nozīmītes, es izmantoju seriālo komunikāciju, izmantojot USB starp aveņu pi un arduino nano. Tas nav attēlā, bet ir obligāts!
D9 RST (atiestatīt) D10 SDA (SS) (SPI SS) D11 MOSI (SPI MOSI) D12 MISO (SPI MISO) D13 SCK (SPI SCK) GND GND3.3V 3.3V
3. darbība. Datu bāzes shēma
Manā datu bāzē ir 3 tabulas:
- Lietotāji
- Sesija
- Dati
Katrs lietotājs var atsevišķi izsekot datiem. Sesijā ir dati, lai jūs zināt, cik ātri jūs gājāt noteiktos punktos sesijas laikā.
4. darbība: konfigurējiet Arduino Nano
Vispirms ievietojiet savu arduino nano datorā, izmantojot USB kabeli. Augšupielādei izvēlieties pareizo arduino un pareizo USB portu.
Tālāk mums jāpievieno bibliotēka, ko izmantoju RFID emblēmas lasīšanai. Lejupielādējiet “rfid-master” un dodieties uz skici, iekļaujiet bibliotēku un pēc tam pievienojiet. ZIP bibliotēku. Dodieties uz tikko lejupielādēto zip un izmantojiet šo, tas tiks instalēts automātiski. Pēc tam lejupielādējiet manu rediģēto “RFID_Read.ino”, nospiediet taustiņu kombināciju ctrl + O, pievienojiet to pašu laiku un dodieties uz šo failu un atveriet to.
Ja veicāt visas iepriekš minētās darbības, varat pārbaudīt failu. Ja tas pirmo reizi kļūdās, mēģiniet to vēlreiz. Ja tas izdodas, varat to augšupielādēt savā arduino. Izmantojot īsinājumtaustiņu ctrl+shift+m, varat atvērt seriālo monitoru. Jūs varat pārbaudīt failu šeit. Ja tests ir veiksmīgs, varat atvienot arduino un pievienojiet to aveņu pi USB portam
5. darbība: konfigurējiet Raspberry Pi
Šajās darbībās mēs iestatīsim aveņu pi kā datu bāzi un tīmekļa serveri.
ŠAJĀ PIEMĒRĀ IZMANTOJU LIETOTĀJU “es”, JA JŪS IZMANTOJAT CITU LIETOTĀJU, JA NEPIECIEŠAMS MAINĪT KONFIGURĀCIJAS FILUS, UZGLABĀJIET ŠO!
1. Izveidojiet lietotāju:
Izveidojiet mainīgo
pieter@rpipieter: ~ $ user = es
Lietotāja sudo izveidošana un pievienošana visām grupām
grupas = $ (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}
Piesakieties kontā
pieter@rpipieter: ~ $ su - es
Parole: es@my-rpi: ~ $
2. Izveidojiet savienojumu ar WiFi
me@rpipieter: ~ $ sudo -iroot@rpipieter: ~# echo 'Parole' | wpa_passphrase 'Tīkla nosaukums' >> /etc/wpa_supplicant/wpa_supplicant.conf root@rpipieter: ~# wpa_cli -i wlan0 pārkonfigurēt sakni@rpipieter: ~# logout
Pārbaudiet, vai internets darbojas
root@rpipieter: ~# wget google.com
3. Aveņu pi atjaunināšana un nepieciešamo pakotņu instalēšana
me@my-rpi: ~ $ sudo apt atjauninājums
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 atsāknēšana -h tagad
4. Klonējiet manu github krātuvi
es@rpipieter: ~ $ git klons
es@rpipieter: ~ $ cd skate-o-meter/skateometer/
5. Virtuālās vides veidošana
Veicot šīs komandas, tiks instalēts daudz pakotņu, tas var aizņemt kādu laiku.
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-paketes env (env) me@rpipieter: ~/skate-o-meter/skateometer $ python -m pip install mysql- savienotājs-python argon2-cffi kolbas kolba-HTTPAuth kolba-MySQL mysql-savienotājs-python passlib pyserial pyjwt RPi. GPIO
6. Datu bāzes un lietotāju izveide
Mēs izmantojam mysql datu bāzi
pieter@rpipieter: ~/skate-o-meter/skeitometrs $ cd
pieter@rpipieter: ~ $ sudo mysql
Pēc tam kopējiet un ielīmējiet šo
GRANT SELECT, INSERT, UPDATE, DELETE ON *. * TO 'som-data'@'localhost'; SET PASSWORD for 'som-data'@'localhost' = PASSWORD ('sensor9810'); izvēlieties * no mysql.user; IZVEIDOT LIETOTĀJU 'som-admin'@'localhost' IDENTIFICĒJA 'admin9810'; IZVEIDOT LIETOTĀJU 'som-web'@'localhost' IDENTIFICĒJA 'web9810'; IZVEIDOT LIETOTĀJU 'som-sensor'@'localhost', IDENTIFICĒTA 'sensor9810'; CREATE DATABASE skateometerdb; Piešķiriet visas privilēģijas skateometerdb.* Uz som-admin '@' localhost 'AR GRANT OPTION; GRANT SELECT, INSERT, UPDATE, DELETE ON skateometerdb.* TO 'som-web'@'localhost'; GRANT SELECT, INSERT, UPDATE, DELETE ON skateometerdb.* TO 'som-sensor'@'localhost'; FLUSH PRIVILĒGAS;
Tālāk mēs pievienosim esošo datu bāzes shēmu ar attiecībām.
me@rpipieter: ~/skate-o-meter/skeitometrs $ sudo mysql <sql/skateometerdb_dump-withoutdata.sql
7. Pakalpojumi
Šeit mēs kopējam savus konfigurācijas failus un atkārtoti ielādējam mapi, lai mēs varētu iespējot pakalpojumus
me@rpipieter: ~/skate-o-meter/skateometer $ sudo cp conf/som-*. service/etc/systemd/systemme@rpipieter: ~/skate-o-meter/skateometer $ sudo systemctl dēmons-reload
Tagad mēs iespējosim pakalpojumus, lai ikreiz, kad mēs sākam aveņu pi, tie automātiski sāksies ar to.
me@rpipieter: ~/skate-o-meter/skeitometrs $ sudo systemctl iespējot som-kolbu. pakalpojums
Izveidots symlink /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 Izveidots symlink /etc/systemd/system/multi-user.target.wants/som-data.service →/etc/systemd/ system/som-data.service. me@rpipieter: ~/skate-o-meter/skeitometrs $ 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/skeitometrs $ sudo cp conf/nginx/etc/nginx/sites-available/skateometerme@rpipieter: ~/skate-o-meter/skateometer $ sudo rm/etc/nginx/sites -iespējots/noklusējuma 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. solis: mājoklis + zāle
Mājokļi
Vispirms es izveidoju caurumu savā skeitbordā LCD, potenciometram un skaņas signālam. Pēc tam es pielodēju LCD, potenciometru un skaņas signālu uz PCB. Tad es RPI izmantoju jumperwire, vienu ar 40 tapām. Es ievietoju vienu pusi aveņu pi un otru pusi, kuru es sagriezu, šo pusi mēs izmantosim lodēšanai. Failā "rpi-cable" varat redzēt, kur nepieciešams pielodēt, kurš vads.
Korpusam es izmantoju vecu izliekuma kārbu, es tajā ievietoju dažus caurumus ethernetcable un lai jumperwire nonāktu kastē.
Es turu kastīti zem skeitborda ar kādu skrūvi. Kastes iekšpusē es sakārtoju visu, lai tas ietilptu, kā arī izmantoju skrūves un dažas gumijas, lai viss būtu vietā. Tas atvieglo preču izņemšanu.
RFID ir uzstādīts uz kastes apgaismojuma un tiek turēts kopā ar rāvējslēdzējiem. Viena problēma, ar kuru es saskāros, bija tā, ka dažreiz tā netika skenēta, bet ar dažām izmaiņām es to izdarīju.
Halles efekta sensors
Vispirms izurbju ritenī caurumu un ieliku tajā magnētu.
Zālē tiek izmantoti 3 džemperi (no vīriešiem līdz vīriešiem). Es tos lodēju uz PCB, kā arī pašā zālē. Es uzstādīju zāles sensoru savā kravas automašīnā ar dažiem rāvējslēdzējiem. Pārliecinieties, vai magnēts un sensors ir labi izlīdzināti, pretējā gadījumā tas ne vienmēr reģistrēs impulsu.
7. solis: lietotnes palaišana
1. darbība:
Pievienojiet aveņu un strāvas banku.
2. darbība:
Pagaidiet, līdz programma sāksies, to varat sekot LCD ekrānam. Jūs redzēsit IP adresi, dodieties uz šo IP adresi.
3. darbība:
Izveidojiet lietotāju, to varat izdarīt, reģistrējoties. Jums ir jānoskenē emblēma, lai LCD ekrānā redzētu emblēmas UID.
4. solis:
Ja esat izveidojis lietotāju, varat skenēt savu emblēmu un sāksies sesija.
5. darbība
Dodieties kruīzā
6. darbība:
Lai pārtrauktu sesiju, vēlreiz skenējiet emblēmu
7. darbība:
Piesakieties, lai redzētu savu sesiju un detalizētus sesijas datus
Ieteicams:
Kā: Raspberry PI 4 bez galvas (VNC) instalēšana ar RPI attēlu un attēliem: 7 soļi (ar attēliem)
Kā: Raspberry PI 4 bez galvas (VNC) instalēšana ar Rpi-imager un Pictures: Es plānoju izmantot šo Rapsberry PI daudzos jautros projektos savā emuārā. Jūtieties brīvi to pārbaudīt. Es gribēju atkal izmantot savu aveņu PI, bet manā jaunajā vietā nebija tastatūras vai peles. Pagāja laiks, kopš es izveidoju aveņu
Kā izgatavot LED ICE SKATE: 6 soļi (ar attēliem)
Kā izgatavot LED ICE SKATE: Es uz savas slidas uzliku neopikseļu gaismas diodes. Katru reizi, kad mikrofons, kas ir savienots ar Arduino plati, dzird jebkādu trokšņainu skaņu. Tas sūta dažādus signālus uz gaismas diodēm. To ir viegli izgatavot pat iesācējiem. Es koplietoju kodus un instrukcijas. Pamēģināsim
Arduino Halloween Edition - zombiju uznirstošais ekrāns (soļi ar attēliem): 6 soļi
Arduino Helovīna izdevums - zombiju uznirstošais ekrāns (soļi ar attēliem): Vai vēlaties Helovīnā nobiedēt savus draugus un radīt kliedzošu troksni? Vai arī vienkārši gribi uztaisīt labu palaidnību? Šis zombiju uznirstošais ekrāns to var izdarīt! Šajā pamācībā es iemācīšu jums, kā viegli izveidot izlecošus zombijus, izmantojot Arduino. HC-SR0
Skrūve - DIY bezvadu uzlādes nakts pulkstenis (6 soļi): 6 soļi (ar attēliem)
Bolt - DIY bezvadu uzlādes nakts pulkstenis (6 soļi): Induktīvās uzlādes (pazīstamas arī kā bezvadu uzlāde vai bezvadu uzlāde) ir bezvadu enerģijas pārneses veids. Tas izmanto elektromagnētisko indukciju, lai nodrošinātu elektroenerģiju pārnēsājamām ierīcēm. Visizplatītākā lietojumprogramma ir Qi bezvadu uzlādes st
Kamera atvieglotiem laika intervāla attēliem: 22 soļi (ar attēliem)
Kamera atvieglotiem laika intervāla attēliem: es pārbaudīju vienu no citām instrukcijām par laika nobīdes filmu veidošanu. Viņš diezgan labi aptvēra filmas daļu. Viņš pastāstīja par bezmaksas programmatūru, kuru varat lejupielādēt, lai izveidotu filmas. Es sev teicu: domāju, ka redzēšu, vai varu