Mündəricat:

Skate-o-Meter: 7 addım (şəkillərlə)
Skate-o-Meter: 7 addım (şəkillərlə)

Video: Skate-o-Meter: 7 addım (şəkillərlə)

Video: Skate-o-Meter: 7 addım (şəkillərlə)
Video: 🇧🇷 ДНЕВНЫЕ БОРДЕЛИ РИО // ЗАБРАЛ ЛЬВИЦУ С ПЛЯЖА ДОМОЙ 🇧🇷 БРАЗИЛИЯ РИО ДЕ ЖАНЕЙРО 2024, Iyul
Anonim
Skate-o-metr
Skate-o-metr

Howest Kortrijk tələbəsiyəm. Bir layihə qurmaq üçün lazım olan müəllimlərə bacarıqlarımızı göstərmək üçün, RFID skaneri olan skeytbordum üçün odometr və sürətölçən yaratmağı seçdim. Bu təlimatda bu layihəni necə hazırladığımı söyləyəcəyəm.

Bu fikri düşündüm, çünki konki sürməyi və gəzməyi sevirəm. Gəzərkən, nə qədər məsafə qət etdiyimi və sürətimi görmək mənim üçün əlverişli olardı.

Bunun bir prototip olduğunu unutmayın.

Addım 1: Komponentlər

Komponentlər

Bu layihəni yaratmaq üçün aşağıdakı komponentlərdən istifadə etdim:

  • Skeytbord
  • Potensialiometr
  • LCD
  • Hall effekti sensoru
  • 10k Ohm rezistor
  • Moruq pi
  • Arduino Nano
  • Jumper teli (Dişi -kişi)
  • Jumper teli (Raspberry Pi)
  • Jumper teli (kişidən kişiyə)
  • PCB
  • RFID skaner
  • RFID nişanı
  • Powerbank

Bağlantılar və qiymət üçün BillOfMateriallara baxın

Addım 2: Kabel çəkmə

Kablolama
Kablolama

Zalda 3 pin var: VCC, GND və çıxış. Zəmin GND -ə gedir. VCC 3.3V -ə qədərdir və bu nümunədəki çıxış GPIO 26 -ya gedir. 10K Ohm rezistor çıxışı yüksək çəkir.

Nişanları oxumaq üçün moruq pi və arduino nano arasında USB üzərindən serial ünsiyyətdən istifadə edirəm. Bu şəkil yoxdur, amma tələb olunur!

D9 RST (Sıfırla) D10 SDA (SS) (SPI SS) D11 MOSI (SPI MOSI) D12 MISO (SPI MISO) D13 SCK (SPI SCK) GND GND3.3V 3.3V

Addım 3: Veritabanı Sxemi

Verilənlər bazası sxemi
Verilənlər bazası sxemi

Verilənlər bazamda 3 cədvəl var:

  • İstifadəçilər
  • Sessiya
  • Məlumat

Hər bir istifadəçi məlumatları ayrı -ayrılıqda izləyə bilər. Bir seansın məlumatları var, buna görə sessiya davam edərkən müəyyən nöqtələrə nə qədər sürətli getdiyinizi bilirsiniz.

Addım 4: Arduino Nanonu konfiqurasiya edin

Arduino Nanonu konfiqurasiya edin
Arduino Nanonu konfiqurasiya edin
Arduino Nanonu konfiqurasiya edin
Arduino Nanonu konfiqurasiya edin
Arduino Nanonu konfiqurasiya edin
Arduino Nanonu konfiqurasiya edin

Əvvəlcə USB kabel vasitəsilə arduino nanonu kompüterinizə qoyun. Yükləmək üçün doğru arduino və doğru usb portunu seçin.

Sonra RFID nişanını oxumaq üçün istifadə etdiyim kitabxananı əlavə etməliyik. 'Rfid-master' yükləyin və eskizə keçin, kitabxananı daxil edin və sonra. ZIP kitabxana əlavə edin. Yeni yüklədiyiniz zipə gedin və bundan istifadə edin, avtomatik quraşdırılacaq. Bundan sonra redaktə etdiyim 'RFID_Read.ino' düyməsini basın ctrl + O eyni vaxt əlavə edin və bu fayla gedin və açın.

Yuxarıda göstərilən bütün addımları yerinə yetirmiş olsanız, faylı yoxlaya bilərsiniz. İlk dəfə səhv edirsə, bir daha cəhd edin. Bu uğurlu olarsa, arduino -ya yükləyə bilərsiniz. Ctrl+shift+m qısayolundan istifadə edərək seriyalı monitoru aça bilərsiniz. Faylı burada sınaya bilərsiniz. Test müvəffəqiyyətli olarsa, arduino -nu çıxarıb moruq pi -nin usb portuna qoşa bilərsiniz.

Addım 5: Raspberry Pi -ni konfiqurasiya edin

Bu addımlarda, moruq pi -ni verilənlər bazası və veb -server olaraq quracağıq.

BU NÜMUNƏDƏ İSTİFADƏÇİ 'MƏNİ' İSTİFADƏ ETDİRİRSİNİZ KONFİG DOSYALARINI DƏYİŞTİRMƏK GERƏKDİR, BU ŞƏHƏRDƏ SAXLAYIN!

1. İstifadəçi yaradın:

Bir dəyişən yaradın

pieter@rpipieter: ~ $ user = mən

İstifadəçini sudo etmək və bütün qruplara əlavə etmək

qruplar = $ (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}

Hesaba daxil olun

pieter@rpipieter: ~ $ su - mən

Şifrə: me@my-rpi: ~ $

2. WiFi ilə qoşulun

me@rpipieter: ~ $ sudo -iroot@rpipieter: ~# echo 'Şifrə' | wpa_passphrase 'Şəbəkə Adı' >> /etc/wpa_supplicant/wpa_supplicant.conf root@rpipieter: ~# wpa_cli -i wlan0 root@rpipieter'i yenidən konfiqurasiya edin: ~# çıxış

İnternetin işlədiyini yoxlayın

kök@rpipieter: ~# wget google.com

3. Moruq pi-ni müasir etmək və lazım olan paketləri quraşdırmaq

me@my-rpi: ~ $ sudo apt yeniləmə

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 yenidən başladın -h indi

4. Github depomu klonlaşdırın

me@rpipieter: ~ $ git klonu

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

5. Virtual mühitin yaradılması

Bu əmrləri yerinə yetirərkən bir çox paket qurulacaq, buna bir az vaxt lazım ola bilər.

me@rpipieter: ~/skate-o-meter/skateometer $ python3 -m pip quraşdırın-pip setuptools təkərini təkmilləşdirin 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- bağlayıcı-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-connector-python passlib pyserial pyjwt RPi. GPIO

6. Verilənlər bazasının və istifadəçilərin yaradılması

MySQL verilənlər bazasından istifadə edirik

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

pieter@rpipieter: ~ $ sudo mysql

Sonra kopyalayın, yapışdırın

GRANT SELECT, INSERT, UPDATE, DELETE ON *. * TO 'som-data'@'localhost'; 'Som-data'@'localhost' = PASSWORD ('sensor9810') ÜÇÜN PAROLU AYARLAYIN; mysql.user -dən * seçin; 'Som9 admin'@'localhost' İSTİFADƏÇİSİ YARADIN 'admin9810'; 'Som9-web'@'localhost' İSTİFADƏÇİSİNİ 'web9810' tərəfindən təyin edin; İstifadəçi yarat 'som-sensor'@'localhost' IDENTIFIED BY 'sensor9810'; DATABASE CREATE skateometerdb; Skateometerdb-də BÜTÜN İSTİFADƏLƏRİ Qrant edin.* QRANT SEÇİMİ İLƏ 'som-admin'@'localhost' a; GRATE SELECT, INSERT, UPDATE, DELETE ON skateometerdb.* TO 'som-web'@'localhost'; GRANT SELECT, INSERT, UPDATE, DELETE ON skateometerdb.* TO 'som-sensor'@'localhost'; FLUSH İSTİFADƏLƏRİ;

Sonra əlaqələr ilə mövcud verilənlər bazası sxemini əlavə edəcəyik.

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

7. Xidmətlər

Burada konfiqurasiya sənədlərimizi kopyalayırıq və qovluqları yenidən yükləyirik ki, xidmətləri təmin edək

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

İndi xidmətləri işə salacağıq ki, hər dəfə moruq pi -yə başlayanda avtomatik olaraq onunla işə başlayaq.

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

Symetlink /etc/systemd/system/multi-user.target.wants/som-flask.service → /etc/systemd/system/som-flask.service yaradıldı. me@rpipieter: ~/skate-o-meter/skateometer $ sudo systemctl som-data.service-ə imkan yaradır. sistem/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/skateometer $ sudo systemctl nginx.service'i yenidən başladın

Addım 6: Mənzil + Salon

Mənzil + Salon
Mənzil + Salon

Mənzil

Əvvəlcə skeytbordumda LCD, potansiometr və səs siqnalı üçün bir deşik etdim. Bundan sonra, PCB -də LCD, potansiometr və səs siqnalı lehim etdim. Sonra 40 pinli RPI üçün bir keçid teli istifadə etdim. Bir tərəfini moruq pi və digər yarısını kəsdim, bu tərəfi lehimləmək üçün istifadə edəcəyik. 'Rpi-kabel' faylında hansı teli lehimləmək lazım olduğunu görə bilərsiniz.

Köhnə bir əyri qutudan istifadə etdiyim korpus üçün, bir ethernetcable üçün bir neçə deşik qoydum və jumper telinin qutuya girməsi üçün.

Qutunu skeytbordun altında bir az vida ilə saxlayıram. Qutunun içərisində hər şeyi düzəltdim, buna görə də hər şeyi yerində saxlamaq üçün vintlər və bəzi rezinlərdən istifadə edərdim. Bu, əşyaların çıxarılmasını asanlaşdırır.

RFID qutunun işığına quraşdırılmışdır və ziptires ilə yerində saxlanılır, qarşılaşdığım bir problem bəzən taramaması idi, amma bəzi dəyişikliklərlə onu işə saldım.

Hall effekti sensoru

Əvvəlcə təkərimdə bir deşik açdım və içinə maqnit qoydum.

Zal üçün 3 tullanan tel istifadə olunur (kişidən kişiyə), onları PCB -də, həm də salonun özündə lehimləmişəm. Zal sensorunu yük maşınıma bir az ziptir ilə bağladım. Maqnit və sensorun yaxşı hizalandığından əmin olun, əks halda nəbzi həmişə qeyd etməyəcək.

Addım 7: Tətbiqi işə salın

Addım 1:

Moruq və güc bankını qoşun.

Addım 2:

Proqram başlayana qədər gözləyin, bunu LCD -də izləyə bilərsiniz. IP ünvanını görəcəksiniz, bu IP ünvanına gedin.

Addım 3:

İstifadəçi yaradın, qeydiyyatdan keçərək bunu edə bilərsiniz. Nişanın UID -ini LCD -də görmək üçün nişanı skan etməlisiniz.

Addım 4:

Bir istifadəçi yaratmısınızsa, nişanınızı skan edə bilərsiniz və bir sessiya başlayacaq.

Addım 5:

Ətrafınızda gəzintiyə çıxın

Addım 6:

Sessiyanı dayandırmaq üçün nişanı yenidən tarayın

Addım 7:

Sessiyanızı və sessiyadan ətraflı məlumatları görmək üçün daxil olun

Tövsiyə: