Სარჩევი:

Skate-o-Meter: 7 ნაბიჯი (სურათებით)
Skate-o-Meter: 7 ნაბიჯი (სურათებით)

ვიდეო: Skate-o-Meter: 7 ნაბიჯი (სურათებით)

ვიდეო: Skate-o-Meter: 7 ნაბიჯი (სურათებით)
ვიდეო: How to change skateboard bearings and wheels EASILY 2024, ნოემბერი
Anonim
სკეიტ-ო-მეტრი
სკეიტ-ო-მეტრი

მე ვარ სტუდენტი Howest Kortrijk– ში. ლექტორებისთვის ჩვენი უნარების საჩვენებლად, რაც გვჭირდება პროექტის შესაქმნელად, მე ავირჩიე ჩემი სკეიტბორდის ოდომეტრის და სპიდომეტრის შექმნა RFID სკანერით. ამ ინსტრუქციურად მე ვაპირებ ვთქვა, როგორ გავაკეთე ეს პროექტი.

ეს იდეა მომივიდა, რადგან მიყვარს სრიალი და კრუიზი. კრუიზში ყოფნისას მოსახერხებელი იქნებოდა იმის დანახვა, თუ რამდენი მანძილი გავიარე და დავინახე ჩემი სიჩქარე.

გაითვალისწინეთ, რომ ეს არის პროტოტიპი.

ნაბიჯი 1: კომპონენტები

კომპონენტები

მე გამოვიყენე შემდეგი კომპონენტები ამ პროექტის შესაქმნელად:

  • სკეიტბორდი
  • პოტენომეტრი
  • LCD
  • ჰოლის ეფექტის სენსორი
  • 10k Ohm რეზისტორი
  • ჟოლო პი
  • არდუინო ნანო
  • მხტუნავი მავთული (ქალი მდე მამაკაცი)
  • ჯუმბერის მავთული (ჟოლოს პი)
  • მხტუნავი მავთული (მამაკაციდან მამაკაცამდე)
  • PCB
  • RFID სკანერი
  • RFID სამკერდე ნიშანი
  • Powerbank

იხილეთ BillOfMaterials ბმულებისა და ფასისთვის

ნაბიჯი 2: გაყვანილობა

გაყვანილობა
გაყვანილობა

დარბაზს აქვს 3 ქინძისთავი: VCC, GND და გამომავალი. მიწა მიდის GND- ზე. VCC 3.3V– მდე და ამ მაგალითში გამომავალი მიდის GPIO 26 – ზე. 10K Ohm რეზისტორი მაღლა იწევს გამომავალს.

სამკერდე ნიშნების წასაკითხად მე ვიყენებ სერიულ კომუნიკაციას USB- ით ჟოლოს პი და არდუინო ნანოს შორის. ეს არ არის სურათზე, მაგრამ აუცილებელია!

D9 RST (გადატვირთვა) D10 SDA (SS) (SPI SS) D11 MOSI (SPI MOSI) D12 MISO (SPI MISO) D13 SCK (SPI SCK) GND GND3.3V 3.3V

ნაბიჯი 3: მონაცემთა ბაზის სქემა

მონაცემთა ბაზის სქემა
მონაცემთა ბაზის სქემა

ჩემს მონაცემთა ბაზას აქვს 3 ცხრილი:

  • მომხმარებლები
  • სესია
  • მონაცემები

თითოეულ მომხმარებელს შეუძლია მონაცემების ცალ -ცალკე თვალყურის დევნება. სესიას აქვს მონაცემები, რათა იცოდეთ რამდენად სწრაფად მიდიხართ გარკვეულ წერტილებზე სესიის მიმდინარეობისას.

ნაბიჯი 4: არდუინო ნანოს კონფიგურაცია

არდუინო ნანოს კონფიგურაცია
არდუინო ნანოს კონფიგურაცია
არდუინო ნანოს კონფიგურაცია
არდუინო ნანოს კონფიგურაცია
არდუინო ნანოს კონფიგურაცია
არდუინო ნანოს კონფიგურაცია

ჯერ ჩადეთ თქვენი arduino nano კომპიუტერში USB კაბელის საშუალებით. აირჩიეთ სწორი arduino და მარჯვენა USB პორტი ასატვირთად.

შემდეგ ჩვენ უნდა დავამატოთ ბიბლიოთეკა, რომელსაც ვიყენებ RFID სამკერდე ნიშნის წასაკითხად. ჩამოტვირთეთ 'rfid-master' და გადადით ესკიზზე, ჩართეთ ბიბლიოთეკა და შემდეგ დაამატეთ. ZIP ბიბლიოთეკა. გადადით თქვენს მიერ გადმოწერილი zip– ზე და გამოიყენეთ ეს, ის ავტომატურად დაინსტალირდება. ამის შემდეგ გადმოწერეთ ჩემი რედაქტირებული 'RFID_Read.ino' დააჭირეთ ctrl + O იმავე დროს და დაამატეთ ეს ფაილი და გახსენით იგი.

თუ თქვენ გააკეთეთ ყველა ეს ნაბიჯი ზემოთ, შეგიძლიათ გადაამოწმოთ ფაილი. თუ ის პირველად გაუმართა, სცადეთ კიდევ ერთხელ. თუ ეს წარმატებულია, შეგიძლიათ ატვირთოთ იგი თქვენს არდუინოში. მალსახმობის გამოყენებით ctrl+shift+m შეგიძლიათ გახსნათ სერიული მონიტორი. თქვენ შეგიძლიათ შეამოწმოთ ფაილი აქ. თუ ტესტი წარმატებულია, შეგიძლიათ გამორთოთ arduino და შეაერთეთ იგი ჟოლოს პი USB პორტში

ნაბიჯი 5: Raspberry Pi- ის კონფიგურაცია

ამ ნაბიჯებში ჩვენ დავაყენებთ ჟოლოს პი მონაცემთა ბაზისა და ვებ სერვერის სახით.

ამ მაგალითში მე ვიყენებ მომხმარებელს "მე" თუ იყენებთ სხვა მომხმარებელს, რომელიც გჭირდებათ კონფიგურაციის ფაილების შესაცვლელად, შეინახეთ ეს გონებაში!

1. შექმენით მომხმარებელი:

შექმენით ცვლადი

pieter@rpipieter: ~ $ user = მე

მომხმარებლის sudo და დამატება ყველა ჯგუფში

ჯგუფები = $ (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}

შედით ანგარიშზე

pieter@rpipieter: ~ $ su - მე

პაროლი: me@my-rpi: ~ $

2. დაუკავშირდით WiFi- ს

me@rpipieter: ~ $ sudo -iroot@rpipieter: ~# echo 'პაროლი' | wpa_passphrase 'Networkname' >> /etc/wpa_supplicant/wpa_supplicant.conf root@rpipieter:# wpa_cli -i wlan0 ხელახლა კონფიგურაცია root@rpipieter: ~# გასვლა

შეამოწმეთ მუშაობს თუ არა ინტერნეტი

root@rpipieter: ~# wget google.com

3. ჟოლოს პი-ის განახლება და საჭირო პაკეტების დაყენება

me@my-rpi: su $ sudo apt განახლება

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 გადატვირთეთ -ახლა

4. კლონირება ჩემი github საცავი

me@rpipieter: ~ $ git კლონი

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

5. ვირტუალური გარემოს შექმნა

ამ ბრძანებების შესრულებისას დაინსტალირდება ბევრი პაკეტი, ამას შეიძლება გარკვეული დრო დასჭირდეს.

me@rpipieter:/skate-o-meter/skateometer $ python 3 -m pip install-upgrade pip setuptools wheel 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- connector-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-connector-python passlib pyserial pyjwt RPi. GPIO

6. მონაცემთა ბაზისა და მომხმარებლების შექმნა

ჩვენ ვიყენებთ mysql მონაცემთა ბაზას

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

pieter@rpipieter: ~ $ sudo mysql

შემდეგ დააკოპირეთ, ჩასვით ეს

GRANT SELECT, INSERT, UPDATE, DELETE ON *. * 'Som-data'@'localhost'; SET PASSWORD FOR 'som-data'@'localhost' = PASSWORD ('sensor9810'); აირჩიეთ * mysql.user– დან; შექმენით USER 'som-admin'@'localhost' IDENTIFIED BY 'admin9810'; შექმენით USER 'som-web'@'localhost' IDENTIFIED BY 'web9810'; შექმენით USER 'som-sensor'@'localhost' IDENTIFIED BY 'sensor9810'; მონაცემთა ბაზის შექმნა skateometerdb; მიანიჭეთ ყველა პრივილეგია skateometerdb.*-ს 'som-admin'@'localhost' გრანტის არჩევით; გრანტის შერჩევა, ჩასმა, განახლება, წაშლა skateometerdb.* 'Som-web'@'localhost'; GRANT SELECT, INSERT, UPDATE, DELETE ON skateometerdb.* TO 'som-sensor'@'localhost'; FLUSH პრივილეგიები;

შემდეგი ჩვენ დავამატებთ არსებული მონაცემთა ბაზის სქემას ურთიერთობებთან.

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

7. მომსახურება

აქ ჩვენ ვაკოპირებთ ჩვენს კონფიგურაციის ფაილებს და ვტვირთავთ საქაღალდეს, რათა შევძლოთ სერვისების ჩართვა

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

ახლა ჩვენ ვაპირებთ სერვისების გააქტიურებას ისე, რომ როდესაც ჟოლოს პი დავიწყებთ, ის ავტომატურად იწყებს მას.

me@rpipieter:/skate-o-meter/skateometer $ sudo systemctl ჩართვა som-flask.service

შექმნილია 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 ჩართვა som-data.service შექმნილი symlink /etc/systemd/system/multi-user.target.wants/som-data.service →/etc/systemd/ სისტემა/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 -ჩართული/ნაგულისხმევი me@rpipieter:/skate-o-meter/skateometer $ sudo ln -s/etc/nginx/sites-available/skateometer/etc/nginx/sites-enabled/skateometerme@rpipieter:/skate-o -მეტრი/სკეიტომეტრი $ sudo systemctl გადატვირთეთ nginx.service

ნაბიჯი 6: საცხოვრებელი + დარბაზი

საცხოვრებელი + დარბაზი
საცხოვრებელი + დარბაზი

საცხოვრებელი

თავიდან მე გავაკეთე ხვრელი ჩემს სკეიტბორდზე LCD, პოტენციომეტრის და ზუზერისთვის. ამის შემდეგ მე შევაერთე LCD, potentiometer და buzzer PCB- ზე. შემდეგ მე გამოვიყენე jumperwire RPI– სთვის, ერთი 40 ქინძისთავით. ჟოლოს პიში ერთ მხარეს ვდებ და მეორე ნახევარს ვჭრი, ეს მხარე ჩვენ გამოსაყენებლად ვაპირებთ. ფაილში 'rpi-cable' შეგიძლიათ ნახოთ სად გჭირდებათ რომელი მავთულის შედუღება.

გარსაცმისთვის მე გამოვიყენე ძველი მოსახვევის ყუთი, ჩავდე მასში რამდენიმე ხვრელი Ethernetcable და jumperwire ყუთში შესასვლელად.

ყუთს სკეიტბორდის ქვეშ ვიტოვებ ხრახნით. ყუთის შიგნით მე მოვაწესრიგე ყველაფერი, ასე რომ მოერგებოდა და ასევე ვიყენებდი ხრახნებს და რეზინებს, რომ ყველაფერი ადგილზე დარჩენილიყო. ეს აადვილებს ნივთების ამოღებას.

RFID დამონტაჟებულია ყუთის განათებაზე და იმართება ზიპტირებით, ერთი პრობლემა, რომელსაც მე შევხვდი ის იყო, რომ ხანდახან ის არ სკანირდებოდა, მაგრამ გარკვეული ცვლილებებით მე მას ვაკეთებდი მუშაობას.

ჰოლის ეფექტის სენსორი

ჯერ ბორბალზე გავაღე ხვრელი და ჩავდე მაგნიტი მასში.

დარბაზისთვის გამოიყენება 3 ჯუმბერ მავთული (მამრობითიდან მამრობითი სქესის), მე შევაერთე ისინი ჩემს PCB– ზე, ასევე თავად დარბაზზე. მე დავამონტაჟე დარბაზის სენსორი ჩემს სატვირთო მანქანაზე რამდენიმე ზიპტირით. დარწმუნდით, რომ მაგნიტი და სენსორი კარგად არის განლაგებული, წინააღმდეგ შემთხვევაში ის ყოველთვის არ დაარეგისტრირებს პულსს.

ნაბიჯი 7: პროგრამის დაწყება

Ნაბიჯი 1:

შეაერთეთ ჟოლო და დენის ბანკი.

ნაბიჯი 2:

დაელოდეთ სანამ პროგრამა დაიწყება, ამის გაკეთება შეგიძლიათ LCD– ზე. თქვენ ნახავთ IP მისამართს, გადადით ამ IP მისამართზე.

ნაბიჯი 3:

შექმენით მომხმარებელი, ამის გაკეთება შეგიძლიათ რეგისტრაციით. თქვენ გჭირდებათ სკამის სკანირება, რომ ნახოთ თქვენი UID ბეჯი LCD– ზე.

ნაბიჯი 4:

თუ თქვენ შექმენით მომხმარებელი, შეგიძლიათ შეამოწმოთ თქვენი ბეჯი და დაიწყება სესია.

ნაბიჯი 5:

წადი საკრუიზო გარშემო

ნაბიჯი 6:

სესიის შესაჩერებლად ხელახლა დაასკანირეთ ბეჯი

ნაბიჯი 7:

შედით სისტემაში, რომ ნახოთ თქვენი სესია და დეტალური მონაცემები სესიიდან

გირჩევთ: