সুচিপত্র:

ড্রপবক্স সহ রাস্পবেরি পাই হোম মনিটরিং: 7 টি ধাপ
ড্রপবক্স সহ রাস্পবেরি পাই হোম মনিটরিং: 7 টি ধাপ

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

ভিডিও: ড্রপবক্স সহ রাস্পবেরি পাই হোম মনিটরিং: 7 টি ধাপ
ভিডিও: Raspberry Pi Home Server Episode 04 | নেক্সটক্লাউড ইন্সটল রাস্পবেরিপাইতে। 2024, নভেম্বর
Anonim
ড্রপবক্স সহ রাস্পবেরি পাই হোম মনিটরিং
ড্রপবক্স সহ রাস্পবেরি পাই হোম মনিটরিং

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

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

আমিও চেয়েছিলাম আমার সমাধান হাল্কা এবং সহজ হোক, এবং অপ্রয়োজনীয় লাইব্রেরি এবং প্রোগ্রামগুলির সাথে আমার পাইকে বিশৃঙ্খলা এড়াতে। এই প্রজেক্টের সফটওয়্যার কম্পোনেন্টে রয়েছে একটি একক পাইথন স্ক্রিপ্ট, যার মানে হল যে আপনি আপনার Pi কে স্বাভাবিক হিসাবে ব্যবহার করা চালিয়ে যেতে পারেন, এমনকি যখন মনিটরিং সিস্টেম চলছে।

এই প্রকল্পের জন্য আপনার প্রয়োজন হবে:

একটি রাস্পবেরি পাই। যে কোনও মডেলের কাজ করা উচিত, আমি অল-ইন-ওয়ান স্টার্টার কিট ব্যবহার করেছি, তবে সম্ভবত আপনার কেবল কেন্দ্রীয় ইউনিট দরকার।

একটি ইউএসবি ওয়েবক্যাম। আমি একটি সস্তা ADVENT AWC72015 কিনেছি, যা ভাল কাজ করেছে। ওয়েবক্যামগুলির এই তালিকার সাথে পরামর্শ করা একটি ভাল ধারণা হতে পারে যা পাইয়ের সাথে কাজ করার জন্য নিশ্চিত। মনে রাখবেন যে কিছু একটি চালিত ইউএসবি হাব প্রয়োজন (আমার ছাড়া জরিমানা কাজ করে)।

একটি ড্রপবক্স অ্যাকাউন্ট। আমি আমার স্ট্যান্ডার্ড ফ্রি অ্যাকাউন্ট ব্যবহার করি কারণ এই প্রকল্পের জন্য খুব বেশি স্টোরেজ স্পেসের প্রয়োজন হয় না।

একটি DS18B20 ডিজিটাল তাপমাত্রা সেন্সর এবং একটি 4.7k প্রতিরোধক। আপনি এখানে সেন্সর কিনতে পারেন, এবং এটি বিভিন্ন প্রতিরোধক একটি প্যাক দখল মূল্য হতে পারে।

কিছু সার্কিট-বিল্ডিং আনুষাঙ্গিক। সার্কিট বিল্ডিং প্রক্রিয়াকে যতটা সম্ভব সহজ করার জন্য আমি একটি ব্রেডবোর্ড এবং কিছু জাম্পার কেবল ব্যবহার করার পরামর্শ দিচ্ছি।

[যদি আপনি এই পণ্যগুলির মধ্যে কোনটি কেনার সিদ্ধান্ত নেন, তাহলে আপনি যদি উপরের লিঙ্কগুলি ব্যবহার করে তালিকাগুলি অ্যাক্সেস করেন তবে আমি এটির খুব প্রশংসা করব - এইভাবে, আমি আপনাকে কোন অতিরিক্ত খরচ ছাড়াই মুনাফার একটি ছোট অংশ পেতে পারি!]

ধাপ 1: হার্ডওয়্যার সেট আপ করুন

হার্ডওয়্যার সেট আপ করুন
হার্ডওয়্যার সেট আপ করুন

প্রথম ধাপ হল আপনার Pi এবং সংশ্লিষ্ট পেরিফেরালগুলি সেট আপ করা নিশ্চিত করা।

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

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

lsusb

উপরের ছবিতে, আমার ওয়েবক্যাম '0c45: 6340 মাইক্রোডিয়া' হিসাবে তালিকাভুক্ত

অবশেষে, আপনি আপনার DS18B20 তাপমাত্রা সেন্সরকে Pi এর GPIO হেডারের সাথে সংযুক্ত করতে পারেন। সার্কিট তৈরির প্রক্রিয়াটি সহজ করার জন্য আমি আমার রুটিবোর্ড ব্যবহার করি, এবং আমি আপনাকে একই কাজ করার পরামর্শ দিচ্ছি, বিশেষ করে DS18B20 এর জন্য তিনটি পিনের মধ্যে দুটিতে 4.7k রোধক লাগাতে হবে। এই লিঙ্কটি একটি ভাল ওয়্যারিং ডায়াগ্রাম প্রদান করে যা দেখায় কিভাবে এই তাপমাত্রা সেন্সরের সাথে সংযোগ স্থাপনের জন্য একটি ব্রেডবোর্ড ব্যবহার করা যায়।

উপরের টিউটোরিয়ালের পরবর্তী পৃষ্ঠায় DS18B20 থেকে ডেটা পড়ার জন্য প্রয়োজনীয় ধাপগুলি অন্তর্ভুক্ত করা হয়েছে এবং এটি কীভাবে কাজ করছে তা পরীক্ষা করে দেখায়। এই প্রকল্পের জন্য DS18B20 ব্যবহার করার আগে এই সেটআপ ধাপগুলি সম্পাদন করা গুরুত্বপূর্ণ। আমরা টিউটোরিয়াল থেকে নমুনা পাইথন স্ক্রিপ্টকে আমাদের মনিটরিং প্রোগ্রামে সংহত করব, যাতে আপনি এই কোডটির উপর দ্রুত স্কিম করতে চাইতে পারেন।

দয়া করে আপনার DS18B20 এর অনন্য নম্বরটিও নোট করুন। এটি সেটআপ টিউটোরিয়াল চলাকালীন '28-'দিয়ে শুরু হওয়া সংখ্যা। তাপমাত্রায় পড়তে দেওয়ার জন্য আপনাকে এটি আসন্ন পাইথন প্রোগ্রামে প্রবেশ করতে হবে।

ধাপ 2: ড্রপবক্স সেট আপ করুন

ড্রপবক্স সেট আপ করুন
ড্রপবক্স সেট আপ করুন

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

'ডেভেলপার' মেনুর মধ্যে, 'আমার অ্যাপস' নির্বাচন করুন, তারপর 'অ্যাপ তৈরি করুন' বোতাম টিপুন। ফলস্বরূপ ফর্মটি পূরণ করতে, 'ড্রপবক্স এপিআই' এর পরে 'অ্যাপ ফোল্ডার' নির্বাচন করুন। অবশেষে, আপনি ড্রপবক্সের মধ্যে আপনার অ্যাপের জন্য একটি অনন্য নাম চয়ন করতে পারেন। 'অ্যাপ তৈরি করুন' এ ক্লিক করুন।

তারপরে আপনাকে ড্রপবক্সের মধ্যে আপনার অ্যাপের সেটিংস পৃষ্ঠায় নিয়ে যাওয়া হবে। এখানে আরও একটি জিনিস আপনাকে করতে হবে - নিজেকে একটি অ্যাক্সেস টোকেন তৈরি করুন। এটি করার জন্য, 'OAuth 2' বিভাগে স্ক্রোল করুন এবং 'জেনারেটেড অ্যাক্সেস টোকেন' এর অধীনে, 'জেনারেট' বোতামে ক্লিক করুন।

এটি আপনাকে অক্ষরগুলির একটি দীর্ঘ স্ট্রিং উপস্থাপন করবে যা পাইথন ব্যবহার করে আপনার ড্রপবক্স অ্যাকাউন্ট অ্যাক্সেস করতে প্রয়োজন। এই অ্যাক্সেস টোকেনটির একটি নোট তৈরি করুন কারণ এটি পরে আপনার কোডে নির্দিষ্ট করতে হবে। আপনি যদি টোকেন হারিয়ে ফেলেন, আপনি ড্রপবক্স 'ডেভেলপারস' বিভাগে 'আমার অ্যাপস' এ ক্লিক করে আপনার অ্যাপের সেটিংসে ফিরে যেতে পারেন এবং একটি নতুন টোকেন তৈরি করতে পারেন।

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

ধাপ 3: আপনার ড্রপবক্স অ্যাপ ফোল্ডার প্রস্তুত করা হচ্ছে

আপনার ড্রপবক্স অ্যাপ ফোল্ডার প্রস্তুত করা হচ্ছে
আপনার ড্রপবক্স অ্যাপ ফোল্ডার প্রস্তুত করা হচ্ছে

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

আপনার অ্যাপ ফোল্ডারটি সম্পূর্ণ খালি দিয়ে শুরু করে, আপনার কম্পিউটারে একটি টেক্সট এডিটর প্রোগ্রাম খুলুন। যদিও এটি পাই ব্যবহার করে করা যেতে পারে, আমি এই সেটআপ ফেজের জন্য আমার উইন্ডোজ ল্যাপটপ ব্যবহার করা সহজ পেয়েছি। একবার টেক্সট এডিটর ওপেন হয়ে গেলে (আমি উইন্ডোজ on এ নোটপ্যাড ব্যবহার করেছি), আপনাকে যা করতে হবে তা হল আপনার কম্পিউটারে যেকোনো জায়গায় সম্পূর্ণ খালি টেক্সট ফাইল সেভ করা। আমাদের প্রথম উদাহরণ হিসাবে, আমরা হেডার ইমেজে প্রথম প্যারামিটার তৈরি করব। যখন ফাইলটি সেভ করবেন তখন 'বিলম্ব = 10' নামটি দিন।

পুনরাবৃত্তি করার জন্য, আপনার এখন আপনার কম্পিউটারে 'বিলম্ব = 10' নামে একটি খালি পাঠ্য ফাইল সংরক্ষণ করা উচিত। ফাইলটিতে '.txt' এক্সটেনশনও থাকবে যা দৃশ্যমান হতে পারে বা নাও থাকতে পারে।

পরবর্তী ধাপ হল এই ফাইলটি আপনার ড্রপবক্স অ্যাপ ফোল্ডারে আপলোড করা। এটি অন্যান্য ড্রপবক্স আপলোডের মতই। কেবল আপনার অ্যাপের ফোল্ডারে নেভিগেট করুন এবং 'আপলোড' ক্লিক করুন এবং আপনার 'বিলম্ব = 10' ফাইলটি নির্বাচন করুন।

যখন এই ফাইলটি আপলোড করা হয়, তখন আপনাকে অবশ্যই '.txt' এক্সটেনশনটি সরিয়ে ফেলতে হবে যা এখন ফাইলের নামে দৃশ্যমান হওয়া উচিত। এটি করার জন্য, কেবল ফাইলটিতে ডান ক্লিক করুন এবং 'নাম পরিবর্তন করুন' নির্বাচন করুন। ফাইলের নামের '.txt' অংশটি সরান। হেডার ইমেজে দেখানো হয়েছে, এখন আপনার কোন ফাইল এক্সটেনশন ছাড়াই 'বিলম্ব = 10' নামে একটি ফাইল রেখে দেওয়া উচিত।

'বিলম্ব' প্যারামিটার ফাইল চারটির মধ্যে একটি যা মনিটরিং প্রোগ্রাম ব্যবহার করবে। অন্যগুলি তৈরি করতে, আপনি কেবল আপনার 'বিলম্ব' ফাইলটি ডান ক্লিক করে কপি এবং নাম পরিবর্তন করতে পারেন। একবার আপনি তিনটি কপি তৈরি করলে, হেডার ইমেজে দেখানো হিসাবে তাদের নাম দিন যাতে আপনার অ্যাপ ফোল্ডারটি এই ধাপের শুরুতে দেখানো হয়।

ধাপ 4: কোড দিয়ে শুরু করা

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

আপনি স্ক্রিপ্টটি চালাতে সক্ষম হওয়ার আগে, আপনার কাছে প্রাসঙ্গিক পাইথন লাইব্রেরি ইনস্টল করা আছে তা নিশ্চিত করা গুরুত্বপূর্ণ। আপনার যা প্রয়োজন তা সংযুক্ত স্ক্রিপ্টের শীর্ষে তালিকাভুক্ত করা হয়েছে। তারা হল:

ড্রপবক্স আমদানি করুন

আমদানি pygame.camera আমদানি ওএস আমদানি সময়

আমার পাইতে পাইথন ইনস্টলেশনে ইতিমধ্যে পাইগেম, ওএস এবং সময় অন্তর্ভুক্ত ছিল তাই ড্রপবক্সটি আমাকে কেবল ইনস্টল করতে হয়েছিল। আমি পিপ দিয়ে তাদের খুব সহজ ইনস্টলেশন নির্দেশাবলী ব্যবহার করে এটি করেছি।

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

APP_ACCESS_TOKEN = '**********'

THERMOMETER_FILE = '/sys/bus/w1/devices/28-**********/w1_slave'

শুধু সঠিক মান দিয়ে **** গুলি প্রতিস্থাপন করুন। এই মুহুর্তে, আপনি প্রকৃতপক্ষে মনিটরিং প্রোগ্রাম ব্যবহার শুরু করার জন্য প্রস্তুত! শুধু ঝাঁপিয়ে পড়ার পরিবর্তে, আমি সুপারিশ করব যে আপনি কোডের সাধারণ ওভারভিউয়ের জন্য পরবর্তী ধাপে এগিয়ে যান।

গুরুত্বপূর্ণ: যখন আপনি এই স্ক্রিপ্টটি চালান, আপনি এটিকে পটভূমিতে চালাতে চান যাতে ক) আপনি Pi ব্যবহার চালিয়ে যেতে পারেন, এবং খ) যখন আপনি আপনার SSH সেশন বন্ধ করেন, স্ক্রিপ্টটি চলতে থাকবে। স্ক্রিপ্ট চালানোর সময় আমি এই কমান্ডটি ব্যবহার করি:

nohup পাইথন DropCamTherm.py &

এটি তিনটি জিনিস পূরণ করে: এটি স্ক্রিপ্টটি চালাবে ('পাইথন ড্রপক্যামথেরমপি'), এটি অবিলম্বে কমান্ড লাইনে নিয়ন্ত্রণ ফিরিয়ে দেবে যাতে আপনি পাই ('&') ব্যবহার চালিয়ে যেতে পারেন এবং এটি পাইথন আউটপুট পাঠাবে যা সাধারণত কমান্ড লাইনে 'nohup.out' নামক একটি ফাইলে প্রদর্শিত হয়। এটি একটি লিনাক্স টেক্সট এডিটর (আমার প্রিয় ন্যানো) ব্যবহার করে পড়া যেতে পারে, এবং স্ক্রিপ্টটি যে ডিরেক্টরিতে চালানো হচ্ছে সেখানে স্বয়ংক্রিয়ভাবে তৈরি হবে।

ধাপ 5: কোডের গভীরে খনন

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

- পোল_প্যারামিটার ():

এই ফাংশনটি ধাপ 3 এ আমাদের তৈরি করা ড্রপবক্স প্যারামিটার ফাইলগুলির উদ্দেশ্য দেখায়। এটি '=' এর পরে পাঠ্যটি বের করে এবং এটি একটি পূর্ণসংখ্যায় রূপান্তর করার চেষ্টা করে। আপনি দেখতে পারেন যে এটি ম্যানুয়ালি প্যারামিটার ফাইলের শেষে প্রাসঙ্গিক সংখ্যা যুক্ত করে প্রোগ্রামটি নিয়ন্ত্রণ করতে দেয়। পরবর্তী ধাপে একটি সংক্ষিপ্ত নির্দেশিকা ম্যানুয়াল থাকবে যা আপনাকে দেখাবে কিভাবে প্রোগ্রামের একটি দিক নিয়ন্ত্রণ করতে প্রতিটি প্যারামিটার ফাইল ব্যবহার করতে হয়।

- set_parameter ():

এই ফাংশনটি প্রোগ্রামটিকে পাইথনের মধ্যে থেকে একটি প্যারামিটার ফাইলের নামকরণ করতে দেয়। এটি কয়েকটি অনুষ্ঠানে এটি করে, প্রধানত ফাইলগুলির অতিরিক্ত ম্যানুয়াল পুনamingনামকরণ করার প্রয়োজন কমাতে।

- set_latest_temp ():

এই ফাংশনটি 'তাপমাত্রা' প্যারামিটার ফাইলে যুক্ত করে ড্রপবক্স অ্যাপ ফোল্ডারে সর্বশেষ তাপমাত্রা আপলোড করার জন্য set_parameter () ব্যবহার করে। ফাংশনটি DS18B20 এর লগ ফাইল থেকে সর্বশেষ তাপমাত্রা পড়ে (যা THERMOMETER_FILE ভেরিয়েবল দ্বারা নির্দেশিত পথে লিনাক্সে পাওয়া যায়)।

প্রোগ্রামের চূড়ান্ত অংশে কোড রয়েছে যা স্ক্রিপ্ট চালানোর সময় কার্যকর হবে। DS18B20 সেন্সরের জন্য প্রয়োজনীয় কিছু সেটআপ পদক্ষেপের পরে, এটি আপনার অ্যাক্সেস টোকেন ব্যবহার করে একটি ড্রপবক্স সেশন খোলে এবং আপনার ওয়েবক্যাম অনুসন্ধান করতে পাইগেম ব্যবহার করে। যদি একটি ওয়েবক্যাম পাওয়া যায়, এটি একটি লুপ প্রবেশ করবে যেখানে এটি ড্রপবক্স থেকে তথ্য বের করতে এবং এটিতে কাজ করার জন্য poll_parameter () ব্যবহার করে।

গুরুত্বপূর্ণ: আপনি নিম্নলিখিত কোডের লাইনটি লক্ষ্য করবেন:

cam = pygame.camera. Camera (cam_list [0], (864, 480))

… এটি প্রথম ওয়েবক্যাম থেকে একটি ব্যবহারযোগ্য ক্যামেরা ইন্টারফেস তৈরি করার চেষ্টা করে যা পাইগেম সনাক্ত করে। আপনার ওয়েবক্যামের সাথে মেলাতে রেজোলিউশন পরিবর্তন করতে হতে পারে। কোনটি ভাল কাজ করে তা খুঁজে বের করার জন্য বেশ কয়েকটি মান দিয়ে পরীক্ষা করুন।

ধাপ 6: ড্রপবক্স প্যারামিটার ফাইল ব্যবহার করা

সুতরাং এখন আপনার একটি কার্যকরী স্ক্রিপ্ট থাকা উচিত, যা ধাপ 4 থেকে নির্দেশাবলী ব্যবহার করে চালানো হলে, আপনার পাই আপনার ইনপুটগুলির জন্য অ্যাপ ফোল্ডার পর্যবেক্ষণ শুরু করতে দেবে। আপনার প্রথম রান এ, অ্যাপ ফোল্ডারে নিম্নলিখিত প্যারামিটার ফাইল থাকতে হবে:

বিলম্ব = 10

exitprogram = 0 imagerequest = 0 temperature = 0

ড্রপবক্সের মাধ্যমে প্যারামিটার ফাইলের ম্যানুয়ালি নামকরণ করে প্রোগ্রামের সাথে ইন্টারঅ্যাকশন অর্জন করা হয়। এটি করার জন্য, কেবলমাত্র একটি ফাইল ডান ক্লিক করুন এবং 'নাম পরিবর্তন করুন' নির্বাচন করুন। প্রতিটি প্যারামিটার ফাইলের আলাদা ফাংশন রয়েছে:

- বিলম্ব:

এই ফাইলটি মনিটরিং প্রোগ্রামকে বলে যে মনিটরিং লুপের প্রতিটি পুনরাবৃত্তির মধ্যে কত সেকেন্ড অপেক্ষা করতে হবে। যখন আমি জানি যে আমি প্রোগ্রামের সাথে খুব বেশি ইন্টারঅ্যাক্ট করব না, তখন আমি এটি 60 বা 120 এ সেট করেছি। যখন আমি জানি যে আমি প্রায়ই পাই থেকে ডেটা অনুরোধ করতে চাই, তখন আমি এটি 10 এ সেট করি।

- প্রস্থান প্রোগ্রাম:

এটি 1 বা 0 এ সেট করা উচিত। যদি আপনি এটিকে 1 এ সেট করেন এবং স্ক্রিপ্টটি প্রস্থান করে, এটি পুনরায় শুরু করতে আপনাকে আবার পাইতে লগ ইন করতে হবে। এই প্যারামিটারটি বিদ্যমান যাতে আপনি যখন মনিটরিং প্রোগ্রামটি চালানোর জন্য আর প্রয়োজন না হয় তখন আপনি অনুগ্রহ করে শেষ করতে পারেন (উদাহরণস্বরূপ, যদি আপনি বাড়িতে ফিরে এসে থাকেন এবং আর ওয়েবক্যামটি দূর থেকে পর্যবেক্ষণ করতে না চান)।

- চিত্র অনুরোধ:

এটি সম্ভবত সবচেয়ে গুরুত্বপূর্ণ প্যারামিটার। এটি 1 বা 0 এ সেট করা উচিত। যদি প্রোগ্রামটি সনাক্ত করে যে এটি 1 এ সেট করা আছে, এটি ওয়েবক্যাম থেকে একটি ছবি অনুরোধ করবে এবং অ্যাপ ফোল্ডারে আপলোড করবে (শিরোনাম 'image.jpg' সহ)। যদি অন্য 'image.jpg' বিদ্যমান থাকে, তাহলে এটি ওভাররাইট হবে।

- তাপমাত্রা:

এই হল DS18B20 তাপমাত্রা পড়ার সেট set_latest_temp () ফাংশন দ্বারা। আপনার কখনই এই প্যারামিটার ফাইলটি সম্পাদনা করার দরকার নেই - এটি স্বয়ংক্রিয়ভাবে প্রোগ্রাম দ্বারা সেট করা হয়।

মনে রাখবেন যদি আপনি 'exitprogram' বা 'imagerequest' কে 1 তে সেট করেন, প্রাসঙ্গিক কোডটি কার্যকর করার আগে প্রোগ্রামটি স্বয়ংক্রিয়ভাবে তাদের 0 তে ফিরিয়ে দেবে। এটি সুবিধার জন্য। আপনি আরও লক্ষ্য করতে পারেন যে কোডটিতে অনেকগুলি সমালোচনামূলক ফাংশনকে ঘিরে অনেকগুলি 'চেষ্টা' এবং 'বাদে' ব্লক রয়েছে। এটি নিশ্চিত করার জন্য যে স্ক্রিপ্টটি কিছু ভুল হয়ে গেলে (এবং তাই চলমান বন্ধ করবে) (যেমন একটি ইন্টারনেট সংযোগ সমস্যা ড্রপবক্স অ্যাক্সেস রোধ করে) নিক্ষেপ করবে না।

ধাপ 7: উপসংহার

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

পরবর্তী ধাপ হিসাবে, আপনি একটি ক্লায়েন্ট প্রোগ্রাম তৈরি করতে ড্রপবক্স এপিআই সহ টিকিন্টারের মতো একটি জিইউআই লাইব্রেরি ব্যবহার করতে পারেন যা আপনাকে ড্রপবক্সে লগ ইন করার প্রয়োজন ছাড়াই প্যারামিটার ফাইলগুলি সংশোধন করতে দেয়।

আমি আশা করি এই টিউটোরিয়ালটি পরিষ্কার হয়েছে, এবং যদি আপনার কোন প্রশ্ন থাকে বা আমি কিছু স্পষ্ট করতে চাই, দয়া করে একটি মন্তব্য পোস্ট করুন!

প্রস্তাবিত: