فهرست مطالب:

Home_X: 5 مرحله
Home_X: 5 مرحله

تصویری: Home_X: 5 مرحله

تصویری: Home_X: 5 مرحله
تصویری: Playrix homescapes, 😍highest score in the homescapes game 2024, جولای
Anonim
صفحه اصلی_X
صفحه اصلی_X

من دانشجوی Howest Kortrijk هستم که در زمینه رسانه های نوین و فناوری ارتباطات (NMCT) تحصیل می کند.

همه ما مجبور بودیم پروژه ای بسازیم که بر اساس تمشک و/یا آردوینو بود. ما مجبور بودیم از سنسورها و پایگاه های داده برای نمایش داده ها در یک وب سایت استفاده کنیم ، و در آن زمان بود که ایده ایجاد یک خانه کوچک کوچک به ذهنم رسید.

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

در این قسمت آموزشی شما را در هر مرحله راهنمایی می کنم تا بتوانید این پروژه را برای خودتان بازسازی کنید.

مرحله 1: مواد: آنچه شما نیاز دارید

  • تمشک پای
  • DHT22
  • Grove - سنسور کیفیت هوا
  • Grove - Gas Sensor (MQ2)
  • تخته نان
  • کولبر رزبری پای تی
  • سیمهای جهنده نر/ماده
  • LED های 5 میلی متری
  • مقاومت ها
  • چوب و ابزار
  • سرو موتور
  • GrovePi+

می توانید این اقلام را به صورت آنلاین (Ali express ، amazon ، کیوی الکترونیک …) یا در مغازه های محلی خود خریداری کنید.

لیست دقیق قطعات با پیوند به مغازه ها در زیر در BOM آمده است.

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

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

من از Fritzing برای سیم کشی استفاده کردم تا نمای خوبی از نحوه انجام سیم کشی من داشته باشد. من خودم برای 2 سنسورم از GrovePi+ استفاده کردم. اگر قصد دارید این کار را بدون GrovePi+ انجام دهید ، از طرح Fritzing پیروی کنید. سنسورهای I برای شما کار نمی کنند ، سعی کنید از پین های مختلف استفاده کنید.

در زیر می توانید فایل Fritzing را بیابید.

مرحله 3: پایگاه داده با استفاده از MySQL

پایگاه داده با استفاده از MySQL
پایگاه داده با استفاده از MySQL

یکی از اساسی ترین وظایفی که ما مجبور بودیم پیاده سازی کنیم ، اتصال به پایگاه داده MySQL بود.

هر بار که یک سنسور قرائت می کند یا چراغی روشن می شود ، این تغییرات را در پایگاه داده مشاهده می کنید.

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

در زیر می توانید فایل.xml من را مشاهده کنید که در آن نمای کلی نحوه کار پایگاه داده را مشاهده می کنید ،

اما ابتدا باید MySQL و flask را روی Raspberry Pi نصب کنید.

کدگذاری سنسورها از طریق pycharm اتفاق افتاده است ، بنابراین مطمئن شوید که آن نیز (روی رایانه شما) نصب شده است.

ابتدا باید بروزرسانی ها را بررسی کرده و بسته هایی مانند این را نصب کنید:

sudo apt-get update && sudo apt-get upgrade

sudo apt install -y python3-venv python3-pip python3-mysqldb mariadb-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

باید به شما بگوید که mariadb.service فعال است.

اکنون ، در pycharm به VCS> Import from Version Control> GitHub en clone https://github.com/NMCT-S2-Project-I/Project-I.git بروید.

سپس پیکربندی استقرار را برای دایرکتوری که اخیراً ایجاد کرده اید پیکربندی کنید. /home/me/project1.

پس از انجام این کار ، به تنظیمات مترجم بروید و محیط مجازی را که اخیراً ایجاد کرده اید پیکربندی کنید. /home/me/project/env/bin/python. نقشه راه نیز باید پر شود.

اگر همه اینها را انجام دادید ، پایگاه داده باید قبلاً اجرا شود.

sudo systemctl وضعیت mysql

اکنون باید برای پایگاه داده خود کاربر ایجاد کنیم ، مانند موارد زیر:

sudo mariadb

CREATE USER 'project-admin'@'localhost' IDENTIFIED BY 'adminpassword'؛ CREATE USER 'project-web'@'localhost' IDENTIFIED BY by 'webpassword'؛ CREATE USER 'project-sensor'@'localhost' IDENTIFIED BY by 'sensorpassword'؛ ایجاد پروژه پایگاه داده ؛

اعطای کلیه خصوصیات در پروژه GRANT SELECT ، INSERT ، UPDATE ، DELETE ON project.* TO 'project-sensor'@'localhost'؛ خصوصیات فلاش ؛

اکنون برای مشاهده پایگاه داده خود در pycharm باید یک اتصال ایجاد کنیم.

ما می توانیم این کار را با رفتن به منوی View> Tool Windows> Database و کلیک روی دکمه سبز "plus" انجام دهیم.

منبع داده> MySQL و روی دکمه بارگیری درایور که ظاهر می شود (در صورت وجود) کلیک کنید.

سپس به SSH/SSL بروید و SSH را بررسی کنید. میزبان/کاربر/رمز عبور pi را پر کنید و در صورت عدم پر شدن از پورت 22 استفاده کنید.

اگر می خواهید pycharm گذرواژه شما را به خاطر بسپارد ، کادر تأیید "یادآوری رمز عبور" را علامت بزنید.

در برگه "General" ، localhost را در host ، پروژه در Database پر کنید و از Project-admin با رمز عبور استفاده کنید تا بتوانید اتصال را آزمایش کنید.

برای اینکه پایگاه داده را قابل استفاده کنید باید.sql را که در زیر قرار داده ام اجرا کنید. از گزینه import استفاده کنید ، اگر نمی توانید یک dumpfile را وارد کنید ، باید جداول را به صورت دستی اضافه کنید.

پس از انجام این کار ، باید پوشه conf را با دو فایل.service پیدا کنید. در آنجا هر سببی را که پیدا می کنید با نام کاربری که در pi خود استفاده می کنید تغییر دهید. همچنین ، گروه باید www-data باشد.

گام بعدی این است که این خدمات را روی pi خود شروع کنید ، مانند این:

sudo cp conf/project-*. service/etc/systemd/system/

sudo systemctl daemon-reload

شروع پروژه sudo systemctl-*

پروژه وضعیت sudo systemctl-*

وقتی همه چیز طبق برنامه پیش رفت ، باید دو سرویس فعال را مشاهده کنید.

آخرین مرحله این است که nginx را فعال کنید.

ابتدا apache2 را در pi خود بررسی کنید ، اگر این را نصب کرده اید ، آن را حذف کرده یا غیرفعال کنید.

در فایل nginx ابتدا باید uwsgi_pass را تغییر دهید ، سپس این دستورات را اجرا کنید.

sudo cp conf/nginx/etc/nginx/sites-available/project

sudo rm/etc/nginx/sites-enabled/default

sudo ln -s/etc/nginx/sites-available/project1/etc/nginx/sites-enabled/project

sudo systemctl nginx.service را راه اندازی مجدد کنید

sudo systemctl وضعیت nginx.service

Nginx باید فعال و در حال اجرا باشد. اگر همه چیز درست است ، اکنون می توانید به pi خود موج سواری کنید. ابتدا "سلام جهان" را مشاهده خواهید کرد ، اما همچنان باید محتوای آن فایل را با کد من در زیر تغییر دهید.

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

وقتی این کار را انجام دادید ، مطمئن شوید که حداقل 1 خانه با آدرس در پایگاه داده قرار داده اید. می توانید این کار را با یک درج ساده در داخل انجام دهید.

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

برنامه نویسی
برنامه نویسی
برنامه نویسی
برنامه نویسی

می توانید کد را از طریق Github بارگیری کنید:

github.com/NMCT-S2-Project-I/project-i-Tib…

کد سنسورها در فایل sensor.py موجود است.

فراموش نکنید که نام من را به نام خود (یا کاربر بیشتر از آنچه در pi خود استفاده می کنید) در فایل های سرویس تغییر دهید تا بتوانند به درستی اجرا شوند و کد من را در فایل های موجود در Pycharm شما قرار دهند.

مرحله 5: مسکن

مسکن
مسکن
مسکن
مسکن
مسکن
مسکن
مسکن
مسکن

من یک نقشه سریع از چگونگی خانه خود می خواستم ، اما خانه شما می تواند کاملاً متفاوت به نظر برسد. فقط باید مطمئن شوید که یک کل دارید تا سروو بتواند پنجره ای را باز و بسته کند.

من عمدتا از یک مته کوچک و یک اره برای برش چوب استفاده کردم. همچنین مطمئن شدم که دیوارها به اندازه کافی ضخیم هستند تا بتوانم سرووی خود را در داخل آنها قرار دهم.

هنگامی که طراحی خود را به پایان رسانید و سروو در جای خود قرار گیرد ، فقط باید سنسورها را وصل کرده و پی را در داخل خانه قرار دهید و آماده رفتن هستید.

همانطور که قبلاً اشاره کردم خانه شما می تواند دقیقا شبیه خانه من باشد ، فقط باید جایی برای سروو و پنجره باز کنید.

سرانجام کار با پروژه به پایان رسید. امیدوارم این راهنما به اندازه کافی واضح باشد تا شما نیز بتوانید یک خانه کوچک زیبا مانند من بسازید.

بهترین شانس.

توصیه شده: