فهرست مطالب:

خانه هوشمند توسط تمشک پای: 5 مرحله (همراه با تصاویر)
خانه هوشمند توسط تمشک پای: 5 مرحله (همراه با تصاویر)

تصویری: خانه هوشمند توسط تمشک پای: 5 مرحله (همراه با تصاویر)

تصویری: خانه هوشمند توسط تمشک پای: 5 مرحله (همراه با تصاویر)
تصویری: گوز زدن پریانکا چوپرا هنرپیشه بالیوود در یکی از برنامه های لایف تلویزیونی |C&C 2024, نوامبر
Anonim
خانه هوشمند توسط Raspberry Pi
خانه هوشمند توسط Raspberry Pi

در حال حاضر چندین محصول وجود دارد که خانه شما را باهوش تر می کند ، اما اکثر آنها راه حل های اختصاصی هستند. اما چرا برای تعویض چراغ با تلفن هوشمند خود به اینترنت نیاز دارید؟ این یکی از دلایلی بود که من راه حل خانه هوشمند خودم را ساختم.

من یک برنامه سرور برنامه ریزی کردم که روی رزبری پای اجرا می شود. این یک پروژه منبع باز مبتنی بر جاوا است که به شما امکان می دهد آپارتمان خود را پیکربندی کرده و چندین سرویس گیرنده و "واحدهای قابل کنترل" را متصل کنید. من راه حلی را نشان می دهم که سوئیچ های منبع تغذیه rc را کنترل می کند ، موسیقی و فیلم را در رزبری پای پخش می کند ، وضعیت روی آینه هوشمند را نشان می دهد و توسط یک برنامه اندرویدی و دو برنامه سنگریزه قابل کنترل است. منبع در github https://github.com/dabastynator/SmartHome میزبانی شده است

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

چیزهایی که شما نیاز دارید
چیزهایی که شما نیاز دارید

برای راه اندازی خانه هوشمند ، به "مواد" زیر نیاز دارید:

  • رزبری پای حداقل مدل 2 B
  • فرستنده 433 مگاهرتز ، چیزی شبیه به این
  • 3 کابل بلوز که رزبری پای و فرستنده را متصل می کند
  • برخی سوکت های کنترل رادیویی با فرکانس 433 مگاهرتز
  • تلفن هوشمند Android برای اجرای برنامه مشتری

علاوه بر این ، می توانید خانه هوشمند را با مشتریان و واحدهای اختیاری مانند این گسترش دهید

  • ساعت هوشمند Pebble
  • آینه هوشمند ، این پروژه را ببینید
  • نوار LED کنترل شده 433 مگاهرتز ، این https://www.instructables.com/id/RC-controlled-LE… را ببینید

مرحله 2: Raspberry Pi را برای 433 مگاهرتز آماده کنید

Raspberry Pi را برای 433 مگاهرتز آماده کنید
Raspberry Pi را برای 433 مگاهرتز آماده کنید
Raspberry Pi را برای 433 مگاهرتز آماده کنید
Raspberry Pi را برای 433 مگاهرتز آماده کنید

در مراحل زیر باید به خط فرمان رزبری پای دسترسی داشته باشید. برای دسترسی ، می توانید این دستورالعمل https://www.instructables.com/id/Remote-SSH-access… را بخوانید

مطابق تصویر بالا ، فرستنده 433 مگاهرتز را با Raspberry Pi متصل کنید

  • GND (فرستنده) 6 GND (raspi)
  • VCC (فرستنده) 2 +5V (raspi)
  • DATA (فرستنده) 11 GPIO 17 (raspi)

لطفاً یک آنتن 17 سانتی متری را به پین ANT (فرستنده) وصل کنید. که سیگنال را به میزان قابل توجهی افزایش می دهد.

از آنجا که ما به کتابخانه هایی از مخازن دیگر git نیاز داریم ، باید git را نصب کنیم

sudo apt-get install git-core -y

برای راه اندازی Raspberry Pi برای ارتباط 433 مگاهرتز به کتابخانه سیم کشی Pi برای مدیریت بهتر GPIO ها نیاز داریم.

git clone git: //git.drogon.net/wiringPi

cd wiringPi./build

سپس به کتابخانه ای نیاز داریم که معمولاً پروتکل های منبع تغذیه rc را پیاده سازی کند.

git clone git: //github.com/dabastynator/rcswitch-pi.git

cd rcswitch-pi cp send/usr/bin/

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

در راه اندازی خانه هوشمند من یک نوار LED rc نیز وجود دارد که توسط این دستورالعمل توضیح داده شده است: برای ارسال هر مقدار عدد صحیح (که رنگ را کد می کند).

بنابراین ، sendInt.cpp را در repo rcswitch-pi کامپایل کرده و آن را به/usr/bin/sendInt منتقل کنید.

sudo g ++ sendInt.cpp -o/usr/bin/sendInt /home/pi/rcswitch-pi/RCSwitch.o -I/home/pi/rcswitch -pi -lwiringPi

حالا شما باید بتوانید دستورات rc را با دو فایل اجرایی/usr/bin/send و/usr/bin/sendInt ارسال کنید.

مرحله 3: سرور هوشمند خانه را راه اندازی کنید

اول از همه باید چندین بسته را نصب کنید. برنامه Smart Home مبتنی بر جاوا است و با openjdk-11 خوب اجرا می شود. من در مورد سایر محیط های اجرای جاوا مطمئن نیستم. mplayer یک پخش کننده موسیقی خط فرمان مینیمالیستی است. omxplayer از گرافیک Raspberry Pi برای کدگذاری ویدیو استفاده می کند ، بنابراین باید از آن برای فیلم ها استفاده کرد. مورچه برنامه برای ساخت برنامه جاوا مورد نیاز است.

sudo apt-get install mplayer omxplayer openjdk-11-jdk ant -y

دایرکتوری هایی را برای فایل jar و logs تنظیم کنید.

sudo mkdir /opt /neo

sudo chown pi: pi/opt/neo mkdir/home/pi/Logs

شروع اسکریپت را پیکربندی کنید تا برنامه به طور خودکار در بوت راه اندازی شود. بنابراین اسکریپت پیوست خانه هوشمند را در فهرست /etc/init.d/ کپی کنید. من همچنین یک اسکریپت در/usr/bin/ایجاد کردم که دستورات را به اسکریپت پیوست پیپ می کند ، بنابراین من فقط برای اجرای دستورات خانه هوشمند را به کنسول وارد می کنم. به

sudo cp smart-home /etc/init.d/smart-home

sudo chmod +x /etc/init.d/smart-home sudo sh -c "echo '#!/bin/bash'>/usr/bin/smart -home" sudo sh -c "echo '/etc/init. d/smart-home / $ 1 '>>/usr/bin/smart-home "sudo chmod +x/usr/bin/smart-home sudo update-rc.d پیش فرض خانه هوشمند

اکنون زمان بررسی مخزن و ساخت برنامه فرا رسیده است. اگر نمی خواهید خودتان آن را کامپایل کنید ، فقط می توانید smarthome.jar پیوست را بارگیری کرده و به/opt/neo/منتقل کنید

git clone [email protected]: dabastynator/SmartHome.git

مورچه -f SmartHome/de.neo.smarthome.build/build.ant build_remote cp SmartHome/de.neo.smarthome.build/build/jar/*/opt/neo/

سعی کنید خانه هوشمند را راه اندازی کنید و فایل گزارش را بررسی کنید. برای دسترسی به GPIO ها ، برنامه باید توسط sudo راه اندازی شود.

شروع خانه هوشمند sudo

cat Logs/smarthome.log

باید ببینید پیغام خطا فایل پیکربندی وجود ندارد که ما را به مرحله بعدی راهنمایی می کند. مخزن حاوی readme است که فایل پیکربندی را توضیح می دهد. می توانید این را به زیبایی در github مشاهده کنید:

این xml را در /home/pi/controlcenter.xml کپی کنید ، سپس مکان را برای سرور رسانه خود تنظیم کنید و محتوا را به عنوان مورد نیاز تغییر دهید. پس از اتمام پیکربندی و راه اندازی مجدد خانه هوشمند (راه اندازی مجدد sudo smart-home) باید محتوای زیر را در smarthome.log مشاهده کنید

08.05-08: 26 اطلاعات دوربری توسط de.neo.smarthome.cronjob. CronJob@15aeb7ab: برنامه ریزی کار cron

24.05-08: 26 اطلاعات دوربری توسط [trigger.light]: 79391760 ms را برای اجرا منتظر بمانید 24.05-08: 26 RMI INFORMATION با افزودن web-handler (5061/ledstrip) 24.05-08: 26 RMI INFORMATION با افزودن web-handler (5061 /action) 24.05-08: 26 RMI INFORMATION by Add web-handler (5061/mediaserver) 24.05-08: 26 RMI INFORMATION by Add web-handler (5061/switch) 24.05-08: 26 RMI INFORMATION by Add web-handler (5061/controlcenter) 24.05-08: 26 RMI INFORMATION توسط وب سرور Start با 5 handler (localhost: 5061) 24.05-08: 26 INFORMATION از راه دور توسط Controlcenter: افزودن 1. واحد کنترل: MyUnit (xyz)…

وب سرور در حال اجرا است:-)

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

راه اندازی مشتریان
راه اندازی مشتریان
راه اندازی مشتریان
راه اندازی مشتریان
راه اندازی مشتریان
راه اندازی مشتریان

سرویس گیرنده Android تلفن هوشمند

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

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

ساعت هوشمند Pebble client

منبع دو مشتری سنگریزه در github میزبانی شده است. یک برنامه فایل پخش موسیقی در حال پخش را نشان می دهد: https://github.com/dabastynator/PebbleRemoteMusic… این همچنین به شما امکان می دهد مکث/پخش و افزایش صدا را کاهش دهید.

برنامه دوم سه عمل را آغاز می کند: https://github.com/dabastynator/PebbleControl اسامی ماشه ها عبارتند از: mobile.come_home mobile.leaving و mobile.go_to_bed. اگر قوانین رویداد را برای این ماشه در پیکربندی-xml خود تعریف کنید ، آنها را توسط ساعت خود فعال می کنید.

همه اینها منبع باز است ، اما نیازی نیست خودتان آن را کامپایل کنید ، من برنامه های سنگریزه را نیز ضمیمه کردم. PBW ها را با تلفن هوشمند خود بارگیری کنید ، تلفن شما باید آنها را روی ساعت شما نصب کند. برنامه های سنگریزه به پیکربندی نیاز دارند تا با سرور صحبت کنند. من یک تصویر از نمای تنظیمات را ضمیمه کردم.

ساعت هوشمند مشتری Garmin

همچنین یک مشتری برای ساعت های هوشمند Garmin موجود است. این برنامه در فروشگاه برنامه garmin connect موجود است و می تواند در اینجا نصب شود:

apps.garmin.com/fa-US/apps/c745527d-f2af-4…

مشتری آینه هوشمند

من قبلاً یک دستورالعمل ایجاد کردم که نحوه ایجاد آینه هوشمند را توضیح می دهد ، این را ببینید https://www.instructables.com/id/Smart-Mirror-by-R…. کد منبع نیز در github میزبانی می شود: https:// github.com/dabastynator/SmartMirror. نرم افزار آینه هوشمند پیکربندی فایل smart_config.js را که بخشی از مخزن git نیست می خواند. محتوای فایل پیکربندی باید شبیه این لیست باشد:

var mOpenWeatherKey = 'your-open-wheather-key'؛

var mSecurity = 'your-security-token'؛

شما همچنین باید دو خط اول فایل smart_mirror.js را تنظیم کنید تا آدرس IP سرور Smart Home و محل آن برای دریافت آب و هوای مناسب مشخص شود.

مشتریان بیشتر

برنامه سرور یک وب سرور ساده است. این به شما این امکان را می دهد تا از طریق هرگونه تماس وب ، اقدامات مورد نیاز هر مشتری را انجام دهید. در نسخه ی نمایشی ویدئو ، من Tasker برنامه اندروید را در ترکیب با AutoVoice نشان می دهم. این به من امکان می دهد تا با دستورات صوتی ساده رویدادها را فعال کنم. برای مثال "ok google، time to sleep" می تواند mobile.go_to_bed را فعال کند. اما می توانید به عنوان مثال از IFTTT تماس وب را انجام دهید. نوار LED زرد چشمک زن برای اعلان ایمیل چطور؟

می توانید از سرور درخواست تماس های وب احتمالی مانند پیوندهای زیر را کنید (با پیکربندی خود IP ، پورت و توکن را جایگزین کنید)

localhost: 5061/controlcenter/api؟ token = secu…

localhost: 5061/action/api؟ token = security-to…

localhost: 5061/mediaserver/api؟ token = securi…

localhost: 5061/switch/api؟ token = security-to…

localhost: 5061/ledstrip/api؟ token = security-…

مرحله 5: نتیجه گیری

هنوز برخی از ویژگی ها برای پیاده سازی وجود دارد: از آنجا که سرور فقط یک وب ساده api-client ارائه می دهد ، نظرسنجی زیادی انجام دهید. برای کاهش نظرسنجی ، من برای اطلاع رسانی بهتر یکپارچه سازی MQTT می خواهم. همچنین منابع تغذیه وای فای باید از منبع تغذیه rc قابل اطمینان تر باشند زیرا rc فقط یک ارتباط یک طرفه است.

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

توصیه شده: