فهرست مطالب:

SmartHome با Raspberry Pi: 5 مرحله
SmartHome با Raspberry Pi: 5 مرحله

تصویری: SmartHome با Raspberry Pi: 5 مرحله

تصویری: SmartHome با Raspberry Pi: 5 مرحله
تصویری: How to Build Raspberry Pi Pico PLC || OpenPLC Editor 2024, نوامبر
Anonim
SmartHome با Raspberry Pi
SmartHome با Raspberry Pi

برای این پروژه من یک SmartHome ساختم که می تواند توسط یک وب سایت و تلفن همراه اداره شود. برای این منظور از Raspberry PI به عنوان پایگاه داده و سرور وب استفاده می کنم.

تدارکات

اگر می خواهید این کار را شروع کنید ، به چند چیز نیاز دارید:

  • 5 لامپ سفید (5 میلی متر)
  • 1 سنسور دمای یک سیم
  • 1 LDR (مقاومت وابسته به نور)
  • 2 سرو موتور
  • 1 microSD (برای رزبری پای)
  • 1 Breadboard powerupply
  • 1 رزبری پای 3 مدل B+
  • 3 صفحه فوم
  • 1 پله موتور (5 ولت)
  • 1 خواننده RFID-RC522
  • 8 مقاومت (220 اهم)
  • 1 مقاومت (10 کیلو اهم)
  • 2 تخته نان
  • 2 بسته jumperwires
  • 1 صفحه نمایش LCD 16x2
  • 1 PCF8574AN
  • 4 پنجره کوچک (چاپ سه بعدی)
  • 1 در (چاپ سه بعدی)
  • 2 پنجره بزرگ (چاپ سه بعدی)
  • 1 درب گاراژ (چاپ سه بعدی)

اگر برای خرید به همه این موارد نیاز دارید ، حداکثر هزینه در حدود 150 یورو خواهد بود

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

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

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

در این راه ، می توانید ببینید آیا پین کافی روی رزبری پای برای اتصال همه چیز دارید. در این مورد من از PCF8574AN برای کنترل LCD خود با پین GPIO کمتر استفاده کردم.

برای ترسیم طرح از Fritzing استفاده کردم. این یک برنامه مفید است که در آن می توانید کابل کشی خود را به شیوه ای منظم مشاهده کنید.

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

مرحله 2: مسکن

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

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

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

مرحله 3: پایگاه داده

پایگاه داده
پایگاه داده

اول از همه ، شما باید پایگاه داده را با استفاده از Mysql Workbench طراحی کنید. در صورت موفقیت آمیز ، باید پایگاه داده Mysql را بر روی Raspberry Pi نصب کنید.

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

sudo apt-get update

و

sudo apt-get upgrade

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

sudo apt-get نصب mysql-server

اگر سرور Mysql نصب شده است ، سرویس گیرنده Mysql را نصب کنید

sudo apt-get mysql-client را نصب کنید

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

sudo mysql

اکنون می توانید کد پایگاه داده خود را با باز کردن فایل.mwb با sql workbench و مهندس جلو وارد کنید. شما کد را کپی کرده و این را در Raspberry در mysql جایگذاری کنید. پایگاه داده ساخته شده است.

برای اینکه کاربر همه مجوزها را دریافت کند ، کافی است نام کاربری خود را در جدول اضافه کنید

اعطای همه امتیازات به smarthome.* به 'yourname'@'٪' که توسط 'yourname' مشخص شده است؛

البته اکنون باید جدول را تازه کنید

خصوصیات فلاش ؛

برای بررسی این امر می توانید به سادگی تلاش کنید:

از smarthome استفاده کنید ؛

* را از historiek انتخاب کنید ؛

در جدول کاربر نام کاربران با نشان آنها جمع شده است ، در اینجا می توانید کاربران جدیدی اضافه کنید. در جدول دستگاه ها می توانید همه سنسورهای فعال با شناسه آنها را بیابید. جدول historiek همه چیزهایی را که در حال رخ دادن هستند مانند سنسور دما ، نشان با وضعیت درب گاراژ و موارد دیگر نشان می دهد.

مرحله 4: راه اندازی

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

رابط ها

البته باید برخی از رابط ها را روی Pi فعال کنید. ابتدا به صفحه پیکربندی بروید.

sudo raspi-config

حالا می توانید به دسته های 1-Wire و Spi بروید و هر دو آنها را فعال کنید. برای سنسور دما به این موارد نیاز دارید.

وای فای

مراحل بعدی را برای دریافت wifi در Pi دنبال کنید.

ابتدا به عنوان root وارد شوید

sudo-i

سپس نام و رمز عبور شبکه wifi خود را وارد کنید

wpa_passphrase = "wifiname" "password" >> /etc/wpa_supplicant/wpa_supplicant.conf

سپس کلاینت WPA را وارد کنید

wpa_cli

رابط را انتخاب کنید

رابط wlan0

حالا پیکربندی را دوباره بارگذاری کنید

پیکربندی مجدد

و اکنون می توانید بررسی کنید که آیا متصل هستید یا خیر

ip a

بسته ها

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

به روز رسانی sudo apt

برای python ما نصب می کنیم و مطمئن می شویم که Pi نسخه صحیح را انتخاب کرده است

Update-alternatives --install/usr/bin/python python /usr/bin/python2.7 1-Update-alternatives --install/usr/bin/python python/usr/bin/python3 2

برای اینکه وب سرور سایت را اجرا کند ، باید Apache2 را نصب کنیم

sudo apt install apache2 -y

برخی از بسته های پایتون نیز باید نصب شوند

  • فلاسک
  • Flask-Cors
  • Flask-MySQL
  • Flask-SocketIO
  • PyMySQL
  • پایتون-socketIO
  • درخواست ها
  • پیپ
  • gpio
  • گئونت
  • Gevent-websocket

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

مرحله 5: کد

کد
کد
کد
کد

باطن

برای باطن ، ما کد را در پایتون می نویسیم و از pycharm برای نوشتن استفاده می کنیم. مسیرهای پشتیبان را می توان با پستچی بررسی کرد. با استفاده از این برنامه می توانید از روش های POST و GET استفاده کنید. در قسمت پشتی من از چند موضوع استفاده کردم تا همه چیز در پس زمینه اجرا شود و بتواند با هم کار کند. برای تنظیم تصویر روی رزبری پای می توانید از Putty استفاده کنید ، این یک برنامه رایگان است.

نمای جلو

در نمای جلو چند دکمه وجود دارد که می توانند چراغ ها را روشن کرده ، درب و درب گاراژ را باز کنند. با استفاده از جاوا اسکریپت و CSS ، سبک دکمه ها هنگام فعال شدن تغییر می کند. همچنین دمای زنده و نمودار با دمای گذشته وجود دارد. در صفحه کاربر می توانید کاربران مختلف را مشاهده کنید ، همچنین می توانید یک کاربر را به پایگاه داده اضافه کنید و سابقه کاربری وجود دارد که در آن می توانید ببینید چه کسی آخرین بار درب گاراژ را باز یا بسته کرده است.

می توانید کد frontend و backend را در آدرس زیر بیابید

github.com/NMCT-S2-Project-1/nmct-s2-proje…

توصیه شده: