Мазмұны:

Скейт-метр: 7 қадам (суреттермен)
Скейт-метр: 7 қадам (суреттермен)

Бейне: Скейт-метр: 7 қадам (суреттермен)

Бейне: Скейт-метр: 7 қадам (суреттермен)
Бейне: Өлді деп жерлемек болған еді. Бірақ Алланың қалауымен тірілген Бала 2024, Шілде
Anonim
Скейт-о-метр
Скейт-о-метр

Мен Howest Kortrijk студентімін. Жобаны құру үшін қажет лекторларға өз дағдыларымызды көрсету үшін мен RFID сканері бар скейтборд үшін одометр мен спидометр құруды таңдадым. Бұл нұсқаулықта мен бұл жобаны қалай жасағанымды айтамын.

Мен бұл идеяны ойлап таптым, себебі мен коньки теуіп, серуендеуді ұнатамын. Мен круизде жүргенде қанша қашықтықты жүріп өткенімді және жылдамдығымды көруге ыңғайлы болар еді.

Есіңізде болсын, бұл прототип.

1 -қадам: компоненттер

Компоненттер

Мен бұл жобаны жасау үшін келесі компоненттерді қолдандым:

  • Скейтборд
  • Потенциометр
  • СКД
  • Холл әсерінің сенсоры
  • 10к Ом резисторы
  • Таңқурай пи
  • Ардуино Нано
  • Өткізгіш сым (әйелден еркекке дейін)
  • Өткізгіш сым (Raspberry Pi)
  • Өткізгіш сым (еркектен еркекке)
  • ПХД
  • RFID сканері
  • RFID белгісі
  • Powerbank

Сілтемелер мен баға туралы BillOfMaterials қараңыз

2 -қадам: Сымдарды жалғау

Сымдар
Сымдар

Залда 3 түйреуіш бар: VCC, GND және шығыс. Жер GND -ге өтеді. VCC 3.3V дейін және бұл мысалдағы шығу GPIO 26 -ға өтеді. 10K Ом резисторы шығуды жоғары тартады.

Мен бейджиктерді оқу үшін таңқурай pi мен arduino nano арасындағы 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 конфигурациялаңыз

Arduino Nano конфигурациялаңыз
Arduino Nano конфигурациялаңыз
Arduino Nano конфигурациялаңыз
Arduino Nano конфигурациялаңыз
Arduino Nano конфигурациялаңыз
Arduino Nano конфигурациялаңыз

Алдымен компьютерге USB кабелі арқылы arduino нано салыңыз. Жүктеу үшін дұрыс arduino мен дұрыс USB портын таңдаңыз.

Содан кейін біз RFID белгісін оқу үшін пайдаланатын кітапхананы қосуымыз керек. 'Rfid-master' жүктеп алып, нобайға өтіңіз, кітапхананы қосыңыз, содан кейін. ZIP кітапханасын қосыңыз. Жаңа жүктелген zip -ге өтіңіз және оны пайдаланыңыз, ол автоматты түрде орнатылады. Осыдан кейін менің өңделген 'RFID_Read.ino' жүктелгеннен кейін ctrl + O пернелер тіркесімін бір уақытта қосып, осы файлға өтіп, оны ашыңыз.

Егер сіз жоғарыда аталған барлық әрекеттерді орындасаңыз, сіз файлды тексере аласыз. Егер ол бірінші рет қате жіберсе, оны қайталап көріңіз. Егер бұл сәтті болса, оны arduino -ға жүктей аласыз. Ctrl+shift+m пернелер тіркесімін қолдана отырып, сериялық мониторды ашуға болады. Сіз бұл жерде файлды тексере аласыз. Егер тест сәтті болса, сіз arduino -ны ажыратып, оны таңқурай pi -дің USB портына қосуға болады.

5 -қадам: Raspberry Pi конфигурациясын жасаңыз

Бұл қадамдарда біз таңқурай пиін дерекқор мен веб -сервер ретінде орнатамыз.

Бұл мысалда мен «мен» пайдаланушыны қолданамын, егер сіз басқа пайдаланушыны қолдансаңыз, сізге конфигурациялық файлдарды өзгерту қажет, осыны есіңізде сақтаңыз!

1. Қолданушы жасаңыз:

Айнымалыны құру

pieter@rpipieter: ~ $ user = me

Қолданушыға 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 түбірді@rpipieter қайта конфигурациялау: ~# шығу

Интернет жұмыс істеп тұрғанын тексеріңіз

root@rpipieter: ~# wget google.com

3. Таңқурай пиін жаңарту және қажетті пакеттерді орнату

me@my-rpi: ~ $ sudo apt жаңарту

me@my-rpi: ~ $ sudo apt жаңарту мені@rpipieter: ~ $ sudo apt install -y python3-venv python3-pip python3-mysqldb mysql-server uwsgi nginx uwsgi-plugin-python3 gitme@my-rpi: ~ $ sudo қайта жүктеу -с

4. Менің github репозиторийімді клондау

мен@rpipieter: ~ $ git клоны

me@rpipieter: ~ $ cd коньки-о-метр/скейтометр/

5. Виртуалды ортаны құру

Бұл командаларды орындаған кезде көптеген пакеттер орнатылады, бұл біраз уақыт алуы мүмкін.

me@rpipieter: ~/skate-o-meter/skateometer $ python3 -m pip install-pip setuptools дөңгелегінің виртуалды жүйесін жаңарту

me@rpipieter: ~/skate-o-meter/skateometer $ python3 -m venv --system-site-packages env (env) me@rpipieter: ~/skate-o-meter/skateometer $ python -m pip mysql орнатыңыз қосқыш-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 *. * TO 'som-data'@'localhost'; 'som-data'@'localhost' = PASSWORD ('sensor9810') ПАРОЛЫН ОРНАТУ; mysql.user ішінен * таңдаңыз; 'Som9-admin'@'localhost' пайдаланушысын 'admin9810' анықтайды; 'Som9-web'@'localhost' пайдаланушысын 'web9810' анықтайды; CREATE USER 'som-sensor'@'localhost' IDENTIFIED 'sens9810'; DATABASE CREATE skateometerdb; Skateometerdb бойынша барлық артықшылықтарды беріңіз.* To 'som-admin'@'localhost' ГРАНТ ОПЦЕНТІМЕН; GRATE SELECT, INSERT, UPDATE, DELETE ON skateometerdb.* TO 'som-web'@'localhost'; GRANT SELECT, INSERT, UPDATE, DELETE ON skateometerdb.* TO '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 демонды қайта жүктеу

Енді біз таңқурай пиін бастаған сайын олар автоматты түрде іске қосылатындай етіп қызметтерді қосамыз.

me@rpipieter: ~/skate-o-meter/skateometer $ sudo systemctl сом-колбаны қосады.

Symetlink /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/ system/som-data.service. me@rpipieter: ~/skate-o-meter/skateometer $ sudo systemctl start som-data.service маған@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 -inabled/default 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 -қадам: тұрғын үй + зал

Тұрғын үй + зал
Тұрғын үй + зал

Тұрғын үй

Алдымен мен скейтбордта СКД, потенциометр мен дыбыстық сигнал үшін тесік жасадым. Осыдан кейін мен СКД, потенциометр мен дыбыстық сигналды ПХД -де дәнекерледім. Содан кейін мен 40 түйреуіші бар RPI үшін өтпелі сымды қолдандым. Мен бір жағын таңқурайға салып, екінші жартысын кесемін, бұл жағын біз дәнекерлеуге қолданамыз. 'Rpi-cable' файлында қай сымды қай жерге дәнекерлеу керектігін көруге болады.

Корпус үшін мен ескі қисық қорапты қолдандым, мен оған Ethernetcable және қорапқа секіргіш сым кіруі үшін тесіктер қойдым.

Мен скейтбордтың астындағы қорапты бұрандамен ұстаймын. Қораптың ішінде мен бәрін реттедім, сондықтан ол өз орнында болу үшін бұрандалар мен резеңкелерді қолданды. Бұл заттарды алуды жеңілдетеді.

RFID қораптың жарығына орнатылған және оны сыдырмалармен ұстайды, мен кездестірген мәселе - ол кейде сканерлемеді, бірақ кейбір өзгерістермен мен оны жұмыс істедім.

Холл әсерінің сенсоры

Алдымен дөңгелегіме тесік жасап, оған магнит қойдым.

Залда 3 өтпелі сым қолданылады (еркектен еркекке дейін), мен оларды ПХД -да, залдың өзінде де дәнекерледім. Мен холл сенсорын жүк көлігіме бірнеше сыдырмалармен орнаттым. Магнит пен сенсордың жақсы тураланғанына көз жеткізіңіз, әйтпесе ол әрқашан импульсті тіркемейді.

7 -қадам: Қолданбаны іске қосу

1 -қадам:

Таңқурай мен қуат банкін қосыңыз.

2 -қадам:

Бағдарлама басталғанша күтіңіз, мұны СКД арқылы орындауға болады. Сіз IP-адресті көресіз, осы IP-адреске өтіңіз.

3 -қадам:

Пайдаланушы жасаңыз, мұны тіркеу арқылы жасауға болады. СКД -де танымбелгінің UID -ін көру үшін бейджді сканерлеу қажет.

4 -қадам:

Егер сіз пайдаланушы жасасаңыз, онда сіздің бейджіңізді сканерлеуге болады және сеанс басталады.

5 -қадам:

Круизге барыңыз

6 -қадам:

Сеансты тоқтату үшін бейджді қайтадан сканерлеңіз

7 -қадам:

Сеансты және сеанс туралы егжей -тегжейлі деректерді көру үшін жүйеге кіріңіз

Ұсынылған: