جدول المحتويات:

أتمتة المنزل باستخدام Raspberry Pi باستخدام لوحة الترحيل: 7 خطوات
أتمتة المنزل باستخدام Raspberry Pi باستخدام لوحة الترحيل: 7 خطوات

فيديو: أتمتة المنزل باستخدام Raspberry Pi باستخدام لوحة الترحيل: 7 خطوات

فيديو: أتمتة المنزل باستخدام Raspberry Pi باستخدام لوحة الترحيل: 7 خطوات
فيديو: The SMARTEST Home Automation System 😎😎 with FAN Speed Control using ESP32 Blynk | IoT Project 2022 2024, شهر نوفمبر
Anonim
أتمتة المنزل مع Raspberry Pi باستخدام لوحة الترحيل
أتمتة المنزل مع Raspberry Pi باستخدام لوحة الترحيل

يريد عدد كبير من الناس راحة كبيرة ولكن بأسعار معقولة. نشعر بالكسل لإضاءة المنازل كل مساء عند غروب الشمس وفي صباح اليوم التالي ، وإطفاء الأنوار مرة أخرى أو تشغيل / إيقاف تشغيل مكيف الهواء / المروحة / المدافئ كما كان الطقس أو درجة حرارة الغرفة.

يوجد هنا حل غير مكلف لتجنب هذا العمل الإضافي المتمثل في إيقاف تشغيل الأجهزة عند الحاجة. إنه لأتمتة منازلك بتكاليف أقل نسبيًا باستخدام منتجات التوصيل والتشغيل البسيطة. يعمل عندما ترتفع درجة الحرارة أو تنخفض ، يتم تشغيل مكيف الهواء أو السخان ، على التوالي. أيضًا ، عند الحاجة ، سيساعدك على تشغيل أو إضاءة منزلك دون تشغيلها يدويًا. ويمكن التحكم في العديد من الأجهزة. أتمتة العالم. دعونا نبدأ منزلك.

الخطوة 1: الأجهزة المطلوبة

الأجهزة مطلوبة
الأجهزة مطلوبة
الأجهزة مطلوبة
الأجهزة مطلوبة
الأجهزة مطلوبة
الأجهزة مطلوبة

سوف نستخدم:

فطيرة التوت

Raspberry Pi هو جهاز كمبيوتر منفرد يعمل بنظام Linux. يحتوي هذا الكمبيوتر الصغير على قوة في تسجيل الطاقة ، ويستخدم كقطعة من التمارين الإلكترونية ، وعمليات الكمبيوتر مثل جداول البيانات ، ومعالجة الكلمات ، وتصفح الويب ، والبريد الإلكتروني ، والألعاب

I2C Shield أو رأس I2C

يوفر محول INPI2 (محول I2C) Raspberry Pi 2/3 منفذ I²C للاستخدام مع أجهزة I2C متعددة

وحدة تحكم التتابع I2C MCP23008

MCP23008 من Microchip عبارة عن موسع منفذ متكامل يتحكم في ثمانية مرحلات عبر ناقل I²C. يمكنك إضافة المزيد من المرحلات ، والإدخال / الإخراج الرقمي ، والمحولات التناظرية إلى الرقمية ، وأجهزة الاستشعار ، والأجهزة الأخرى باستخدام منفذ التوسيع المدمج I²C

مستشعر درجة الحرارة MCP9808

MCP9808 عبارة عن مستشعر درجة حرارة عالي الدقة يوفر إشارات مستشعر خطية ومعايرة بتنسيق رقمي I²C

مستشعر الإنارة TCS34903

TCS34903 هو منتج من عائلة مستشعر الألوان يوفر قيمة مكون RGB للضوء واللون

كابل توصيل I2C

كابل توصيل I2C هو كبل رباعي الأسلاك مخصص لاتصالات I2C بين جهازي I2C المتصلين من خلاله

محول Micro USB

لتشغيل Raspberry Pi ، نحتاج إلى كابل Micro USB

محول طاقة 12 فولت للوحة الترحيل

تعمل وحدة تحكم الترحيل MCP23008 على طاقة خارجية 12 فولت ويمكن توفير ذلك باستخدام محول طاقة بجهد 12 فولت

يمكنك شراء المنتج بالضغط عليها. أيضًا ، يمكنك العثور على المزيد من المواد الرائعة في Dcube Store.

الخطوة 2: ربط الأجهزة

ربط الأجهزة
ربط الأجهزة
ربط الأجهزة
ربط الأجهزة
ربط الأجهزة
ربط الأجهزة
ربط الأجهزة
ربط الأجهزة

الاتصالات المطلوبة (راجع الصور) هي كما يلي:

  1. سيعمل هذا على I2C. خذ درع I2C لـ Raspberry pi وقم بتوصيله برفق بدبابيس GPIO في Raspberry Pi.
  2. قم بتوصيل أحد طرفي كبل I2C بالمنفذ الداخلي لـ TCS34903 والطرف الآخر بغطاء I2C.
  3. قم بتوصيل وعاء مستشعر MCP9808 بمخرج TCS34903 باستخدام كابل I2C.
  4. قم بتوصيل وعاء MCP23008 بمخرج مستشعر MCP9808 باستخدام كابل I2C.
  5. قم أيضًا بتوصيل كابل Ethernet بـ Raspberry Pi. يمكن أيضًا استخدام موجه Wi-Fi لنفسه.
  6. بعد ذلك ، قم بتشغيل Raspberry Pi باستخدام محول Micro USB ولوحة الترحيل MCP23008 باستخدام محول 12 فولت.
  7. أخيرًا ، قم بتوصيل المصباح بالمرحل الأول والمروحة أو السخان بالمرحل الثاني. يمكنك توسيع الوحدة أو توصيل المزيد من الأجهزة بالمرحلات.

الخطوة 3: التواصل باستخدام بروتوكول I2C

لتمكين Raspberry Pi I2C ، تابع كما هو مذكور أدناه:

  1. في Terminal ، اكتب الأمر التالي لفتح إعدادات التكوين: sudo raspi-config
  2. حدد "خيارات متقدمة" هنا.
  3. حدد "I2C" وانقر فوق "نعم".
  4. أعد تشغيل النظام لإعداده وفقًا للتغييرات التي تم إجراؤها باستخدام الأمر إعادة التشغيل.

الخطوة 4: برمجة الوحدة

تتمثل مكافأة استخدام Raspberry Pi في أنه يوفر لك المرونة في اختيار لغة البرمجة التي تريد البرمجة بها لربط جهاز الاستشعار بـ Raspberry Pi. من خلال تسخير ميزة Raspberry Pi ، نعرض هنا برمجتها في Java.

لإعداد بيئة Java ، قم بتثبيت "pi4j libraby" من https://pi4j.com/1.2/index.html Pi4j هي مكتبة إدخال / إخراج Java لـ Raspberry Pi. طريقة سهلة وأكثرها تفضيلاً لتثبيت "pi4j Library "هو تنفيذ الأمر الذي لم يرد ذكره مباشرة في Raspberry Pi الخاص بك:

curl -s get.pi4j.com | سودو باش

أو

curl -s get.pi4j.com

استيراد com.pi4j.io.i2c. I2CBus ؛ استيراد com.pi4j.io.i2c. I2CDevice ؛ استيراد com.pi4j.io.i2c. I2CFactory ؛ استيراد java.io. IOException ؛ فئة MCP23008 {public static void main (String args ) تطرح استثناء {int status، value، value1 = 0x00؛ // إنشاء حافلة I2C I2CBus = I2CFactory.getInstance (I2CBus. BUS_1) ؛ // احصل على جهاز I2C ، عنوان MCP23008 I2C هو 0x20 (32) I2CDevice device = bus.getDevice (0x20) ؛ // احصل على جهاز I2C ، عنوان MCP9808 I2C هو 0x18 (24) I2CDevice MCP9808 = bus.getDevice (0x18) ؛ // احصل على جهاز I2C ، عنوان TCS34903 I2C هو 0x39 (55) I2CDevice TCS34903 = bus.getDevice (0x39) ؛ // تعيين تسجيل وقت الانتظار = 0xff (255) ، وقت الانتظار = 2.78 مللي ثانية TCS34903.write (0x83، (بايت) 0xFF) ؛ // تمكين الوصول إلى قناة الأشعة تحت الحمراء TCS34903.write (0xC0 ، (بايت) 0x80) ؛ // تعيين تسجيل Atime إلى 0x00 (0) ، الحد الأقصى للتعداد = 65535 TCS34903.write (0x81، (byte) 0x00) ؛ // الطاقة ، تمكين ADC ، انتظر تمكين TCS34903.write (0x80 ، (بايت) 0x0B) ؛ Thread.sleep (250) ؛ // قراءة 8 بايت من البيانات مع بيانات واضحة / الأشعة تحت الحمراء LSB البايت الأول data1 = بايت جديد [8] ؛ // قراءة بايت بيانات درجة الحرارة البيانات = بايت جديد [2] ؛ الحالة = قراءة الجهاز (0x09) ؛ // تكوين جميع المسامير كـ OUTPUT device.write (0x00 ، (بايت) 0x00) ؛ Thread.sleep (500) ؛ بينما (صواب) {MCP9808.read (0x05 ، بيانات ، 0 ، 2) ؛ // تحويل البيانات int temp = ((data [0] & 0x1F) * 256 + (data [1] & 0xFF)) ؛ إذا (درجة الحرارة> 4096) {درجة الحرارة - = 8192 ؛ } cTemp مزدوج = temp * 0.0625 ؛ System.out.printf ("درجة الحرارة بالدرجة المئوية:٪.2f C٪ n"، cTemp)؛ TCS34903.read (0x94 ، data1 ، 0 ، 8) ؛ مزدوج ir = ((data1 [1] & 0xFF) * 256) + (data1 [0] & 0xFF) * 1.00 ؛ أحمر مزدوج = ((data1 [3] & 0xFF) * 256) + (data1 [2] & 0xFF) * 1.00 ؛ أخضر مزدوج = ((data1 [5] & 0xFF) * 256) + (data1 [4] & 0xFF) * 1.00 ؛ أزرق مزدوج = ((data1 [7] & 0xFF) * 256) + (data1 [6] & 0xFF) * 1.00 ؛ // حساب الإنارة المزدوجة للإضاءة = (-0.32466) * (أحمر) + (1.57837) * (أخضر) + (-0.73191) * (أزرق) ؛ System.out.printf ("الإضاءة هي:٪.2f lux٪ n" ، إضاءة)؛ إذا (الإضاءة 30) {القيمة = القيمة 1 | (0x01) ؛ } else {value = value1 & (0x02)؛ } device.write (0x09 ، قيمة (بايت)) ؛ Thread.sleep (300) ؛ }}}

الخطوة الخامسة: إنشاء الملف وتشغيل الكود

  1. لإنشاء ملف جديد حيث يمكن كتابة / نسخ الكود ، سيتم استخدام الأمر التالي: sudo nano FILE_NAME.javaEg. sudo nano MCP23008.java
  2. بعد إنشاء الملف ، يمكننا إدخال الكود هنا.
  3. انسخ الكود الوارد في الخطوة السابقة والصقه في النافذة هنا.
  4. اضغط على Ctrl + X ثم "y" للخروج.
  5. ثم قم بترجمة الكود باستخدام الأمر التالي: pi4j FILE_NAME.javaEg. pi4j MCP23008.java
  6. إذا لم تكن هناك أخطاء ، فقم بتشغيل البرنامج باستخدام الأمر الذي تمت الإشارة إليه أدناه: pi4j FILE_NAMEEg. pi4j MCP23008.java

الخطوة 6: التطبيقات

يسمح لك هذا النظام بالتحكم في الأجهزة دون الذهاب إلى مفاتيح الحائط. يتمتع هذا بقدرات واسعة حيث تتم جدولة أوقات تشغيل الأجهزة أو إيقاف تشغيلها تلقائيًا. هناك عدد قليل من التطبيقات لهذه الوحدة من المنازل إلى الصناعات والمستشفيات ومحطات السكك الحديدية والعديد من الأماكن التي يمكن أتمتتها بطريقة سهلة وبأسعار معقولة من خلال مكونات التوصيل والتشغيل الخاصة بها.

الخطوة 7: الموارد

لمزيد من المعلومات حول TSL34903 ، MCP9808 MCP23008 Relay Controller ، تحقق من الروابط أدناه:

  • ورقة بيانات TSL34903
  • ورقة بيانات MCP9808
  • ورقة بيانات MCP23008

موصى به: