فهرست مطالب:

اسکیت و متر: 7 مرحله (همراه با تصاویر)
اسکیت و متر: 7 مرحله (همراه با تصاویر)

تصویری: اسکیت و متر: 7 مرحله (همراه با تصاویر)

تصویری: اسکیت و متر: 7 مرحله (همراه با تصاویر)
تصویری: لزبازی لیلا اوتادی چه لبی میگیره (نبینی از دستت رفته) 2024, جولای
Anonim
اسکیت و متر
اسکیت و متر

من دانشجوی Howest Kortrijk هستم. برای نشان دادن مهارت های خود به استادان مورد نیاز برای ساخت یک پروژه ، من تصمیم گرفتم که یک کیلومتر شمار و سرعت سنج برای اسکیت برد خود با اسکنر RFID ایجاد کنم. در این قسمت آموزشی می خواهم بگویم که چگونه این پروژه را ساخته ام.

من این ایده را به وجود آوردم زیرا دوست دارم اسکیت بازی کنم و در آن سفر کنم. در حالی که در حال مسافرت هستم ، می توانم ببینم چقدر مسافت را طی کرده ام و سرعت خود را می بینم.

به خاطر داشته باشید که این یک نمونه اولیه است.

مرحله 1: اجزاء

اجزاء

برای ایجاد این پروژه از اجزای زیر استفاده کردم:

  • اسکیت برد
  • پتانسیومتر
  • LCD
  • سنسور اثر هال
  • مقاومت 10k اهم
  • تمشک پی
  • آردوینو نانو
  • سیم جامپر (زن تا مرد)
  • سیم جامپر (رزبری پای)
  • سیم جامپر (نر به نر)
  • PCB
  • اسکنر RFID
  • نشان RFID
  • پاوربانک

برای پیوندها و قیمت به BillOfMaterials مراجعه کنید

مرحله 2: سیم کشی

سیم کشی
سیم کشی

سالن دارای 3 پین است: VCC ، GND و خروجی. زمین به GND می رود. VCC تا 3.3V و خروجی در این مثال به GPIO 26 می رسد. یک مقاومت 10K اهم خروجی را بالا می کشد.

من برای خواندن نشان ها از ارتباط سریال از طریق USB بین تمشک pi و 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 در رایانه خود قرار دهید. آردوینو مناسب و پورت usb مناسب برای بارگذاری را انتخاب کنید.

در مرحله بعد باید کتابخانه ای را که برای خواندن نشان RFID استفاده می کنم اضافه کنیم. 'rfid-master' را بارگیری کرده و به طرح بروید ، کتابخانه را وارد کنید و سپس کتابخانه. ZIP را اضافه کنید. به فشرده ای که تازه بارگیری کرده اید بروید و از آن استفاده کنید ، به صورت خودکار نصب می شود. پس از آن "RFID_Read.ino" ویرایش شده را بارگیری کنید ctrl + O را همزمان فشار دهید و به این فایل بروید و آن را باز کنید.

اگر تمام مراحل بالا را انجام داده اید ، می توانید فایل را تأیید کنید. اگر بار اول اشکال داشت ، فقط یکبار دیگر آن را امتحان کنید. در صورت موفقیت آمیز بودن ، می توانید آن را در arduino خود بارگذاری کنید. با استفاده از میانبر ctrl+shift+m می توانید مانیتور سریال را باز کنید. می توانید فایل را در اینجا آزمایش کنید. در صورت موفقیت آمیز بودن آزمایش ، می توانید آردوینو را از برق بکشید و به پورت usb تمشک pi وصل کنید

مرحله 5: رزبری پای را پیکربندی کنید

در این مراحل ما تمشک pi را به عنوان پایگاه داده و سرور وب راه اندازی می کنیم.

در این مثال من از USER "من" استفاده می کنم اگر از کاربر دیگری استفاده می کنید که نیاز به تغییر پرونده های پیکربندی دارید ، این را در ذهن خود نگه دارید!

1. ایجاد یک کاربر:

یک متغیر ایجاد کنید

pieter@rpipieter: ~ $ user = من

ایجاد کاربر sudo و افزودن به همه گروه ها

group = $ (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. با وای فای وصل شوید

me@rpipieter: ~ $ sudo -iroot@rpipieter: ~# echo 'Password' | 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: su $ sudo apt update

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 راه اندازی مجدد -h در حال حاضر

4. مخزن github من را کلون کنید

me@rpipieter: ~ $ git clone

me@rpipieter: ~ $ 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' ؛ گذرواژه را برای 'som-data'@'localhost' = PASSWORD ('sensor9810') تنظیم کنید ؛ * را از mysql.user انتخاب کنید ؛ CREATE USER 'som-admin'@'localhost' IDENTIFIED BY 'admin9810'؛ CREATE USER 'som-web'@'localhost' IDENTIFIED BY 'web9810'؛ CREATE USER 'som-sensor'@'localhost' IDENTIFIED BY 'sensor9810'؛ ایجاد پایگاه داده skateometerdb؛ با همه گزینه ها در skateometerdb.* به 'som-admin'@'localhost' با GRANT OPTION اعطا کنید. GRANT 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 daemon-reload

اکنون ما قصد داریم خدمات را فعال کنیم تا هر زمان که تمشک pi را راه اندازی می کنیم ، به طور خودکار با آن شروع به کار کند.

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/ 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 -enabled/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: مسکن + سالن

مسکن + سالن
مسکن + سالن

مسکن

ابتدا من در اسکیت بورد خود یک سوراخ برای LCD ، پتانسیومتر و زنگ ایجاد کردم. پس از آن من LCD ، پتانسیومتر و زنگ را روی PCB لحیم کردم. سپس از یک jumperwire برای RPI استفاده کردم ، یکی با 40 پین. من یک طرف را در تمشک pi قرار می دهم و نصف دیگر آن را برش می دهم ، از این طرف برای لحیم کاری استفاده می کنیم. در فایل 'rpi-cable' می توانید محل اتصال سیم را ببینید.

برای محفظه ای که از یک جعبه منحنی قدیمی استفاده کردم ، چند سوراخ در آن برای یک کابل اترنت و برای ورود jumperwire به داخل جعبه قرار دادم.

با چند پیچ جعبه را زیر اسکیت بورد نگه می دارم. در داخل جعبه همه چیز را مرتب کردم تا جا بیفتد و همچنین از پیچ و مقداری لاستیک برای ثابت نگه داشتن همه چیز استفاده کردم. این امر باعث می شود که بیرون آوردن وسایل راحت تر شود.

RFID بر روی چراغ جعبه نصب شده و با زیپ تایر در جای خود نگه داشته می شود ، یکی از مشکلاتی که با آن روبرو شدم این بود که گاهی اوقات اسکن نمی شد ، اما با برخی تغییرات باعث کارکرد آن شدم.

سنسور اثر هال

ابتدا من سوراخی در چرخ خود ایجاد کردم و یک آهن ربا در آن گذاشتم.

برای سالن از 3 سیم جامپر (نر به نر) استفاده می شود که من آنها را روی PCB خود و همچنین روی خود سالن لحیم کردم. سنسور سالن را روی کامیونم با چند زیپ تایر نصب کردم. اطمینان حاصل کنید که آهنربا و سنسور به خوبی تراز شده اند ، در غیر این صورت همیشه نبض را ثبت نمی کند.

مرحله 7: راه اندازی برنامه

مرحله 1:

تمشک و پاور بانک را وصل کنید.

گام 2:

منتظر بمانید تا برنامه شروع شود ، می توانید این را روی LCD دنبال کنید. آدرس IP را مشاهده خواهید کرد ، به این آدرس IP بروید.

مرحله 3:

یک کاربر ایجاد کنید ، می توانید با ثبت نام این کار را انجام دهید. برای مشاهده UID نشان در LCD ، باید نشان را اسکن کنید.

مرحله 4:

اگر یک کاربر ایجاد کرده اید می توانید نشان خود را اسکن کنید و یک جلسه شروع می شود.

مرحله 5:

برو دور و برت

مرحله 6:

برای متوقف کردن جلسه ، نشان را دوباره اسکن کنید

مرحله 7:

برای مشاهده جلسه و داده های دقیق جلسه وارد شوید

توصیه شده: