সুচিপত্র:

পাইথন এবং থিংসপিক ব্যবহার করে রাস্পবেরি পাই ফ্যানের স্মার্ট কন্ট্রোল: 7 টি ধাপ
পাইথন এবং থিংসপিক ব্যবহার করে রাস্পবেরি পাই ফ্যানের স্মার্ট কন্ট্রোল: 7 টি ধাপ

ভিডিও: পাইথন এবং থিংসপিক ব্যবহার করে রাস্পবেরি পাই ফ্যানের স্মার্ট কন্ট্রোল: 7 টি ধাপ

ভিডিও: পাইথন এবং থিংসপিক ব্যবহার করে রাস্পবেরি পাই ফ্যানের স্মার্ট কন্ট্রোল: 7 টি ধাপ
ভিডিও: পাইথন দিয়ে অটোমেটিক সেলফি তোল ।। জাস্ট হাসি দিবা আর সেলফি তুলবা। কি মজা ! Python Project 2024, নভেম্বর
Anonim
পাইথন এবং থিংসপিক ব্যবহার করে রাস্পবেরি পাই ফ্যানের স্মার্ট কন্ট্রোল
পাইথন এবং থিংসপিক ব্যবহার করে রাস্পবেরি পাই ফ্যানের স্মার্ট কন্ট্রোল

সংক্ষিপ্ত

ডিফল্টরূপে, ফ্যানটি সরাসরি জিপিআইও -এর সাথে সংযুক্ত থাকে - এটি তার ধ্রুবক ক্রিয়াকলাপকে বোঝায়। ফ্যানের আপেক্ষিক শান্ত অপারেশন সত্ত্বেও, এর ক্রমাগত অপারেশন একটি সক্রিয় কুলিং সিস্টেমের কার্যকর ব্যবহার নয়। একই সময়ে, একটি ফ্যানের ক্রমাগত অপারেশন কেবল বিরক্তিকর হতে পারে। এছাড়াও, যদি রাস্পবেরি পাই বন্ধ থাকে, তবে বিদ্যুৎ সংযুক্ত থাকলেও ফ্যান কাজ করবে।

এই নিবন্ধটি দেখাবে কিভাবে, সহজ এবং জটিল ম্যানিপুলেশন ব্যবহার করে, একটি বিদ্যমান কুলিং সিস্টেমকে একটি স্মার্ট সিস্টেমে পরিণত করে, যা কেবল তখনই চালু হবে যখন প্রসেসরের সত্যিই প্রয়োজন হবে। ফ্যানটি তখনই চালু হবে যখন ভারী ব্যবহার হবে, এইভাবে ফ্যানের বিদ্যুৎ খরচ এবং শব্দ কমবে। এছাড়াও প্রয়োজনের সময় এটি বন্ধ রেখে ফ্যানের জীবন বাড়ানো।

আপনি যা শিখবেন

কিভাবে রাস্পবেরী সিপিইউ এর বর্তমান তাপমাত্রার উপর ভিত্তি করে ফ্যান নিয়ন্ত্রণ করার জন্য পাইথন স্ক্রিপ্ট বাস্তবায়ন করা যায় তাপমাত্রা হিস্টেরিসিসের সাথে অন-অফ কন্ট্রোল ব্যবহার করে।

সরবরাহ

এই প্রকল্পের জন্য আপনার প্রয়োজনীয় উপাদানগুলি নিম্নরূপ

  • রাস্পবেরি পাই 4 কম্পিউটার মডেল বি 4 জিবি
  • NPN ট্রানজিস্টর S8050330ohms প্রতিরোধক
  • রাস্পবেরি পাই এর জন্য দ্বৈত ভক্তদের সাথে আর্মার অ্যালুমিনিয়াম মেটাল কেস
  • জাম্পারের তার
  • ব্রেডবোর্ড

ধাপ 1: সার্কিট নির্মাণ

সার্কিট নির্মাণ
সার্কিট নির্মাণ
সার্কিট নির্মাণ
সার্কিট নির্মাণ

সার্কিট বেশ সহজ। NPN ট্রানজিস্টর ব্যবহার করে ফ্যানের বিদ্যুৎ বন্ধ হয়ে যায়। এই কনফিগারেশনে ট্রানজিস্টর লো-সাইড সুইচ হিসেবে কাজ করছে। জিপিআইও এর মাধ্যমে বর্তমানকে সীমাবদ্ধ করার জন্য প্রতিরোধকের প্রয়োজন হয়। রাস্পবেরি পাই এর জিপিআইওর সর্বোচ্চ বর্তমান আউটপুট 16mA। আমি 330 ওহম ব্যবহার করেছি যা আমাদের প্রায় (5-0.7)/330 = 13mA এর একটি বেস কারেন্ট দেয়। আমি একটি NPN ট্রানজিস্টর S8050 নির্বাচন করেছি, তাই উভয় ভক্ত থেকে 400mA লোড স্যুইচ করা কোন সমস্যা নয়।

ধাপ 2: থিংসস্পিক দিয়ে CPU তাপমাত্রা লগ করুন

ThingSpeak দিয়ে CPU তাপমাত্রা লগ করুন
ThingSpeak দিয়ে CPU তাপমাত্রা লগ করুন

থিংসস্পিক হল ইন্টারনেট অফ থিংস ধারণার উপর ভিত্তি করে প্রকল্পগুলির জন্য একটি প্ল্যাটফর্ম। এই প্ল্যাটফর্মটি আপনাকে সেন্সর থেকে সংগৃহীত ডেটার উপর ভিত্তি করে অ্যাপ্লিকেশন তৈরি করতে দেয়। থিংস্পিকের প্রধান বৈশিষ্ট্যগুলির মধ্যে রয়েছে: রিয়েল-টাইম ডেটা সংগ্রহ, ডেটা প্রসেসিং এবং ভিজ্যুয়ালাইজেশন। থিংস্পিক এপিআই আপনাকে কেবল ডেটা প্রেরণ, সঞ্চয় এবং অ্যাক্সেসের অনুমতি দেয় না, তবে সেগুলি প্রক্রিয়া করার জন্য বিভিন্ন পরিসংখ্যানগত পদ্ধতিও সরবরাহ করে।

ThingSpeak জনপ্রিয় ডিভাইস এবং পরিষেবাগুলিকে সংহত করতে পারে যেমন:

  • আরডুইনো
  • রাস্পবেরি পাই
  • oBridge / RealTime.io
  • বৈদ্যুতিক ছাপ
  • মোবাইল এবং ওয়েব অ্যাপ্লিকেশন
  • সামাজিক যোগাযোগ
  • ম্যাটল্যাবে ডেটা বিশ্লেষণ

আমরা শুরু করার আগে, ThingSpeak এ আপনার একটি অ্যাকাউন্ট প্রয়োজন।

  1. নিচের লিংকে যান এবং থিংসস্পিকে সাইন আপ করুন।
  2. আপনার অ্যাকাউন্ট সক্রিয় করার পরে, সাইন ইন করুন।
  3. চ্যানেলগুলিতে যান -> আমার চ্যানেল
  4. নিউ চ্যানেল বাটনে ক্লিক করুন।
  5. আপনি যে ডেটা আপলোড করতে চান তার নাম, বর্ণনা এবং ক্ষেত্র লিখুন
  6. আপনার সমস্ত সেটিংস সংরক্ষণ করতে চ্যানেল সংরক্ষণ করুন বোতামে ক্লিক করুন।

আমাদের একটি API কী প্রয়োজন, যা আমরা পরে আমাদের সিপিইউ তাপমাত্রা থিংসপিক ক্লাউডে আপলোড করার জন্য পাইথন কোডে যুক্ত করব।

API কী ট্যাবে ক্লিক করে API কী লিখুন

একবার আপনার কাছে API লেখার কী আছে, আমরা আমাদের ডেটা আপলোড করার জন্য প্রায় প্রস্তুত।

ধাপ 3: পাইথন ব্যবহার করে রাস্পবেরি পাই থেকে সিপিইউ তাপমাত্রা পাওয়া

স্ক্রিপ্টটি প্রসেসরের তাপমাত্রা পুনরুদ্ধারের উপর ভিত্তি করে, যা প্রতি সেকেন্ডে ঘটে। এটি পরিমাপ_টেম্প প্যারামিটারের সাথে vcgencmd কমান্ড চালানোর মাধ্যমে টার্মিনাল থেকে পাওয়া যাবে।

vcgencmd measure_temp

Subprocess.check_output () লাইব্রেরি কমান্ডটি চালানোর জন্য এবং তারপর রেগুলার এক্সপ্রেশন ব্যবহার করে রিটার্ন স্ট্রিং থেকে প্রকৃত মান বের করার জন্য ব্যবহার করা হয়েছিল।

subprocess আমদানি check_output থেকে

re import findalldef get_temp (): temp = check_output (["vcgencmd", "measure_temp"])।) মুদ্রণ (get_temp ())

তাপমাত্রার মান পাওয়ার পরে, থিংসস্পিক ক্লাউডে ডেটা পাঠাতে হবে। নীচের পাইথন কোডে myApi ভেরিয়েবল পরিবর্তন করতে আপনার লিখুন API কী ব্যবহার করুন।

urllib আমদানি অনুরোধ থেকে

পুনরায় আমদানি ফাইন্ডল থেকে সময় আমদানি ঘুম থেকে subprocess আমদানি check_output myAPI = '#################' baseURL = 'https://api.thingspeak.com/update?api_key=% s ' % myAPIdef get_temp (): temp = check_output (["vcgencmd", "measure_temp"])। চেষ্টা করুন: যখন True: temp = get_temp () conn = request.urlopen (baseURL + '& field1 = % s' % (temp)) print (str (temp)) conn.close () sleep (1) কীবোর্ড ছাড়া। ("Ctrl+C চেপে প্রস্থান করুন")

ধাপ 4: তাপমাত্রার উপর ভিত্তি করে ফ্যান নিয়ন্ত্রণ করা

নীচে দেখানো পাইথন স্ক্রিপ্ট যুক্তি প্রয়োগ করে যা ফ্যান চালু করে যখন তাপমাত্রা টেম্পোনের উপরে উঠে যায় এবং যখন তাপমাত্রা থ্রেশহোল্ডের নিচে নেমে যায় তখনই বন্ধ হয়ে যায়। এইভাবে, ফ্যান দ্রুত চালু এবং বন্ধ হবে না।

RPi. GPIO GPIO হিসাবে আমদানি করুন

সময় থেকে আমদানি sys আমদানি করুন ', temp) [0]) রিটার্ন (temp) চেষ্টা করুন: GPIO.setwarnings (মিথ্যা) tempOn = 50 threshold = 10 controlPin = 14 pinState = False GPIO.setmode (GPIO. BCM) GPIO.setup (controlPin, GPIO. OUT, প্রাথমিক = 0) যখন সত্য: temp = get_temp () যদি temp> tempOn এবং pinState বা temp <tempOn - threshold এবং pinState: pinState = pinState GPIO.output (controlPin, pinState) মুদ্রণ (str (temp) + "" + str (pinState)) ঘুম (1) KeyboardInterrupt ছাড়া: print ("Exit pressed Ctrl+C") ছাড়া: print ("Other Exception") print ("--- Start Exception Data:") traceback.print_exc (limit = 2, file = sys.stdout) print ("--- End Exception Data:") অবশেষে: print ("CleanUp") GPIO.cleanup () print ("প্রোগ্রাম শেষ")

ধাপ 5: চূড়ান্ত পাইথন কোড

প্রধান পাইথন কোডটি নীচের লিঙ্কে আমার গিটহাব অ্যাকাউন্টে পাওয়া যাবে। মনে রাখবেন আপনার নিজের লিখুন API কী।

  1. আপনার রাস্পবেরি পিআই বোর্ডে লগ ইন করুন
  2. টার্মিনালে নিম্নলিখিত কমান্ডটি চালান

পাইথন 3 cpu.py

ধাপ 6: থিংসপিক ক্লাউডের মাধ্যমে ডেটা পর্যবেক্ষণ করা

থিংসস্পিক ক্লাউডের মাধ্যমে ডেটা পর্যবেক্ষণ করা
থিংসস্পিক ক্লাউডের মাধ্যমে ডেটা পর্যবেক্ষণ করা

কিছুক্ষণ পরে, থিংসস্পিকে আপনার চ্যানেলটি খুলুন এবং আপনি রিয়েল-টাইমে থিংসপিক ক্লাউডে তাপমাত্রা আপলোড করা দেখতে পাবেন।

ধাপ 7: স্টার্টআপে পাইথন স্ক্রিপ্ট চালান

এটি করার জন্য, /etc/rc.local ফাইলের শেষে:

সুডো ন্যানো /etc/rc.local

আপনি লাইন প্রস্থান 0 এর সামনে স্ক্রিপ্ট শুরু কমান্ড স্থাপন করতে হবে:

sudo python /home/pi/cpu.py &

কমান্ডের শেষে & চিহ্নের উপস্থিতি বাধ্যতামূলক, যেহেতু এটি ব্যাকগ্রাউন্ডে প্রক্রিয়া শুরু করার জন্য একটি পতাকা।

প্রস্তাবিত: