فهرست مطالب:

تنظیم کننده کلید: 6 مرحله
تنظیم کننده کلید: 6 مرحله

تصویری: تنظیم کننده کلید: 6 مرحله

تصویری: تنظیم کننده کلید: 6 مرحله
تصویری: آموزش کامل تنظیم انواع کلید مکانیکی (پرشرسوئیچ) و نحوه اتصال سیم‌های برق و پمپ آب 2024, جولای
Anonim
تنظیم کننده کلید
تنظیم کننده کلید
تنظیم کننده کلید
تنظیم کننده کلید

در حال حاضر در Howest در حال تحصیل NMCT هستم. برای ترم آخر ما باید پروژه ای بسازیم. بنابراین من یک Keysorter ساختم.

چه کار میکند؟

ما تعداد زیادی کلید ماشین در خانه داریم و همه آنها شبیه هم هستند. بنابراین من یک Keysorter برای حل این مشکل تهیه کردم.

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

این برنامه بر روی رزبری پای اجرا می شود که گزینه ای برای افزودن صفحه وب از طریق Flask نیز دارد.

در صفحه باید بتوانم همه کلیدها را نگاه کنم ، نامی را به یک کلید اضافه کنم و یک کلید را حذف کنم.

مرحله 1: مرحله 1: به چه چیزی نیاز دارم؟

مرحله 1: به چه چیزی نیاز دارم؟
مرحله 1: به چه چیزی نیاز دارم؟
مرحله 1: به چه چیزی نیاز دارم؟
مرحله 1: به چه چیزی نیاز دارم؟

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

اجزاء:

  • تمشک پی
  • 2 x ثبت نام Shift (74hc595)
  • دکمه 3 x
  • LED 9 x سبز
  • اسکنر RFID (MFRC522)
  • مقاومت 12 x 220 اهم

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

وقتی این کار را انجام دادم ، آن را در زندگی واقعی ساختم.

مرحله 2: مرحله 2: ایجاد طرحواره پایگاه داده

مرحله 2: ایجاد طرحواره پایگاه داده
مرحله 2: ایجاد طرحواره پایگاه داده

برای ذخیره همه داده هایم ، من باید یک پایگاه داده ایجاد کنم که بتواند روی Pi من اجرا شود.

من در Mysql درست کردم.

ماشین رومیزی:

  • شناسه خودرو
  • شناسه کاربری
  • مارک (مارک خودرو)
  • تایپ کنید
  • آخرین شستشو
  • کلید
  • RFID_ID

مرحله 3: مرحله 3: کدگذاری

مرحله 3: کد نویسی
مرحله 3: کد نویسی

وقتی همه اینها آماده شد ، می توانم برنامه نویسی را شروع کنم.

من با ایجاد کد سنسور خود در پایتون 3.5 شروع کردم.

برای بارگیری کد اینجا را کلیک کنید.

برای پیوند پروژه از پیوند استفاده کنید.

مرحله 4: مرحله 4: قرار دادن Al Code در My Raspberry Pi

نصب بسته ها

ابتدا بسته هایی را که برای این کار نیاز داشتم نصب کردم.

me@my-rpi: su $ sudo apt update

me@my-rpi: su $ sudo apt install -y python3-venv python3-pip python3-mysqldb mysql-server uwsgi nginx uwsgi-plugin-python3

محیط مجازی

me@my-rpi: ~ $ python3 -m pip install-upgrade pip setuptools wheel virtualenvme@my-rpi: ~ $ mkdir project1 && cd project1 me@my-rpi:/project1 $ python3 -m venv --system- site-packages env me@my-rpi: ~/project1 $ source env/bin/activ (env) me@my-rpi: ~/project1 $ python -m pip install mysql-connector-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-connector-python passlib

پروژه را با استفاده از pycharm روی Pi خود بارگذاری کنید

Pycharm را باز کرده و به VCS> Import from Version Control> Github بروید و فایل github من را کلون کنید.

پیکربندی استقرار را در فهرست راهنمای ایجاد شده قرار دهید. (/خانه/من/پروژه 1). اعمال کنید!

به تنظیمات مترجم بروید و محیط مجازی را که تازه ایجاد کرده اید انتخاب کنید. (/home/me/project1/env/bin/pyhon)

بررسی کنید که آیا نقشه راه درست است یا خیر.

اکنون می توانید کد را با استفاده از Pycharm در فهرست خود بارگذاری کنید.

پایگاه داده

بررسی کنید پایگاه داده در حال اجرا است یا خیر. شما باید چیزی شبیه به این را دریافت کنید:

me@my -rpi: ~ $ sudo systemctl وضعیت mysql ● mariadb.service - سرور پایگاه داده MariaDB بارگیری: بارگیری شده (/lib/systemd/system/mariadb.service ؛ فعال است ؛ پیش فروشنده پیش فرض: فعال) فعال: فعال (در حال اجرا) از زمان آفتاب 03-06-2018 09:41:18 CEST؛ 1 روز 4 ساعت قبل PID اصلی: 781 (mysqld) وضعیت: "درخواست SQL خود را در حال حاضر …" وظایف: 28 (محدودیت: 4915) CGroup: /system.slice/mariadb.service └─781/usr/sbin/mysqld

ژوئن 03 09:41:13 my-rpi systemd [1]: راه اندازی سرور پایگاه داده MariaDB… ژوئن 03 09:41:15 my-rpi mysqld [781]: 03-06-2018 9:41:15 4144859136 [توجه] / usr/sbin/mysqld (mysqld 10.1.26-MariaDB-0+deb9u1) ژوئن 03 09:41:18 my-rpi systemd [1]: سرور پایگاه داده MariaDB را راه اندازی کرد.

me@my -rpi: ~ $ ss -lt | grep mysql LISTEN 0 80 127.0.0.1:mysql *: *

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

me@my-rpi: su $ sudo mariadb

هنگامی که در پایگاه داده هستید این کار را انجام دهید.

CREATE USER 'project1-admin'@'localhost' IDENTIFIED BY 'adminpassword'؛ CREATE USER 'project1-web'@'localhost' IDENTIFIED BY 'webpassword'؛ CREATE USER 'project1-sensor'@'localhost' IDENTIFIED BY by 'sensorpassword'؛

ایجاد پروژه پایگاه داده 1؛

اعطای کلیه امتیازات در پروژه 1.* به 'project1-admin'@'localhost' با GRANT OPTION. GRANT SELECT ، INSERT ، UPDATE ، DELETE ON project1.* به 'project1-web'@'localhost' ؛ GRANT SELECT ، INSERT ، UPDATE ، DELETE ON project1.* به 'project1-sensor'@'localhost' ؛ خصوصیات فلاش ؛

CREATE TABLE `user` (` idUser` int (11) NOT NULL ، `Password` varchar (45) DEFAULT NULL ، PRIMARY KEY (` idUser`)) ENGINE = InnoDB DEFAULT CHARSET = utf8

CREATE TABLE `car` (` idCar` int (11) NOT NULL AUTO_INCREMENT، `idUser` int (11) NOT NULL،` Brand` varchar (45) DEFAULT NULL، `Type` varchar (45) DEFAULT NULL، 'LastWashed' datetime DEFAULT NULL، `RFID_Number` varchar (15) DEFAULT NULL،` Key` varchar (5) DEFAULT NULL، PRIMARY KEY (`idCar`،` idUser`)، KEY `fk_Car_User1_idx` (` idUser`_)، کلید خارجی (`idUser`) ارجاع می دهد` کاربر` (`idUser`) در مورد حذف هیچ گونه اقدام در به روزرسانی NO ACTION) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARSET DEFAULT = utf8

پایگاه داده خود را به Pycharm وصل کنید

روی برگه پایگاه داده در سمت راست کلیک کنید. اگر برگه ای باز ندارید این کار را انجام دهید: View> Tool Windows> Database.

روی افزودن اتصال کلیک کنید. منبع داده> MySQL را انتخاب کنید (در صورت وجود دکمه دانلود درایور ، آن را فشار دهید.)

به SSH/SSL بروید و SSH را بررسی کنید. اطلاعات Raspberry pi (میزبان/کاربر/رمز عبور) خود را پر کنید. پورت باید 22 باشد و بررسی رمز عبور را فراموش نکنید.

به ژنرال برگردید. میزبان باید localhost و پایگاه داده باید project1 باشد. مدارک را از project1-admin پر کنید و اتصال را آزمایش کنید.

اگر اتصال خوب است ، به برگه Schemas بروید و مطمئن شوید که project1 تیک خورده است.

بررسی کنید که پایگاه داده صحیح است یا خیر

me@my-rpi: ~ $ echo 'نمایش جداول ؛' | mysql project1 -t -u project1-admin -p رمز عبور را وارد کنید: + --------------------------- + | جداول_در_ پروژه 1 | + ---------------------------+ | سنسور | | کاربران | +------------------------------+

پیکربندی فایلها

در دایرکتوری conf 4 فایل خواهید یافت. شما باید نام کاربری را به نام کاربری خود تغییر دهید.

Systemd

برای شروع همه چیز باید این دستورات را اجرا کنید.

me@my-rpi:/project1 $ sudo cp conf/project1-*. service/etc/systemd/system/

me@my-rpi: ~/project1 $ sudo systemctl daemon-reload me@my-rpi:/project1 $ sudo systemctl شروع پروژه1-* me@my-rpi:/project1 $ sudo systemctl وضعیت پروژه1-* ● project1- flask.service-نمونه uWSGI برای ارائه رابط وب پروژه 1 بارگیری: بارگیری شده (/etc/systemd/system/project1-flask.service ؛ غیرفعال ؛ پیش تنظیم فروشنده: فعال) فعال: فعال (در حال اجرا) از دوشنبه 2018-06-04 13: 14:56 CEST؛ 1s ago PID اصلی: 6618 (uwsgi) وظایف: 6 (محدودیت: 4915) CGroup: /system.slice/project1-flask.service ├─6618/usr/bin/uwsgi --ini/home/me/project1/conf/ uwsgi-flask.ini ├─6620/usr/bin/uwsgi --ini /home/me/project1/conf/uwsgi-flask.ini ├─6621/usr/bin/uwsgi --ini/home/me/project1/ conf/uwsgi-flask.ini ├─6622/usr/bin/uwsgi --ini /home/me/project1/conf/uwsgi-flask.ini ├─6623/usr/bin/uwsgi --ini/home/me/ project1/conf/uwsgi-flask.ini └─6624/usr/bin/uwsgi --ini /home/me/project1/conf/uwsgi-flask.ini

ژوئن 04 13:14:56 my-rpi uwsgi [6618]: 383928 بایت (374 کیلوبایت) برای 5 هسته خرداد 04 13:14:56 my-rpi uwsgi [6618]: *** حالت عملیاتی: پیش فروش ***

● project1-sensor.service-سرویس سنسور پروژه 1 بارگیری: بارگیری (/etc/systemd/system/project1-sensor.service ؛ غیرفعال ؛ پیش فروشنده پیش فرض: فعال) فعال: فعال (در حال اجرا) از دوشنبه 2018-06-04 13: 16:49 CEST؛ 5s قبل PID اصلی: 6826 (پایتون) وظایف: 1 (محدودیت: 4915) CGroup: /system.slice/project1-sensor.service └─6826/home/me/project1/env/bin/python/home/me/project1 /sensor/sensor.py

ژوئن 04 13:16:49 my-rpi systemd [1]: سرویس سنسور پروژه 1 را آغاز کرد. ژوئن 04 13:16:49 پایتون my-rpi [6826]: خرابی: _ اصلی _: ذخیره شده حسگر process_count = b'217 / n 'در پایگاه داده ژوئن 04 13:16:55 پایتون my-rpi [6826]: خرابی: _ main_: حسگر process_count = b'218 / n 'در پایگاه داده ذخیره شد

nginx

me@my-rpi:/project1 $ ls -l/etc/nginx/sites-*

/etc/nginx/sites-available: total 4 -rw-r-r-- 1 ریشه ریشه 2416 ژوئیه 12 2017 پیش فرض

/etc/nginx/sites-enabled: مجموع 0 lrwxrwxrwx 1 ریشه ریشه 34 ژانویه 18 13:25 پیش فرض->/etc/nginx/sites-available/default

برای اینکه همه چیز به طور پیش فرض تنظیم شود ، این دستورات را اجرا کنید.

me@my-rpi:/project1 $ sudo cp conf/nginx/etc/nginx/sites-available/project1me@my-rpi:/project1 $ sudo rm/etc/nginx/sites-enabled/default me@my- rpi: ~/project1 $ sudo ln -s/etc/nginx/sites-available/project1/etc/nginx/sites-enabled/project1 me@my-rpi: ~/project1 $ sudo systemctl راه اندازی مجدد nginx.service

شروع خودکار

بیایید مطمئن شویم که همه چیز به طور خودکار شروع می شود.

به پوشه conf بروید و این دستورات نهایی را اجرا کنید و کار تمام است!

me@my-rpi:/project1 $ sudo systemctl فعال کردن پروژه 1-*

اگر Pi خود را مجدداً راه اندازی می کنید ، باید به طور خودکار شروع شود.

مرحله 5: مرحله 5: ساخت مسکن

مرحله 5: ساخت مسکن
مرحله 5: ساخت مسکن
مرحله 5: ساخت مسکن
مرحله 5: ساخت مسکن
مرحله 5: ساخت مسکن
مرحله 5: ساخت مسکن
مرحله 5: ساخت مسکن
مرحله 5: ساخت مسکن

بازیافت

برای ساخت خانه از کمد قدیمی استفاده می کردم که مادرم آن را دور می انداخت.

پایه

من 4 تخته (34 سانتی متر در 26 سانتی متر) اره کردم. (بنابراین این یک مکعب از 34 34 34 26 26 است).

در قسمت پایین یک تکه چوب نازک به عنوان پایین اضافه کردم.

تخته با led ها

در وسط من 2 تکه چوب کوچک در هر طرف هر دو در 9 سانتی متر از بالا قرار داده ام. این صفحه تخته ای را که رهبری در آن نشسته اند نگه می دارد.

تخته با led ها یک تخته کوچک (32 سانتی متر در 32 سانتی متر) است.

من 9 سوراخ ایجاد کردم تا لیدها از آن خارج شوند.

تقسیم

من تقسیم را با همان مواد پایین و تخته با سرب های led انجام دادم.

4 قطعه هر کدام با برش 10.3 سانتی متر (9 سانتی متر در 31 سانتی متر). حالا من می توانم آنها را کنار هم قرار دهم.

دکمه ها و خواننده RFID

من یک سوراخ در پایه ایجاد کردم تا خواننده و دکمه های RFID را داخل آن قرار دهم. برای RFID یک تخته نازک در جلوی آن قرار دادم تا تمیزتر به نظر برسد.

مرحله 6: مرحله 6: قرار دادن همه چیز در مسکن

این بستگی به این دارد که چگونه می خواهید این کار را انجام دهید. من شخصاً بدون لحیم کاری از کابل های زیادی استفاده کردم زیرا می خواهم بتوانم از Raspberry Pi خود استفاده مجدد کنم.

led ها را در جای خود چسباندم و خواننده RFID و تخته های نان را روی قاب چسباندم.

و اینگونه است که شما Keysorter می سازید!

توصیه شده: