সুচিপত্র:

Gnuplot ইমেজ আউটপুট এবং ইমেল সতর্কতা ক্ষমতা সহ রাস্পবেরি পাই নিয়ন্ত্রিত রুম তাপমাত্রা নিরীক্ষণ: 7 টি ধাপ
Gnuplot ইমেজ আউটপুট এবং ইমেল সতর্কতা ক্ষমতা সহ রাস্পবেরি পাই নিয়ন্ত্রিত রুম তাপমাত্রা নিরীক্ষণ: 7 টি ধাপ

ভিডিও: Gnuplot ইমেজ আউটপুট এবং ইমেল সতর্কতা ক্ষমতা সহ রাস্পবেরি পাই নিয়ন্ত্রিত রুম তাপমাত্রা নিরীক্ষণ: 7 টি ধাপ

ভিডিও: Gnuplot ইমেজ আউটপুট এবং ইমেল সতর্কতা ক্ষমতা সহ রাস্পবেরি পাই নিয়ন্ত্রিত রুম তাপমাত্রা নিরীক্ষণ: 7 টি ধাপ
ভিডিও: Change Your Photo Background Easy Way 4K || ছবির ব্যাকগ্রাউন্ড পরিবর্তন করুন|Or Add New Soft Picture 2024, নভেম্বর
Anonim
রাস্পবেরি পাই নিয়ন্ত্রিত কক্ষ তাপমাত্রা মনিটরিং Gnuplot ইমেজ আউটপুট এবং ইমেল সতর্কতা ক্ষমতা সহ
রাস্পবেরি পাই নিয়ন্ত্রিত কক্ষ তাপমাত্রা মনিটরিং Gnuplot ইমেজ আউটপুট এবং ইমেল সতর্কতা ক্ষমতা সহ

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

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

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

হার্ডওয়্যার সেট আপ করার জন্য খুব বেশি কিছু নেই। রাস্পবেরি পাই রাস্পিয়ান চালাচ্ছে এবং ইউএসবি তাপমাত্রা সেন্সর কেবলমাত্র একটি ইউএসবি পোর্টে সরাসরি প্লাগ করে। এই সেন্সরের বিদ্যুৎ খরচ ন্যূনতম এবং ফলস্বরূপ আমি এটি সরাসরি রাস্পবেরি পাই থেকে চালিত করেছি। যাইহোক, ইউএসবি চালিত ডিভাইসের জন্য একটু বেশি বিদ্যুৎ ব্যবহারের জন্য, আমি তাদের একটি চালিত ইউএসবি হাবের মাধ্যমে পাওয়ার সুপারিশ করব এবং সরাসরি রাস্পবেরি পাই এর ইউএসবি পোর্ট থেকে নয়। বর্তমান অবস্থার আর্দ্রতা রিডিং। তাপমাত্রা = 20.9 ° C আর্দ্রতা = 62.7% শিশির বিন্দু = 13.0 ° CA পাইথন স্ক্রিপ্ট এই স্ট্রিংটি বিশ্লেষণ করে এবং প্রতি পাঁচ মিনিটে তিনটি টেক্সট ফাইলে তাপমাত্রা এবং আর্দ্রতার মান সংরক্ষণ করে; একটি দৈনিক, 24 ঘন্টা এবং 48 ঘন্টা পাঠ্য ফাইল (পার্থক্যগুলি HTML বিভাগে পরে আলোচনা করা হবে)। এই ফাইলগুলি থেকে, Gnuplot গ্রাফ তৈরি করবে এবং পরবর্তীতে প্রতিটি ফাইলের ডেটা সেটের ছবি তৈরি করবে। আমি পাইথন স্ক্রিপ্ট নিয়ে আলোচনা করার আগে আমি রাস্পবেরি পাই তৈরির কথা বলব। যেহেতু মনিটরিং অনলাইনে করতে হয়, তাই একটি ওয়েব সার্ভার ইনস্টল করা প্রয়োজন। আমি আমার সময়ে রাস্পবেরি পাইতে তাদের কয়েকটি চেষ্টা করেছি কিন্তু যদিও এটি কিছুটা বড় আমি অ্যাপাচি পছন্দ করি। আপনার রাস্পবেরি পাইতে অ্যাপাচি ইনস্টল করতে আপনি কেবল টাইপ করুন: sudo apt-get install apache2 এটি ইনস্টল করার আগে আপনাকে একটি প্রম্পট দেবে, হ্যাঁ এর জন্য "y" টিপুন এবং আপনার রাস্পবেরি পাই এর উপর নির্ভর করে অ্যাপাচি কয়েক মিনিট ইনস্টল করা হবে। হয়ে গেছে, আপনাকে দুটি পাইথন প্লাগ-ইন ইনস্টল করতে হবে: পাইথন-সিরিয়াল এবং পাইথন-গনপ্লট প্লাগ। (যদিও আমি বুঝতে পেরেছি যে সাম্প্রতিক রাস্পিয়ান বিল্ডগুলিতে পাইথন-সিরিয়াল প্লাগ-ইন স্ট্যান্ডার্ড আছে কিন্তু শুধু নিরাপদ থাকার জন্য।) আপনি যেগুলি টাইপ করেন সেগুলি ইনস্টল করার জন্য: -ইন ইনস্টল করা হবে। এবং এর সাথে হার্ডওয়্যার সেটআপ সম্পূর্ণ।

পদক্ষেপ 2: সফ্টওয়্যার সেটআপ - ইমেল সেটআপ এবং প্রাপক

ইমেইল এড্রেস তৈরি করার আগে আমরা সফটওয়্যারে খুব বেশি দূরে যাওয়ার আগে এখন থেকে আপনার ইমেইল অ্যালার্ট পাঠানোর জন্য একটি জিমেইল অ্যাকাউন্ট তৈরি করার একটি ভাল সময় হবে। (এই উদাহরণটি GMail ব্যবহার করে কিন্তু যেকোনো মেইল সার্ভার ব্যবহার করা যেতে পারে একবার আমরা smtp পোর্ট সেটিংস জানতে পারি) পাইথন কোডটি বেশ সোজা এগিয়ে কিন্তু প্রয়োজনীয় আমদানি সমালোচনামূলক। এগুলি ছাড়া কিছুই কাজ করবে না। সময় আমদানি থেকে *আমদানি সময় আমদানি সিরিয়াল আমদানি অবশ্যই আমাদের ইমেইলের প্রাপকদের যোগ করতে হবে। প্রতিটি ইমেইল ঠিকানা একটি ভেরিয়েবলে সেভ করা থাকে।

ধাপ 3: সফ্টওয়্যার সেটআপ - সিরিয়াল সেটআপ এবং পার্সিং

পরবর্তীতে আমরা সিরিয়াল সেটআপ দেখি এটি সেন্সর থেকে সিরিয়াল আউটপুটের সাথে মেলে এমন প্যারামিটার সেট আপ করার একটি বিষয়। সেন্সর 9600 8 N 1 এ একটি সিরিয়াল স্ট্রিং আউটপুট করে যা একটি স্ট্যান্ডার্ড ফরম্যাট। স্ট্রিং পাওয়ার পর পাইথনে এই স্ট্রিংটি পার্স করার বেশ কিছু উপায় আছে এবং সম্ভবত আরো নির্ভরযোগ্যভাবে। আমি যেভাবে এটি করি তা হল সিরিয়াল স্ট্রিংয়ে "টেম্প" অক্ষরগুলি সন্ধান করা। একবার এটি পাওয়া গেলে এটি কেবল পরের 46 টি সিরিয়াল অক্ষর একটি স্ট্রিংয়ে পড়ার বিষয়। সংগৃহীত স্ট্রিং এখন একটি অ্যারের উপাদানগুলির মত সম্বোধন করা যেতে পারে। কাঙ্ক্ষিত ডেটা স্ট্রিং থেকে বিশ্লেষণ করা হয় এবং তার সংশ্লিষ্ট সময় স্ট্যাম্প সহ তিনটি ফাইলে সংরক্ষণ করা হয়। timestamp = strftime ("%d%b%Y%H:%M:%S", স্থানীয় সময় ())

ধাপ 4: সফ্টওয়্যার সেটআপ - Gnuplot

সফটওয়্যার সেটআপ - Gnuplot
সফটওয়্যার সেটআপ - Gnuplot
সফটওয়্যার সেটআপ - Gnuplot
সফটওয়্যার সেটআপ - Gnuplot
সফটওয়্যার সেটআপ - Gnuplot
সফটওয়্যার সেটআপ - Gnuplot

Gnuplot একটি কমান্ড লাইন গ্রাফিকাল টুল। একবার আপনি মৌলিক বিষয়গুলি বের করে নিলে এটি ডেটা সেটের গ্রাফিকাল ডিসপ্লে করার জন্য একটি বেশ শক্তিশালী হাতিয়ার হতে পারে। একবার আমরা gnuplot ইঙ্গিত করি যেখানে ফাইলটিতে তথ্য রয়েছে আমরা কাঙ্ক্ষিত মানগুলি চক্রান্ত করতে পারি। আমি X অক্ষে সময় এবং Y অক্ষে আমাদের তাপমাত্রা ব্যবহার করতে যাচ্ছি। আমার অভিজ্ঞতা থেকে সময় প্লট করা সবচেয়ে কঠিন কারণ আপনাকে টেক্সট ফাইলের ফর্ম্যাটের সাথে মেলাতে gnuplot- এ টাইম ফরম্যাট পেতে হবে। এটি সেই চিত্র হবে যা আমরা পরে আমাদের ওয়েব পেজে ব্যবহার করব। I । আমি প্রথমে স্ট্যান্ডার্ড সাইজের সাথে খেলেছি তারপর ছবিটি আমার স্ক্রিনে ফিট করার জন্য পরীক্ষা করেছি। এই প্রকল্পের জন্য, আমি পুরাতন ছবি সংরক্ষণ করছি না তাই স্টোরেজে থাকা ফাইলের প্রকৃত আকার মূল্যবান রাস্পবেরি পাই স্টোরেজের একটি প্রধান কারণ নয়। এখানে একটি কোড স্নিপেট তৈরি করা এবং প্রতিদিন-p.webp

পদক্ষেপ 5: সফ্টওয়্যার সেটআপ - থ্রেশহোল্ড সেটিং এবং ইমেলিং

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

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

ধাপ 6: সফটওয়্যার সেটআপ - এইচটিএমএল

একটি ওয়েব পেজের মাধ্যমে পুরো সিস্টেমের মনিটরিং করা হয় এবং এর জন্য একটি খুব প্রাথমিক HTML স্ক্রিপ্ট প্রয়োজন। Gnuplot যে ছবিগুলি তৈরি করেছে আমি কেবল চিত্রের একই মাত্রাগুলি ব্যবহার করি। আমি বিশ্বাস করি আমি এই চিত্রগুলির জন্য প্রায় 3 টি মাপের মধ্য দিয়ে গিয়েছিলাম যা আমার পর্দায় সেরা ফিট দিয়েছে। এইচটিএমএল স্ক্রিপ্ট তৈরি করার আগে এর জন্য একটি ফোল্ডার তৈরি করা যাক। ডিফল্টরূপে ওয়েব হোস্টিং ফোল্ডারটি/var/www/এ অবস্থিত। যদিও এই রাস্পবেরি পাই'র একমাত্র উদ্দেশ্য হল এই ঘরটি পর্যবেক্ষণ করা এবং ইমেইল সতর্কতা জারি করা, ভাল ঘর রাখার জন্য আমি/var/www/ফোল্ডারে একটি পৃথক ফোল্ডার তৈরি করেছি। যেহেতু এই ফোল্ডারটি রুট ব্যবহারকারীর অন্তর্গত তাই আপনাকে একটি ফোল্ডার তৈরি করতে sudo ব্যবহার করতে হবে এই অবস্থানটি। sudo mkdir/var/www/temperature এই উদাহরণে আমি ফোল্ডারের নাম হিসাবে তাপমাত্রা ব্যবহার করেছি কিন্তু আপনি এখানে যে কোন নাম ব্যবহার করতে পারেন কিন্তু মনে রাখবেন এই পৃষ্ঠাটি দেখতে ঠিকানা বারে প্রবেশ করতে হবে। এই পথটি পাইথন স্ক্রিপ্টের মধ্যে একটি ভেরিয়েবলে সংরক্ষণ করা হয়। এমনকি যখন হোস্টিং লোকেশন পরিবর্তন করতে হয় অথবা স্ক্রিপ্টটি অন্য সিস্টেমের জন্য পরিবর্তন করতে হয়, এটি শুধুমাত্র এই একটি লোকেশন থেকে পরিবর্তন করা যেতে পারে। এখানে কার্যকর করতে চান আমি আপনাকে এইচটিএমএল স্ক্রিপ্ট "index.html" নামকরণ করার সুপারিশ করব কারণ এই পৃষ্ঠাটি খুঁজে বের করার সময় এটি এটিকে সহজ করে তুলবে। গুরুত্বপূর্ণ বিষয় হল নিশ্চিত করা যে ছবির সাইজিং Gnuplot থেকে ছবির আকারের মতই। এই পৃষ্ঠাটি দেখতে, আপনাকে কেবল রাস্পবেরি পিআই এর আইপি ঠিকানা প্রবেশ করতে হবে যার পরে /তাপমাত্রা (অথবা আপনি আপনার ফোল্ডারের নাম কি রেখেছেন) আমার বিভিন্ন সিস্টেমে বিভিন্ন জিনিস নিরীক্ষণের কাজ রয়েছে এবং তারা সবাই তাদের ফলাফলের কিছু গ্রাফিকাল আউটপুট তৈরি করে। তাই আমি এমন একটি পৃষ্ঠা তৈরি করেছি যার সাথে এই সমস্ত পৃষ্ঠার লিঙ্ক রয়েছে তাই যখনই আমি এই পৃষ্ঠাগুলি অ্যাক্সেস করতে চাই তখন ঠিকানা প্রবেশ করার বিষয়ে আমাকে চিন্তা করতে হবে না।

ধাপ 7: আমি বেঁচে আছি …

আমি এটি একটি কম্পিউটার রুমে তাপমাত্রা পর্যবেক্ষণ করতে ব্যবহার করেছি কিন্তু এটি যেকোনো উৎস থেকে অনেক বেশি তথ্য হতে পারে। একবার এটি একটি টেক্সট ফাইলে সংরক্ষণ করা যেতে পারে এবং আপনি জানেন যে এর বিন্যাস Gnuplot বাকি কাজ করতে পারে আমি এই প্রকল্পে সম্প্রতি যোগ করা একটি জিনিস হল একটি "হার্টবিট" ইমেইল পাঠানো। মাসের প্রথম দিকে সকাল at টায় আমার কাছে একটি স্ক্রিপ্ট আছে যা মেইলিং লিস্ট ইমেইল করে তাদের জানাতে যে তারা সিস্টেমটি ঠিক মতো চলছে এবং রুমে সব ঠিক আছে।

ক্রোনজব তালিকা ব্যবহার করে:

প্রস্তাবিত: