Съдържание:

Skate-o-Meter: 7 стъпки (със снимки)
Skate-o-Meter: 7 стъпки (със снимки)

Видео: Skate-o-Meter: 7 стъпки (със снимки)

Видео: Skate-o-Meter: 7 стъпки (със снимки)
Видео: САЛЬТО на СКЕЙТЕ с 10 МЕТРОВ в ВОДУ ! 2024, Юли
Anonim
Skate-o-Meter
Skate-o-Meter

Студент съм в Howest Kortrijk. За да покажа уменията си на лекторите, необходими за изграждането на проект, аз избрах да създам одометър и скоростомер за моя скейтборд с RFID скенер. В тази инструкция ще кажа как направих този проект.

Дойдох с тази идея, защото обичам да се пързаля и да обикалям наоколо. Докато пътувам, би било удобно да видя колко разстояние съм изминал и да видя скоростта си.

Имайте предвид, че това е прототип.

Стъпка 1: Компоненти

Компоненти

Използвах следните компоненти, за да създам този проект:

  • Скейтборд
  • Потенциометър
  • LCD
  • Сензор за ефект на Хол
  • 10k Ohm резистор
  • Малина пи
  • Arduino Nano
  • Джъмпер тел (от женски към мъжки)
  • Джъмпер тел (Raspberry Pi)
  • Джъмпер тел (мъжки към мъжки)
  • Печатни платки
  • RFID скенер
  • RFID значка
  • Powerbank

Вижте BillOfMaterials за връзки и цена

Стъпка 2: Окабеляване

Електрически инсталации
Електрически инсталации

Залата има 3 пина: VCC, GND и изход. Земята отива към GND. VCC до 3.3V и изходът в този пример отива към GPIO 26. 10K Ohm резистор издърпва изхода високо.

Използвам серийна комуникация през USB между малиновото пи и arduino nano, за да чета значките. Това не е на снимката, но е задължително!

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

Конфигурирайте Arduino Nano
Конфигурирайте Arduino Nano
Конфигурирайте Arduino Nano
Конфигурирайте Arduino Nano
Конфигурирайте Arduino Nano
Конфигурирайте Arduino Nano

Първо поставете вашия arduino nano във вашия компютър чрез USB кабел. Изберете правилния arduino и правилния usb порт за качване.

След това трябва да добавим библиотеката, която използвам за четене на RFID значката. Изтеглете „rfid-master“и отидете на скица, включете библиотека и след това добавете. ZIP библиотека. Отидете на току -що изтегления цип и използвайте този, той ще се инсталира автоматично. След това изтеглете редактирания ми „RFID_Read.ino“натиснете ctrl + O добавете същото време и отидете на този файл и го отворете.

Ако сте направили всички тези стъпки по -горе, можете да проверите файла. Ако има грешки за първи път, просто опитайте още веднъж. Ако това е успешно, можете да го качите на вашия arduino. С помощта на пряк път ctrl+shift+m можете да отворите серийния монитор. Можете да тествате файла тук. Ако тестът е успешен, можете да изключите arduino и да го включите в usb порт на raspberry pi

Стъпка 5: Конфигурирайте Raspberry Pi

В тези стъпки ще настроим малиновото пи като база данни и уеб сървър.

В ТОЗИ ПРИМЕР ИЗПОЛЗВАМ ПОТРЕБИТЕЛЯ „Аз“, АКО ИЗПОЛЗВАТЕ ДРУГ ПОТРЕБИТЕЛ, КОЙТО ТРЯБВА ДА ПРОМЕНЕТЕ КОНФИГУРАЦИОННИ ФАЙЛОВЕ, ЗАПОМНЕТЕ ТОВА НА УМА!

1. Създайте потребител:

Създайте променлива

pieter@rpipieter: ~ $ потребител = аз

Създаване на потребителското 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: ~ $ sudo apt update

me@my-rpi: ~ $ sudo apt ъпгрейд me@rpipieter: ~ $ sudo apt инсталиране -y python3-venv python3-pip python3-mysqldb mysql-сървър uwsgi nginx uwsgi-plugin-python3 gitme@my-rpi: ~ $ sudo рестартирайте -h сега

4. Клонирайте моето хранилище на github

me@rpipieter: ~ $ git клонинг

me@rpipieter: ~ $ cd скейт-о-метър/скатеометър/

5. Създаване на виртуална среда

Докато изпълнявате тези команди, ще бъдат инсталирани много пакети, това може да отнеме известно време.

me@rpipieter: ~/skate-o-meter/skateometer $ python3 -m pip install-надстройка на pip setuptools колело 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- съединител-python argon2-cffi колба колба-HTTPAuth колба-MySQL mysql-конектор-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 *. * TO 'som-data'@'localhost'; SET PASSWORD FOR 'som-data'@'localhost' = PASSWORD ('sensor9810'); изберете * от mysql.user; CREATE USER 'som-admin'@'localhost' ИДЕНТИФИЦИРАНО ОТ 'admin9810'; СЪЗДАВАНЕ НА ПОТРЕБИТЕЛЯ 'som-web'@'localhost' ИДЕНТИФИЦИРАНО ОТ 'web9810'; CREATE USER 'som-sensor'@'localhost' ИДЕНТИФИЦИРАНО ОТ 'sensor9810'; СЪЗДАВАНЕ НА БАЗА ДАННИ skateometerdb; ПРЕДОСТАВЕТЕ ВСИЧКИ ПРИВИЛЕГИИ на skateometerdb.* На 'som-admin'@'' localhost 'С ОПЦИЯ ЗА ГРАНТ; ГРАНТИРАЙТЕ ИЗБРАНЕ, ВМЕСТВАНЕ, АКТУАЛИЗИРАНЕ, ИЗТРИВАНЕ НА skateometerdb.* НА 'som-web'@'localhost'; ГРАНТИРАЙТЕ ИЗБЕРЕТЕ, ВМЕСТИТЕ, АКТУАЛИЗИРАНЕ, ИЗТРИЙТЕ НА skateometerdb.* НА 'som-sensor'@'localhost'; ФЛУШ ПРИВИЛЕГИ;

След това ще добавим съществуващата схема на база данни с отношения.

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

Създадена е символна връзка /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 Създадена символна връзка /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 -активиран/по подразбиране 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 рестартирайте nginx.service

Стъпка 6: Жилища + Зала

Жилища + Зала
Жилища + Зала

Жилища

Първо направих дупка в скейтборда си за LCD, потенциометъра и зумера. След това направих запояване на LCD, потенциометъра и зумера на печатната платка. След това използвах джъмпер кабел за RPI, този с 40 пина. Поставих едната страна в малиновото пи, а другата половина изрязах, тази страна ще използваме за запояване. Във файла 'rpi-cable' можете да видите къде трябва да запоите кой проводник.

За корпуса използвах стара кутия за извиване, сложих няколко дупки в нея за Ethernet кабел и джъмперът да влезе в кутията.

Пазя кутията под скейтборда с някакъв винт. Вътре в кутията подредих всичко, така че да пасне и също използвах винтове и малко гуми, за да поддържам всичко на място. Това прави изваждането на нещата по -лесно.

RFID е монтиран към осветената кутия и се държи на място с ципове, един проблем, който срещнах, беше, че понякога не сканира, но с някои промени го накарах да работи.

Сензор за ефект на Хол

Първо пробих дупка в колелото си и поставих магнит в него.

За залата се използват 3 джъмпер кабела (мъжки към мъжки). Монтирах сензора на Хола на камиона си с ципове. Уверете се, че магнитът и сензорът са подравнени добре, в противен случай той не винаги ще регистрира импулса.

Стъпка 7: Стартирайте приложението

Етап 1:

Включете малината и захранващата банка.

Стъпка 2:

Изчакайте, докато програмата започне, можете да следвате това на LCD дисплея. Ще видите IP адреса, отидете на този IP адрес.

Стъпка 3:

Създайте потребител, можете да го направите, като се регистрирате. Трябва да сканирате значката, за да видите вашия UID на значката на LCD дисплея.

Стъпка 4:

Ако сте създали потребител, можете да сканирате значката си и ще започне сесия.

Стъпка 5:

Разходете се наоколо

Стъпка 6:

Сканирайте значката отново, за да спрете сесията

Стъпка 7:

Влезте, за да видите вашата сесия и подробни данни от сесията

Препоръчано: