جدول المحتويات:
- اللوازم
- الخطوة 1: بناء الدائرة
- الخطوة 2: تسجيل درجة حرارة وحدة المعالجة المركزية باستخدام ThingSpeak
- الخطوة 3: الحصول على درجة حرارة وحدة المعالجة المركزية من Raspberry Pi باستخدام Python
- الخطوة 4: التحكم في المروحة حسب درجة الحرارة
- الخطوة 5: كود Python النهائي
- الخطوة 6: مراقبة البيانات عبر Thingspeak Cloud
- الخطوة 7: قم بتشغيل Python Script عند بدء التشغيل
فيديو: التحكم الذكي في Raspberry Pi Fan باستخدام Python & Thingspeak: 7 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:38
لمحة موجزة
بشكل افتراضي ، يتم توصيل المروحة مباشرة بـ GPIO - وهذا يعني تشغيلها المستمر. على الرغم من التشغيل الهادئ نسبيًا للمروحة ، فإن تشغيلها المستمر ليس استخدامًا فعالًا لنظام التبريد النشط. في الوقت نفسه ، قد يكون التشغيل المستمر للمروحة أمرًا مزعجًا. أيضًا ، إذا تم إيقاف تشغيل Raspberry Pi ، فستظل المروحة تعمل إذا تم توصيل الطاقة.
ستوضح هذه المقالة كيفية تحويل نظام التبريد الحالي إلى نظام ذكي ، باستخدام معالجات بسيطة وغير معقدة ، ولن يتم تشغيله إلا عندما يحتاجه المعالج حقًا. سيتم تشغيل المروحة فقط في حالة الاستخدام الكثيف ، وبالتالي تقليل استهلاك طاقة المروحة والضوضاء. كما تعمل على إطالة عمر المروحة بإيقاف تشغيلها عند عدم الحاجة إليها.
ماذا ستتعلم
كيفية تنفيذ نص Python للتحكم في المروحة بناءً على درجة الحرارة الحالية لوحدة المعالجة المركزية Raspberry باستخدام التحكم في التشغيل مع التباطؤ في درجة الحرارة. كيفية نقل البيانات من RaspberryPi الخاص بك إلى Things Speak Cloud.
اللوازم
المكونات التي ستكون مطلوبة لهذا المشروع هي كما يلي
- راسبيري باي 4 كمبيوتر موديل بي 4 جيجا
- الترانزستور NPN S8050330 أوم المقاوم
- غلاف من الألومنيوم المعدني من ارمور بمراوح مزدوجة لـ Raspberry Pi
- كابلات توصيل
- اللوح
الخطوة 1: بناء الدائرة
الدائرة بسيطة للغاية. يتم قطع الطاقة عن المروحة باستخدام ترانزستور NPN. في هذا التكوين ، يعمل الترانزستور كمفتاح منخفض الجانب. المقاوم مطلوب فقط للحد من التيار من خلال GPIO. يبلغ الحد الأقصى للإنتاج الحالي لـ GPIO الخاص بـ Raspberry Pi 16 مللي أمبير. لقد استخدمت 330 أوم وهو ما يعطينا تيار أساسي يبلغ حوالي (5-0.7) / 330 = 13 مللي أمبير. لقد اخترت ترانزستور NPN S8050 ، لذا لا يمثل تبديل حمولة 400 مللي أمبير من كلا المراوح مشكلة.
الخطوة 2: تسجيل درجة حرارة وحدة المعالجة المركزية باستخدام ThingSpeak
ThingSpeak هو عبارة عن منصة للمشاريع القائمة على مفهوم إنترنت الأشياء. يتيح لك هذا النظام الأساسي إنشاء تطبيقات بناءً على البيانات التي تم جمعها من أجهزة الاستشعار. تشمل الميزات الرئيسية لـ ThingSpeak ما يلي: جمع البيانات في الوقت الفعلي ومعالجة البيانات والتصور. لا تسمح لك ThingSpeak API بإرسال البيانات وتخزينها والوصول إليها فحسب ، بل توفر أيضًا طرقًا إحصائية متنوعة لمعالجتها.
يمكن لـ ThingSpeak دمج الأجهزة والخدمات الشائعة مثل:
- اردوينو
- توت العليق بي
- oBridge / RealTime.io
- عفريت كهربائي
- تطبيقات الجوال والويب
- الشبكات الاجتماعية
- تحليل البيانات في MATLAB
قبل أن نبدأ ، أنت بحاجة إلى حساب في ThingSpeak.
- انتقل إلى الرابط التالي وقم بالتسجيل في ThingSpeak.
- بعد تنشيط حسابك ، قم بتسجيل الدخول.
- انتقل إلى القنوات -> قنواتي
- انقر على زر قناة جديدة.
- أدخل الاسم والوصف وحقول البيانات التي تريد تحميلها
- انقر فوق زر حفظ القناة لحفظ جميع الإعدادات الخاصة بك.
نحتاج إلى مفتاح API ، والذي سنضيفه لاحقًا إلى كود Python من أجل تحميل درجة حرارة وحدة المعالجة المركزية الخاصة بنا إلى سحابة Thingspeak.
انقر فوق علامة التبويب API Keys للحصول على Write API Key
بمجرد حصولك على مفتاح Write API ، نكون جاهزين تقريبًا لتحميل بياناتنا.
الخطوة 3: الحصول على درجة حرارة وحدة المعالجة المركزية من Raspberry Pi باستخدام Python
يعتمد البرنامج النصي على استرداد درجة حرارة المعالج ، والتي تحدث كل ثانية. يمكن الحصول عليها من المحطة الطرفية عن طريق تشغيل الأمر vcgencmd مع المعلمة Meas_temp.
قياس vcgencmd
تم استخدام مكتبة Subprocess.check_output () لتنفيذ الأمر ثم استخدام التعبير العادي لاستخراج القيمة الفعلية من السلسلة التي تم إرجاعها.
من check_output استيراد عملية فرعية
من إعادة الاستيراد findalldef get_temp (): temp = check_output (["vcgencmd"، "Meas_temp"]). فك الشفرة () temp = float (findall ('\ d + \. / d +'، temp) [0]) العودة (temp)) طباعة (get_temp ())
بعد جلب قيمة درجة الحرارة ، يجب إرسال البيانات إلى سحابة ThingSpeak. استخدم Write API Key لتغيير متغير myApi في كود Python أدناه.
من طلب استيراد urllib
من إعادة الاستيراد ، تجد الكل من وقت استيراد السكون من استيراد العملية الفرعية check_output myAPI = '################' baseURL = 'https://api.thingspeak.com/update؟api_key=٪ s '٪ myAPIdef get_temp (): temp = check_output (["vcgencmd"، "Meas_temp"]). فك التشفير () temp = float (findall (' / d + \. / d + '، temp) [0]) رجوع (temp)) جرب: while True: temp = get_temp () conn = request.urlopen (baseURL + '& field1 =٪ s'٪ (temp)) print (str (temp)) conn.close () sleep (1) باستثناء KeyboardInterrupt: print ("خروج مع الضغط على Ctrl + C")
الخطوة 4: التحكم في المروحة حسب درجة الحرارة
يقوم نص Python الموضح أدناه بتنفيذ المنطق الذي يقوم بتشغيل المروحة عندما ترتفع درجة الحرارة فوق tempOn وإيقاف تشغيلها فقط عندما تنخفض درجة الحرارة إلى ما دون العتبة. بهذه الطريقة ، لن يتم تشغيل وإيقاف المروحة بسرعة.
استيراد RPi. GPIO كـ GPIO
استيراد النظام من إعادة الاستيراد ، البحث عن كل شيء من وقت استيراد السكون من استيراد العملية الفرعية check_output def get_temp (): temp = check_output (["vcgencmd"، "Meas_temp"]). فك التشفير () temp = float (findall ('\ d + \. / d + '، temp) [0]) العودة (temp) حاول: GPIO.setwarnings (False) tempOn = 50 threshold = 10 controlPin = 14 pinState = False GPIO.setmode (GPIO. BCM) GPIO.setup (controlPin ، GPIO. OUT ، الأولي = 0) بينما صحيح: temp = get_temp () if temp> tempOn وليس pinState أو temp <tempOn - العتبة و pinState: pinState = not pinState GPIO.output (controlPin ، pinState) print (str (temp) + "" + str (pinState)) سكون (1) باستثناء KeyboardInterrupt: print ("خروج الضغط على Ctrl + C") باستثناء: print ("Other Exception") print ("--- بدء بيانات الاستثناء:") traceback.print_exc (limit = 2 ، file = sys.stdout) print ("--- إنهاء بيانات الاستثناء:") أخيرًا: طباعة ("CleanUp") GPIO.cleanup () print ("نهاية البرنامج")
الخطوة 5: كود Python النهائي
يمكن العثور على كود python الرئيسي في حساب GitHub الخاص بي في الرابط التالي. تذكر أن تضع مفتاح API الخاص بك.
- قم بتسجيل الدخول إلى لوحة Raspberry PI الخاصة بك
- قم بتشغيل الأمر التالي على المحطة
python3 cpu.py
الخطوة 6: مراقبة البيانات عبر Thingspeak Cloud
بعد فترة ، افتح قناتك على ThingSpeak وسترى تحميل درجة الحرارة في سحابة Thingspeak في الوقت الفعلي.
الخطوة 7: قم بتشغيل Python Script عند بدء التشغيل
للقيام بذلك ، في نهاية الملف /etc/rc.local:
sudo nano /etc/rc.local
تحتاج إلى وضع أمر بدء البرنامج النصي أمام مخرج السطر 0:
sudo python / home/pi/cpu.py &
يعد وجود الرمز & في نهاية الأمر إلزاميًا ، لأنه علامة لبدء العملية في الخلفية. بعد إعادة التشغيل ، سيتم تشغيل البرنامج النصي تلقائيًا وسيتم تشغيل المروحة عند استيفاء الشروط المحددة.
موصى به:
افعلها بنفسك -- كيفية صنع روبوت عنكبوت يمكن التحكم فيه باستخدام الهاتف الذكي باستخدام Arduino Uno: 6 خطوات
افعلها بنفسك || كيف تصنع روبوتًا عنكبوتًا يمكن التحكم فيه باستخدام الهاتف الذكي باستخدام Arduino Uno: أثناء صنع روبوت العنكبوت ، يمكن للمرء أن يتعلم الكثير من الأشياء عن الروبوتات ، مثل صنع الروبوتات هو أمر ترفيهي بالإضافة إلى كونه صعبًا. سنشرح لك في هذا الفيديو كيفية صنع روبوت عنكبوت ، يمكننا تشغيله باستخدام هاتفنا الذكي (Androi
كيفية جعل المنزل الذكي باستخدام وحدة التحكم في ترحيل Arduino - أفكار أتمتة المنزل: 15 خطوة (بالصور)
كيفية جعل المنزل الذكي باستخدام وحدة التحكم في ترحيل Arduino | أفكار أتمتة المنزل: في مشروع أتمتة المنزل هذا ، سنصمم وحدة ترحيل منزلية ذكية يمكنها التحكم في 5 أجهزة منزلية. يمكن التحكم في وحدة الترحيل هذه من الهاتف المحمول أو الهاتف الذكي أو جهاز التحكم عن بعد بالأشعة تحت الحمراء أو جهاز التحكم عن بعد في التلفزيون أو المفتاح اليدوي. يمكن لهذا التتابع الذكي أيضًا أن يستشعر r
وميض مفتاح الضوء القابل للتركيب بسهولة: يتم التحكم في الهاتف الذكي باستخدام BLYNK: 10 خطوات
وميض مفتاح الضوء القابل للتثبيت السهل: التحكم في الهاتف الذكي باستخدام BLYNK: أصبحت أجهزة إنترنت الأشياء أكثر شيوعًا بشكل سريع ، فلماذا لا تتعلم وتصنع أجهزة إنترنت الأشياء الخاصة بك من مواد رخيصة والعمل الجاد للقيام بأشياء لم تستطع القيام بها من قبل أنا وأسمي Szehuai أجد نفسي دائمًا على وشك النوم ، لكن
ESP8266 RGB LED STRIP WIFI التحكم - NODEMCU كجهاز تحكم عن بعد بالأشعة تحت الحمراء لشريط LED يتم التحكم فيه عبر Wifi - RGB LED STRIP للتحكم في الهاتف الذكي: 4 خطوات
ESP8266 RGB LED STRIP WIFI التحكم | NODEMCU كجهاز تحكم عن بعد بالأشعة تحت الحمراء لشريط LED يتم التحكم فيه عبر Wifi | RGB LED STRIP Smartphone Control: مرحبًا يا رفاق في هذا البرنامج التعليمي سوف نتعلم كيفية استخدام nodemcu أو esp8266 كجهاز تحكم عن بعد بالأشعة تحت الحمراء للتحكم في شريط RGB LED وسيتم التحكم في Nodemcu بواسطة الهاتف الذكي عبر wifi. لذلك يمكنك بشكل أساسي التحكم في RGB LED STRIP بهاتفك الذكي
& acirc؛ & ndash؛ & rsquo؛. :: *، Awesome Design (Microsoft Paint)، * ::. & acirc؛ & ndash؛ & rsquo ؛: 4 خطوات
& acirc؛ & ndash؛ & rsquo؛. :: *، Awesome Design (Microsoft Paint)، * ::. & acirc؛ & ndash؛ & rsquo ؛: سأوضح لك كيفية عمل تصميم رائع باستخدام طلاء Microsoft ، أو مجرد قلم رصاص وورقة! ! ملاحظة. يرجى تقييم والتصويت لمسابقة الكتاب. مليون شكرا