Satura rādītājs:

Skate-o-Meter: 7 soļi (ar attēliem)
Skate-o-Meter: 7 soļi (ar attēliem)

Video: Skate-o-Meter: 7 soļi (ar attēliem)

Video: Skate-o-Meter: 7 soļi (ar attēliem)
Video: БЕЗ Александры Трусовой, но с Камилой Валиевой ⚡️ Лучшая фигуристка России ❗️ 2024, Jūlijs
Anonim
Skate-o-Meter
Skate-o-Meter

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

Elektroinstalācija
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

Datu bāzes shēma
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

Konfigurējiet Arduino Nano
Konfigurējiet Arduino Nano
Konfigurējiet Arduino Nano
Konfigurējiet Arduino Nano
Konfigurējiet Arduino Nano
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ājoklis + zāle
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: