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

Super Simple Raspberry Pi 433MHz أتمتة المنزل: 7 خطوات
Super Simple Raspberry Pi 433MHz أتمتة المنزل: 7 خطوات

فيديو: Super Simple Raspberry Pi 433MHz أتمتة المنزل: 7 خطوات

فيديو: Super Simple Raspberry Pi 433MHz أتمتة المنزل: 7 خطوات
فيديو: Тасмотизация Sonoff SV 2024, شهر نوفمبر
Anonim
Super Simple Raspberry Pi 433MHz أتمتة المنزل
Super Simple Raspberry Pi 433MHz أتمتة المنزل

يعد هذا البرنامج التعليمي واحدًا من بين العديد من البرامج التعليمية عندما يتعلق الأمر باستخدام Raspberry Pi للتحكم في الأجهزة اللاسلكية في جميع أنحاء المنزل. مثل كثيرين آخرين ، سيُظهر لك كيفية استخدام جهاز إرسال / مستقبل رخيص متصل بـ Pi الخاص بك للتفاعل مع الأجهزة التي تعمل على نطاق تردد الراديو 433 ميجاهرتز المستخدم بشكل شائع. سيوضح لك على وجه التحديد كيفية تشغيل أي جهاز كهربائي أو إيقاف تشغيله باستخدام Pi الخاص بك عن طريق إرسال الأوامر إلى مجموعة من مقابس الطاقة التي يتم التحكم فيها عن بُعد 433 ميجا هرتز.

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

هذا ما يدور حوله هذا البرنامج التعليمي. يتكون جانب البرنامج في هذا النظام من نصي برمجي Python بسيطين للغاية - أحدهما لاستقبال الإشارات وتسجيلها ، والآخر لإرسال هذه الإشارات مرة أخرى إلى مآخذ الطاقة اللاسلكية. يعتمد الاستقبال / الإرسال الفعلي للإشارة فقط على مكتبة RPi. GPIO سهلة الاستخدام والتي ، على الأقل بالنسبة لي ، تم تثبيتها مسبقًا مع Raspbian. يمكن أيضًا استيراد هذه المكتبة مباشرة إلى Python.

لهذا المشروع سوف تحتاج:

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

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

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

بعض ملحقات بناء الدوائر. أوصي باستخدام لوح التجارب وبعض كبلات التوصيل لتسهيل عملية بناء الدائرة قدر الإمكان.

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

الخطوة 1: إعداد وحدة الاستقبال

إعداد وحدة الاستقبال
إعداد وحدة الاستقبال

قبل أن تتمكن من استخدام Pi لإرسال أوامر إلى مآخذ التحكم عن بعد ، تحتاج إلى معرفة الإشارات المحددة التي تستجيب لها. يتم شحن معظم المقابس التي يتم التحكم فيها عن بُعد بسماعة يمكن استخدامها لتشغيل وحدات معينة أو إيقاف تشغيلها. في حالة تلك التي اشتريتها ، يحتوي الهاتف على أربعة صفوف من أزرار التشغيل / الإيقاف المقترنة ، كل منها يرسل إشارة ON أو OFF إلى وحدة مقبس معينة.

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

بمجرد معرفة كيفية تفاعل المقابس الخاصة بك مع الهاتف ، ستحتاج إلى استخدام وحدة الاستقبال 433 ميجاهرتز (في الصورة أعلاه) "لاستنشاق" الرموز التي يرسلها الهاتف. بمجرد تسجيل الأشكال الموجية لهذه الرموز ، يمكنك تكرارها باستخدام Python وإرسالها باستخدام وحدة الإرسال.

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

الصورة أعلاه تلخص إلى حد كبير الأسلاك. يمكن توصيل كل دبوس على جهاز الاستقبال مباشرة بالدبوس المقابل على Pi. أستخدم لوح توصيل وكابلات توصيل لجعل العملية أكثر أناقة. لاحظ أنه يمكنك اختيار أي دبوس بيانات GPIO للاتصال بأي من دبابيس جهاز الاستقبال المركزي. لقد استخدمت الدبوس المميز بـ "23" في رأس Pi الخاص بي.

هام: إذا قمت بتوصيل الدبوس الذي يحمل علامة '3v3' في الصورة أعلاه بدبوس جهد أعلى على Pi (على سبيل المثال 5v) ، فمن المحتمل أن تتلف Pi لأن دبابيس GPIO لا يمكنها تحمل الفولتية فوق 3v3. بدلاً من ذلك ، يمكنك تشغيله بجهد 5 فولت وإعداد مقسم جهد لإرسال جهد آمن إلى دبوس البيانات.

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

الخطوة الثانية: استنشاق رموز الهاتف

استنشاق رموز الجهاز
استنشاق رموز الجهاز

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

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

من تاريخ الاستيراد والوقت والتاريخ

استيراد matplotlib.pyplot مثل استيراد pyplot RPi. GPIO كـ GPIO

تم تضمين مكتبات RPi. GPIO و datetime في توزيع Raspbian الخاص بي ، ولكن كان علي تثبيت مكتبة matplotlib على النحو التالي:

sudo apt-get install python-matplotlib

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

عند تشغيله (باستخدام الأمر 'python ReceiveRF.py') ، فإنه سيهيئ دبوس GPIO المحدد كمدخل بيانات (دبوس 23 افتراضيًا). سيقوم بعد ذلك باستمرار بتجربة رقم التعريف الشخصي وتسجيل ما إذا كان يتلقى الرقم 1 أو 0 الرقمي. يستمر هذا لمدة محددة (5 ثوانٍ افتراضيًا). عند الوصول إلى هذا الحد الزمني ، سيتوقف البرنامج النصي عن تسجيل البيانات وسيغلق إدخال GPIO. ثم ينفذ القليل من المعالجة اللاحقة ويرسم قيمة المدخلات المستلمة مقابل الوقت. مرة أخرى ، إذا كانت لديك أسئلة حول ما يفعله البرنامج النصي ، فيمكنك على الأرجح الإجابة عليها بنفسك بعد النظر في كيفية عمله. لقد حاولت أن أجعل الكود سهل القراءة وبسيطًا قدر الإمكان.

ما عليك القيام به هو البحث عن الوقت الذي يشير فيه البرنامج النصي إلى أنه قد ** بدأ التسجيل **. بمجرد ظهور هذه الرسالة ، يجب أن تضغط مع الاستمرار على أحد الأزرار الموجودة على الهاتف لمدة ثانية تقريبًا. تأكد من حمله بالقرب من جهاز الاستقبال. بمجرد انتهاء البرنامج النصي من التسجيل ، سيستخدم matplotlib لرسم شكل موجة رسومي للإشارة التي تلقاها أثناء فترة التسجيل. يرجى ملاحظة أنه إذا كنت متصلاً بـ Pi الخاص بك باستخدام عميل SSH مثل PuTTY ، فستحتاج أيضًا إلى فتح تطبيق X11 للسماح بعرض شكل الموجة. أستخدم xMing لهذا (ولأشياء أخرى مثل المكتب عن بعد في Pi الخاص بي). للسماح بعرض الحبكة ، ما عليك سوى بدء xMing قبل تشغيل البرنامج النصي وانتظر ظهور النتائج.

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

الخطوة 3: نسخ الإشارة الناتجة

نسخ الإشارة الناتجة
نسخ الإشارة الناتجة

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

1 = short_on + long_off0 = long_on + short_off

انظر مرة أخرى إلى الشكل الموجي المسمى ، وسترى ما أعنيه. بمجرد أن تحدد الأنماط المكافئة في إشارتك ، كل ما عليك فعله هو عد الآحاد والأصفار لبناء التسلسل. عند نسخها ، يمكن كتابة الإشارة أعلاه على النحو التالي:

1111111111111010101011101

الآن تحتاج فقط إلى تكرار هذه العملية لتسجيل ونسخ الإشارات المقابلة للأزرار الأخرى على هاتفك ، وقد أكملت الجزء الأول من العملية!

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

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

لتحديد قيم التوقيت هذه ، يمكنك استخدام وظيفة التكبير / التصغير في نافذة matplotlib للتكبير بالكامل ووضع المؤشر فوق الأجزاء ذات الصلة من الإشارة. يجب أن تسمح لك قراءة موقع المؤشر في الجزء السفلي من النافذة بتحديد مدى عرض كل جزء من الإشارة الذي يتوافق مع فاصل زمني طويل أو قصير أو ممتد. لاحظ أن المحور x للمخطط يمثل الوقت ، والمكون x لقراءة المؤشر بوحدات الثواني. بالنسبة لي ، كانت العروض على النحو التالي (بالثواني):

  • تأجيل_ قصير = 0.00045
  • long_delay = 0.00090 (ضعف طول "قصير")
  • تمديد_تأجيل = 0.0096

الخطوة 4: إعداد وحدة الإرسال

إعداد وحدة الإرسال
إعداد وحدة الإرسال

بمجرد جمع الرموز وبيانات التوقيت الخاصة بك ، يمكنك فصل وحدة الاستقبال الخاصة بك لأنك لن تحتاج إليها بعد الآن. يمكنك بعد ذلك توصيل جهاز الإرسال مباشرة بدبابيس Pi GPIO ذات الصلة كما هو موضح في الصورة أعلاه. لقد اكتشفت أن المسامير الموجودة على وحدات الإرسال تحمل علامات ، مما يجعل العملية أسهل.

في هذه الحالة ، لا بأس من تشغيل الوحدة باستخدام مصدر 5 فولت من Pi لأن دبوس البيانات لن يرسل إشارات إلى Pi ، بل يستقبلها فقط. أيضًا ، سيوفر مصدر طاقة 5 فولت نطاق نقل أكبر من استخدام مصدر 3v3. مرة أخرى ، يمكنك توصيل دبوس البيانات بأي دبوس مناسب على Pi. لقد استخدمت رقم التعريف الشخصي 23 (كما هو الحال بالنسبة لجهاز الاستقبال).

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

بمجرد توصيل جهاز الإرسال بالأسلاك ، يتم الانتهاء من إعداد الأجهزة بالكامل! الشيء الوحيد المتبقي الآن هو وضع مآخذ التوصيل الخاصة بك حول المنزل وإلقاء نظرة على برنامج الإرسال.

الخطوة 5: إرسال الإشارات باستخدام ملف Pi

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

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

وقت الاستيراد

استيراد النظام استيراد RPi. GPIO كـ GPIO

توجد المعلومات التي سيتعين عليك تحريرها أسفل المكتبة التي تم استيرادها. إليك كيف تبدو بشكل افتراضي (هذه هي المعلومات المقابلة لمآخذ التوصيل الخاصة بي كما تم تحديدها باستخدام الخطوة 3):

a_on = '1111111111111010101011101'

a_off = '+1111111111111010101010111 "b_on =' +1111111111101110101011101" b_off = '+1111111111101110101010111 "c_on =' +1111111111101011101011101" c_off = '+1111111111101011101010111 "d_on =' +1111111111101010111011101" d_off = '+1111111111101010111010111 "short_delay = 0.00045 long_delay = 0.00090 extended_delay = 0.0096

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

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

لتشغيل البرنامج النصي ، يمكنك استخدام بناء جملة الأمر التالي:

python TransmitRF.py code_1 code_2…

يمكنك إرسال سلاسل تعليمات برمجية متعددة باستخدام تشغيل واحد للبرنامج النصي. على سبيل المثال ، لتشغيل مأخذ التوصيل (أ) و (ب) وإيقاف تشغيل المقبس (ج) ، قم بتشغيل البرنامج النصي باستخدام الأمر التالي:

python TransmitRF.py a_on b_on c_off

الخطوة 6: ملاحظة حول دقة التوقيت

كما ذكرنا ، فإن التوقيت بين نبضات التشغيل / الإيقاف المرسلة مهم للغاية. يستخدم البرنامج النصي TransmitRF.py وظيفة python time.sleep () لبناء أشكال الموجة مع فترات النبض الصحيحة ، ولكن تجدر الإشارة إلى أن هذه الوظيفة ليست دقيقة تمامًا. يمكن أن يعتمد الطول الذي يتسبب فيه البرنامج النصي في الانتظار قبل تنفيذ العملية التالية على حمل المعالج في تلك اللحظة المحددة. وهذا سبب آخر يجعل TransmitRF.py يرسل كل رمز عدة مرات - فقط في حالة عدم قدرة وظيفة time.sleep () على إنشاء مثيل معين من الكود بشكل صحيح.

أنا شخصياً لم أواجه أي مشكلة مع time.sleep () عندما يتعلق الأمر بإرسال الرموز. ومع ذلك ، أعلم أن خطأ time.sleep () الخاص بي يميل إلى حدوث خطأ يبلغ حوالي 0.1 مللي ثانية. لقد حددت ذلك باستخدام البرنامج النصي SleepTest.py المرفق والذي يمكن استخدامه لإعطاء تقدير لمدى دقة وظيفة Pi time.sleep (). بالنسبة لمآخذ التوصيل الخاصة التي يتم التحكم فيها عن بُعد ، كان أقصر تأخير أحتاجه للتنفيذ هو 0.45 مللي ثانية. كما قلت ، لم أواجه مشكلات مع مآخذ التوصيل غير المستجيبة ، لذلك يبدو أن 0.45 ± 0.1 مللي ثانية جيدة بدرجة كافية.

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

الخطوة 7: الخاتمة

استنتاج
استنتاج

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

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

بالنسبة لمعظم هذه المهام ، أستخدم وظيفة crontab في Linux. يتيح لك ذلك إعداد المهام المجدولة تلقائيًا لتشغيل البرنامج النصي TransmitRF.py في أوقات محددة. يمكنك أيضًا استخدام أمر Linux at لتشغيل المهام لمرة واحدة (والتي ، بالنسبة لي ، يجب تثبيتها بشكل منفصل باستخدام sudo apt-get install at '). على سبيل المثال ، لتشغيل السخان الخاص بي قبل نصف ساعة من انطلاق المنبه في صباح اليوم التالي ، كل ما علي فعله هو كتابة:

الساعة 05:30

بيثون TransmitRF.py c_on

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

موصى به: