جدول المحتويات:
- الخطوة 1: الأشياء التي تحتاجها
- الخطوة 2: تحضير Raspberry Pi لـ 433 MHz
- الخطوة 3: إعداد خادم المنزل الذكي
- الخطوة 4: عملاء الإعداد
- الخطوة 5: الخاتمة
فيديو: المنزل الذكي من Raspberry Pi: 5 خطوات (بالصور)
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:35
هناك بالفعل العديد من المنتجات التي تجعل شقتك أكثر ذكاءً ، ولكن معظمها حلول مملوكة. ولكن لماذا تحتاج إلى اتصال بالإنترنت لتبديل الضوء بهاتفك الذكي؟ كان هذا أحد الأسباب التي دفعتني إلى بناء حل المنزل الذكي الخاص بي.
لقد قمت ببرمجة تطبيق خادم يعمل على Raspberry Pi. هذا مشروع مفتوح المصدر يعتمد على جافا ويسمح لك بتهيئة شقتك وتوصيل العديد من العملاء و "الوحدات القابلة للتحكم". أعرض حلاً يتعامل مع مفاتيح إمداد الطاقة RC ، وتشغيل الموسيقى والفيديو على Raspberry Pi ، وإظهار الحالة على المرآة الذكية ويمكن التحكم فيها عن طريق تطبيق android واثنين من تطبيقات pebble. المصدر مستضاف على github
الخطوة 1: الأشياء التي تحتاجها
لإعداد المنزل الذكي ، تحتاج إلى "المكونات" التالية
- Raspberry Pi نموذج 2 ب على الأقل
- مرسل 433 ميغاهرتز ، شيء من هذا القبيل
- 3 كبلات توصيل تربط بين Raspberry Pi والمرسل
- بعض مقابس التحكم في الراديو بتردد 433 ميجاهرتز
- هاتف ذكي يعمل بنظام Android لتشغيل تطبيق العميل
بالإضافة إلى ذلك ، يمكنك توسيع المنزل الذكي بمزيد من العملاء والوحدات الاختيارية مثل هذا
- ساعة ذكية بيبل
- Smart Mirror ، راجع هذا المشروع
- شريط LED يتم التحكم فيه 433 ميجاهرتز ، راجع هذا
الخطوة 2: تحضير Raspberry Pi لـ 433 MHz
في الخطوات التالية ، تحتاج إلى الوصول إلى سطر الأوامر في Raspberry Pi. للحصول على حق الوصول ، يمكنك قراءة هذا
قم بتوصيل المرسل 433 ميجاهرتز بـ Raspberry Pi كما هو موضح في الصورة أعلاه
- GND (المرسل) 6 GND (Raspi)
- VCC (المرسل) 2 + 5V (raspi)
- البيانات (المرسل) 11 GPIO 17 (raspi)
يرجى أيضًا توصيل هوائي 17 سم بدبوس ANT (المرسل). هذا يزيد من إشارة كبيرة.
نظرًا لأننا نحتاج إلى بعض المكتبات من مستودعات git الأخرى ، فعلينا تثبيت git
سودو apt-get install git-core -y
لإعداد Raspberry Pi للاتصال 433 ميجاهرتز ، نحتاج إلى مكتبة الأسلاك Pi لتحسين التعامل مع GPIOs.
بوابة استنساخ git: //git.drogon.net/wiringPi
الأسلاك القرص المضغوط
ثم نحتاج إلى مكتبة تنفذ عادةً بروتوكولات مصدر طاقة RC.
بوابة استنساخ git: //github.com/dabastynator/rcswitch-pi.git
cd rcswitch-pi جعل cp send / usr / bin /
يتيح لك الملف التنفيذي "إرسال" إرسال رموز لتبديل معظم مصادر الطاقة المتاحة.
في إعداد Smart Home الخاص بي ، لدي أيضًا شريط RC LED موصوف في هذه التعليمات: https://www.instructables.com/id/RC-controlled-LED… لتعيين الألوان لشريط LED هذا ، تحتاج إلى ملف إرسال آخر قابل للتنفيذ يسمح لك لإرسال أي قيمة عدد صحيح (يشفر اللون).
لذلك ، قم بتجميع sendInt.cpp في rcswitch-pi repo وانقله إلى / 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 مبني على Java ويعمل بشكل جيد مع openjdk-11. لست متأكدًا من بيئات وقت تشغيل جافا الأخرى. يعد mplayer مشغل موسيقى بسطر أوامر بسيط. يستخدم omxplayer رسومات Raspberry Pi لتشفير الفيديو ، لذلك يجب استخدامه لمقاطع الفيديو. هناك حاجة إلى نملة البرنامج لبناء تطبيق جافا.
sudo apt-get install mplayer omxplayer openjdk-11-jdk ant -y
إعداد الدلائل لملف الجرة والسجلات.
sudo mkdir / opt / neo
sudo chown pi: pi / opt / neo mkdir / home / pi / السجلات
قم بتكوين البرنامج النصي لبدء تشغيل التطبيق تلقائيًا عند التمهيد. لذلك ، قم بنسخ البرنامج النصي للمنزل الذكي المرفق في الدليل /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
ant -f SmartHome / de.neo.smarthome.build / build.ant build_remote cp SmartHome / de.neo.smarthome.build / build / jar / * / opt / neo /
حاول بدء تشغيل المنزل الذكي وتحقق من ملف السجل. للوصول إلى GPIOs ، يجب بدء التطبيق عن طريق sudo.
sudo بدء المنزل الذكي
سجلات القط / smarthome.log
يجب أن ترى رسالة الخطأ ملف التكوين غير موجود والذي يوجهنا إلى الخطوة التالية. يحتوي المستودع على ملف تمهيدي يشرح ملف التكوين. يمكنك أن ترى هذا معروضًا بشكل جيد في جيثب:
انسخ ملف xml هذا إلى /home/pi/controlcenter.xml ، ثم اضبط موقع خادم الوسائط الخاص بك وقم بتغيير المحتوى حسب حاجتك إليه. بمجرد الانتهاء من التكوين وإعادة تشغيل المنزل الذكي (إعادة تشغيل sudo smart-home) ، يجب أن ترى المحتوى التالي في smarthome.log
24.05-08: 26 معلومات عن بُعد بواسطة de.neo.smarthome.cronjob. CronJob@15aeb7ab: جدولة وظيفة cron
24.05-08: 26 معلومات عن بُعد بواسطة [trigger.light]: انتظر 79391760 مللي ثانية للتنفيذ 24.05-08: 26 معلومات RMI عن طريق إضافة معالج ويب (5061 / شريط LED) 24.05-08: 26 معلومات RMI عن طريق إضافة معالج ويب (5061 / الإجراء) 24.05-08: 26 معلومات RMI عن طريق إضافة معالج ويب (5061 / mediaserver) 24.05-08: 26 معلومات RMI عن طريق إضافة معالج ويب (5061 / switch) 24.05-08: 26 معلومات RMI عن طريق إضافة معالج ويب (5061 / controlcenter) 24.05-08: 26 معلومات RMI عن طريق بدء خادم الويب مع معالج 5 (المضيف المحلي: 5061) 24.05-08: 26 معلومات عن بُعد بواسطة Controlcenter: إضافة 1. وحدة التحكم: MyUnit (xyz) …
يعمل خادم الويب الآن:-)
الخطوة 4: عملاء الإعداد
عميل Android للهواتف الذكية
يحتوي مستودع git لتطبيق المنزل الذكي أيضًا على المصدر الخاص بعميل android ، لذا يمكنك تجميعه بنفسك. لكني أرفقت ملف APK لهذه الخطوة ، مما يجعل الأمر أسهل. في المرة الأولى التي تبدأ فيها تشغيل التطبيق ، يطلب منك خادمًا ، كما في الصورة الأولى أعلاه. أدخل عنوان url الخاص بالخادم ورمز الأمان.
يجب أن يكون عليه. يمكنك الآن الوصول إلى الخادم والتحكم في شقتك وتشغيل الموسيقى ومشاهدة مقاطع الفيديو عن بُعد على Raspberry Pi. لاحظ أنه يمكنك إضافة عناصر واجهة مستخدم إلى شاشتك الرئيسية ، مما يجعل المفاتيح والتحكم في الموسيقى أكثر سهولة.
عميل Smartwatch Pebble
المصدر الخاص بالعميلين المرصوفين بالحصى مستضاف على جيثب. يعرض أحد التطبيقات ملف الموسيقى الجاري تشغيله: https://github.com/dabastynator/PebbleRemoteMusic… يتيح لك هذا أيضًا الإيقاف المؤقت / التشغيل ورفع / خفض مستوى الصوت.
يقوم التطبيق الثاني بتشغيل ثلاثة إجراءات: https://github.com/dabastynator/PebbleControl أسماء المشغلات هي: mobile.come_home mobile.leaving و mobile.go_to_bed. إذا قمت بتعريف قواعد الحدث لهذا المشغل في ملف التكوين الخاص بك ، فإنك تقوم بتشغيلها بواسطة ساعتك.
كلها مفتوحة المصدر ، لكنك لست بحاجة إلى تجميعها بنفسك ، لقد قمت أيضًا بإرفاق تطبيقات pebble. قم بتنزيل ملفات PBW بهاتفك الذكي ، يجب أن يقوم هاتفك بتثبيتها على ساعتك. تحتاج تطبيقات الحصاة إلى تكوينات للتحدث إلى الخادم. لقد أرفقت لقطة شاشة كيف تبدو إعداداتي.
عميل Smartwatch Garmin
هناك أيضًا عميل متاح لـ Garmin Smartwatches. التطبيق متاح في متجر تطبيقات Garmin connect ويمكن تثبيته هنا:
apps.garmin.com/en-US/apps/c745527d-f2af-4…
عميل المرآة الذكية
لقد قمت بالفعل بإنشاء تعليمات تشرح كيفية إنشاء Smart Mirror ، راجع هذا https://www.instructables.com/id/Smart-Mirror-by-R … الكود المصدري مستضاف أيضًا على github: https:// github.com/dabastynator/SmartMirror. يقرأ برنامج Smart Mirror التكوين من الملف smart_config.js الذي ليس جزءًا من مستودع git. يجب أن يبدو محتوى ملف التكوين مثل هذه القائمة:
var mOpenWeatherKey = 'your-open-wheather-key' ؛
var mSecurity = 'your-security-token' ؛
يجب عليك أيضًا ضبط أول سطرين من الملف smart_mirror.js لتحديد عنوان IP لخادم Smart Home والموقع للحصول على الطقس المناسب.
المزيد من العملاء
تطبيق الخادم هو خادم ويب بسيط. يمكّنك هذا من تشغيل الإجراءات من أي عميل تريده عن طريق مكالمات ويب بسيطة. في الفيديو التوضيحي ، أعرض أداة تطبيق android بالاشتراك مع AutoVoice. يتيح لي ذلك تشغيل الأحداث بأوامر صوتية بسيطة. على سبيل المثال ، يمكن أن تؤدي عبارة "ok google ، حان وقت النوم" إلى تشغيل 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: الخاتمة
لا تزال هناك بعض الميزات التي يجب تنفيذها: نظرًا لأن الخادم يوفر فقط واجهة ويب بسيطة ، يقوم عملاء واجهة برمجة تطبيقات الويب بالكثير من الاقتراع. لتقليل الاقتراع ، أريد تكامل MQTT لإعلام أفضل. يجب أيضًا أن تعمل مزودات طاقة wifi بشكل أكثر موثوقية من مزودات طاقة RC لأن التحكم عن بعد هو مجرد وسيلة اتصال ذات اتجاه واحد.
إنه يجعل الكثير من المرح في التطوير لهذا المشروع. ومن الرائع جدًا التحكم في الشقة بواسطة عدة أجهزة ، حتى لو تعطل اتصال الإنترنت.
موصى به:
كيفية جعل المنزل الذكي باستخدام وحدة التحكم في ترحيل Arduino - أفكار أتمتة المنزل: 15 خطوة (بالصور)
كيفية جعل المنزل الذكي باستخدام وحدة التحكم في ترحيل Arduino | أفكار أتمتة المنزل: في مشروع أتمتة المنزل هذا ، سنصمم وحدة ترحيل منزلية ذكية يمكنها التحكم في 5 أجهزة منزلية. يمكن التحكم في وحدة الترحيل هذه من الهاتف المحمول أو الهاتف الذكي أو جهاز التحكم عن بعد بالأشعة تحت الحمراء أو جهاز التحكم عن بعد في التلفزيون أو المفتاح اليدوي. يمكن لهذا التتابع الذكي أيضًا أن يستشعر r
المنزل الذكي مع الأردوينو: 11 خطوة (بالصور)
المنزل الذكي باستخدام Arduino: مرحبًا ، سأوضح لك كيفية بناء منزلك الذكي. يُظهر درجة الحرارة في الداخل والخارج ، إذا كانت النافذة مفتوحة أو مغلقة ، ويظهر عندما تمطر وتنبيه عندما يتحرك مستشعر PIR. لقد أنشأت التطبيق على Android من أجل
المنزل الذكي مع Raspberry Pi: 5 خطوات
SmartHome مع Raspberry Pi: بالنسبة لهذا المشروع ، قمت بإنشاء منزل ذكي يمكن تشغيله بواسطة موقع ويب وجوال. لهذا أستخدم Raspberry PI كقاعدة بيانات وخادم ويب
Raspberry Pi - المنزل الذكي: 5 خطوات
Raspberry Pi - Smart House: تم تجهيز Raspberry Pi Smart House Project بالعديد من الميزات المختلفة التي تتيح للمستخدم إمكانية تتبع منزله من أي مكان (عبر الإنترنت بالطبع!) على أي جهاز كمبيوتر / جهاز محمول. تتيح ميزات المنزل الذكي للمستخدم
مراقبة المنزل الذكي باستخدام Alexa و Arduino: 9 خطوات (بالصور)
مراقبة المنزل الذكي باستخدام Alexa و Arduino: في العالم الحالي يقضي الناس وقتًا أطول في مكان العمل بدلاً من منازلهم. ومن ثم هناك حاجة إلى نظام مراقبة المنزل حيث يمكن للناس التعرف على ظروف المنزل أثناء وجودهم في العمل. سيكون من الأفضل لو ج