সুচিপত্র:
- ধাপ 1: সরঞ্জাম এবং উপকরণ
- ধাপ 2: একটি পরীক্ষা তৈরি করা
- ধাপ 3: একটি পরীক্ষা চালানো
- ধাপ 4: পরীক্ষা: নমুনা হার
- ধাপ 5: পরীক্ষা: গোলমাল দেখাচ্ছে
- ধাপ 6: পরীক্ষা: মুভিং এভারেজ দিয়ে গোলমাল কমান
- ধাপ 7: পরীক্ষা: গড় এবং নমুনা হার সরানো
- ধাপ 8: পরীক্ষা: ট্রিগার দিয়ে লগিং
- ধাপ 9: পরীক্ষা: ট্রিগার দিয়ে লগিং - জোরে শব্দ
- ধাপ 10: আপনার নিজের পরীক্ষা করুন
- ধাপ 11: আপনার লগিং সফটওয়্যারের কৌশলগুলি ব্যবহার করা
ভিডিও: উন্নত ডেটা লগিংয়ের পরীক্ষা (পাইথন ব্যবহার করে): 11 টি ধাপ
2024 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2024-01-30 07:57
অনেক তথ্য লগিং নির্দেশাবলী আছে, তাই যখন আমি আমার নিজের একটি লগিং প্রকল্প তৈরি করতে চেয়েছিলাম তখন আমি একটি গুচ্ছের দিকে তাকালাম। কিছু ভাল ছিল, কিছু এতটা না, তাই আমি আরও কিছু ভাল ধারণা নেওয়ার এবং নিজের আবেদন করার সিদ্ধান্ত নিয়েছি। এর ফলে আমি প্রথম প্রত্যাশার চেয়ে আরও উন্নত এবং আরও জটিল একটি প্রকল্পে পরিণত হয়েছিলাম। এর একটি অংশ সেন্সর ডেটা প্রক্রিয়াকরণে পরীক্ষা -নিরীক্ষার একটি সিরিজে পরিণত হয়। এই নির্দেশযোগ্য আপনাকে একই বা অনুরূপ পরীক্ষাগুলি চেষ্টা করতে দেয়।
(আপনি সমস্ত কোড দেখতে পারেন এবং এটি ডাউনলোড করতে পারেন: GitHub এ কোড আপনি দেখতে পারেন, সম্ভবত অন্য উইন্ডোতে, মাত্র 2 ক্লিকের সাথে)
সাধারণত ডেটা লগিং নিম্নলিখিত বিষয়গুলি জড়িত:
- ডেটা অর্জন: একটি সেন্সর থেকে কিছু তথ্য পড়ুন। প্রায়ই এটি একটি Arduino মত একটি ডিভাইসে ডিজিটাল রূপান্তরকারী (ADC) থেকে একটি এনালগ পড়ছে।
- ডেটা প্রক্রিয়াকরণ: যখন একটি ADC মান পড়ছে তখন রূপান্তরকারীদের আউটপুট সাধারণত সঠিক ইউনিটে স্কেল করা প্রয়োজন। সেন্সর ত্রুটিগুলি সংশোধন করার জন্য মানগুলি ক্রমাঙ্কন করার জন্য কিছু সমন্বয় করার প্রয়োজনও হতে পারে।
- ফিল্টারিং: ডেটাতে সাধারণত কিছু গোলমাল থাকে, এটি ফিল্টার করা যায় যাতে আপনি আপনার ডেটাতে একটি সংকেত খুঁজছেন, গোলমাল নয়।
- ডেটা স্টোরেজ: ডেটা সংরক্ষিত হয়, সম্ভবত একটি টেক্সট ফাইলে, সম্ভবত ক্লাউডে। বিদ্যুৎ চলে গেলেও ডেটা বেঁচে থাকা উচিত। খুব বেশি ডেটা সেভ করা সহজ, ডেটা স্টোরেজ স্পেস কমানোর জন্য আমাদের একটু কৌশল আছে।
- ডেটা ডিসপ্লে: আপনার ডেটা দেখার পদ্ধতি, আসলে ডেটা লগিং নয়, কিন্তু আপনি যদি ডেটা কোন ধরণের প্রদর্শন না করেন তবে কেন এটি সংগ্রহ করবেন?
- দূরবর্তী অ্যাক্সেস: প্রয়োজন নেই কিন্তু আছে চমৎকার।
বেশিরভাগ নির্দেশাবলীর মধ্যে কিছু অন্তর্ভুক্ত কিন্তু উপরের সবগুলি নয়, অথবা সেগুলি খুব সহজ উপায়ে করুন। এই নির্দেশযোগ্য প্রায়শই বাদ যাওয়া লগিং সমস্যাগুলির মধ্যে 2 টিকে সমাধান করবে এবং বোনাস হিসাবে আপনাকে ক্লাউড পরিষেবা ব্যবহার না করে আপনার ডেটা গ্রাফ করার একটি উপায় দেবে। আপনি পুরো জিনিসটি ব্যবহার করতে পারেন বা বিট এবং টুকরো টেনে বের করতে পারেন এবং সেগুলি আপনার নিজের একটি প্রকল্পে রিমিক্স করতে পারেন।
ধাপ 1: সরঞ্জাম এবং উপকরণ
এই উদাহরণটি পাইথনে রয়েছে তাই এটি চলবে এবং উপাদানগুলি ব্যবহার করা যেতে পারে, ম্যাক, পিসি, লিনাক্স এবং রাস্পবেরি পাই সহ যে কোনও ওএস।
সুতরাং এই নির্দেশযোগ্য ব্যবহার করার জন্য আপনার যা দরকার তা হল একটি চলমান পাইথন 3.6 পরিবেশ, এবং সংযুক্ত কোডটি ডাউনলোড করুন। আমার সেট করা কোডটি চালানোর পরে, আপনি এটি আপনার নিজের পরীক্ষার জন্য সংশোধন করতে পারেন। পাইথনের সাথে স্বাভাবিক হিসাবে সবকিছু কাজ করার জন্য আপনাকে কিছু প্যাকেজ/মডিউল যুক্ত করতে হতে পারে। আমার স্পাইডার এনভায়রনমেন্টটি সমস্ত প্রয়োজনীয় অংশের সাথে আসে (দেখুন: পাইথন স্ক্রিন স্ক্র্যাপিং সহ গ্রাফ ইন্সট্রাকটেবল ভিউ)। যখন আপনি প্রথম কোন ত্রুটি বার্তার জন্য ওয়াচ চালান তখন তারা আপনাকে আপনার পরিবেশের কোন অনুপস্থিত অংশ সম্পর্কে জানাবে।
পরবর্তী দুটি ধাপ আপনাকে বলবে কিভাবে আপনার নিজের একটি পরীক্ষা তৈরি এবং চালানো যায়, তবে আপনি নিজের পরীক্ষা করার আগে অন্তর্ভুক্ত পরীক্ষাগুলি চালানো পর্যন্ত অপেক্ষা করা ভাল।
কোডটি বোঝার জন্য আপনাকে অবজেক্ট ওরিয়েন্টেড পাইথনের সাথে কিছুটা অভিজ্ঞতা থাকতে হবে, ব্যাখ্যা করে যে এই নির্দেশের আওতার বাইরে, কিন্তু গুগল আপনাকে যে কোন সাহায্য দিতে হবে।
কোডটি নোট করুন: (GitHub এ কোডটি আপনি দেখতে পারেন, সম্ভবত অন্য উইন্ডোতে, মাত্র 2 টি ক্লিকের সাথে) এখন পাইথন 3.6 এ আছে, তাই 3.6 থাকা ভাল হবে। কোডের পুরোনো সংস্করণ নীচের লিঙ্কগুলিতে এখানে রয়েছে।
ধাপ 2: একটি পরীক্ষা তৈরি করা
একটি পরীক্ষা তৈরির জন্য তিনটি প্রোগ্রামিং ধাপ (এবং লাইন) রয়েছে। প্রতিটি পরীক্ষা হল simulate_logging.py ফাইলে LoggingSim অবজেক্টের একটি ফাংশন। আসুন পরীক্ষা 1 (শুধু প্রথম গ্রাফ) দেখি যা আমরা পরবর্তী ধাপে চালাব:
def experiment_with_sample_rates (self):
মুদ্রণ করুন "" "নমুনা হারের সাথে পরীক্ষা করুন ডেল্টা টি" "self.start_plot (plot_title =" নমুনা হার - অংশ 1/3: ডেল্টা টি = 1.0 ") পরিবর্তন করে বিভিন্ন নমুনা হারের দিকে তাকিয়ে self.add_sensor_data (নাম =" dt = 1. ", প্রশস্ততা = 1., গোলমাল = 0.
প্রতিটি পরীক্ষা তার নিজস্ব ফাংশন হিসাবে লেখা হয় তাই আমাদের ফাংশন সংজ্ঞায়িত একটি লাইন আছে (ডিফ এক্সপেরিমেন্ট…..)
পরবর্তী, অ মন্তব্য লাইন, (start_plot (…।) পরীক্ষার জন্য বস্তু তৈরি করে এবং এটি একটি নাম দেয়।
পরবর্তী, অ -মন্তব্য লাইন লাইন, (add_sensor_data (…) বেশ কয়েকটি লাইনে বিভক্ত। এটি একটি সেন্সরকে সম্ভাব্য শব্দ এবং কিছু প্রক্রিয়াকরণের সংকেত পরিমাপ করে সিমুলেট করে। ফাংশন আর্গুমেন্টগুলি নিম্নরূপ:
- নাম: ডেটা শনাক্ত করার জন্য চূড়ান্ত গ্রাফে রাখা একটি নাম
- প্রশস্ততা: সংকেত কত বড়, আমরা সবসময় এই নির্দেশে 1 এর একটি প্রশস্ততা ব্যবহার করব।
- noise_amp: গোলমাল কত বড়, 0. কোন গোলমাল নেই, আমরা এখানে শুরু করব।
- delta_t: পরিমাপের মধ্যে সময়, নমুনা হার নিয়ন্ত্রণ করে।
- max_t: সর্বোচ্চ সময় আমরা ডেটা সংগ্রহ করি, আমরা সবসময় এই নির্দেশে 10 ব্যবহার করব।
- run_ave: চলমান গড় ব্যবহার করে প্রক্রিয়াকরণ, 0 মানে কোন প্রক্রিয়াকরণ নয়।
- trigger_value: ট্রিগারিং ব্যবহার করে প্রসেসিং, 0 মানে কোন প্রসেসিং নেই
চূড়ান্ত, অ মন্তব্য লাইন, (self.show_plot ……) গ্রাফ প্রদর্শন করে।
জিনিসগুলিকে আরও জটিল করে তুলতে আপনি একটি পরীক্ষায় একটি গ্রাফ বা একাধিক গ্রাফের একাধিক লাইন থাকতে পারেন, এটি পরবর্তী পরীক্ষাগুলি থেকে স্পষ্ট হওয়া উচিত।
ধাপ 3: একটি পরীক্ষা চালানো
এটি একটি পরীক্ষা চালানোর কোড। পাইথনে সাধারণ হিসাবে এটি ফাইলের শেষে স্থাপন করা হয়।
sim_logging = LoggingSim ()
sim_logging.experiment_with_sample_rates ()
এটি মাত্র 2 লাইন:
- একটি লগিং সিমুলেটর তৈরি করুন (LoggingSim ())
- এটি চালান (sim_logging.experiment_with_sample_rates ())
ডাউনলোড করা কোডে আমার আরও কয়েকটি লাইন এবং মন্তব্য আছে, এটি বের করা সহজ হওয়া উচিত।
ধাপ 4: পরীক্ষা: নমুনা হার
সিমুলেটর, যেমন এখানে সেট করা হয়েছে, সর্বদা প্রশস্ততার একটি সুন্দর মসৃণ সাইন ওয়েভ আউটপুট করে। এই পরীক্ষার জন্য আমরা নমুনার হারের সাথে গোলমাল করব, যেমনটি delta_t দ্বারা সামঞ্জস্য করা হয়েছে, নমুনার মধ্যে সময়ের পার্থক্য। আমাদের কোন গোলমাল বা অন্য প্রক্রিয়াকরণ থাকবে না। কোডটি 3 টি নমুনা হার ব্যবহার করে (delta_t = 1.0, 0.1 এবং 0.01।) যেহেতু গ্রাফ একে অপরের উপরে পড়ে তাই পরীক্ষাটি 3 টি ভিন্ন গ্রাফ তৈরির জন্য সেট আপ করা হয়েছে। ফলে গ্রাফ এই ধাপের জন্য ছবি।
def experiment_with_sample_rates (self):
প্রিন্ট করুন "" "নমুনা হারের সাথে পরীক্ষা করুন ডেল্টা টি" "" self.start_plot (plot_title = "পরীক্ষা নমুনা হার 1/3: ডেল্টা টি = 1.0") পরিবর্তন করে বিভিন্ন নমুনা হারের দিকে তাকিয়ে self.add_sensor_data (নাম = "dt = 1 । ", প্রশস্ততা = 1., গোলমাল = 0. ----------------------------------- self.start_plot (plot_title = "পরীক্ষার নমুনা হার 2/3: ডেল্টা T = 0.1 ") self.add_sensor_data (name =" dt = 1. ", amplitude = 1., noise_amp =.0, delta_t = 0.1, max_t = 10., run_ave = 0, trigger_value = 0) self.show_plot () # ------------------------------------------------ স্ব.start_plot (plot_title = "পরীক্ষার নমুনা হার 3/3: ডেল্টা টি = 0.01") self.add_sensor_data (name = "dt = 1.", amplitude = 1., noise_amp =.0, delta_t = 0.01, max_t = 10।, run_ave = 0, trigger_value = 0) self.show_plot ()
এটি চালানোর জন্য লাইনটি ব্যবহার করুন: sim_logging.experiment_with_sample_rates ()
সম্ভাব্য সিদ্ধান্ত:
- খুব কম একটি নমুনা হার সত্যিই খারাপ।
- উচ্চ হার প্রায়ই ভাল।
(নির্দেশাবলীর নীচে GitHub লিঙ্কে পাইথন 3.6 কোড, 2.7)
ধাপ 5: পরীক্ষা: গোলমাল দেখাচ্ছে
এই পরীক্ষায় আমরা একই সংকেত রাখি, একটি মাঝারি নমুনা হার ব্যবহার করি, এবং সেখানে বিভিন্ন পরিমাণ গোলমাল আছে (noise_amp =.0,.1, 1.0।) এটি দিয়ে চালান: sim_logging.experiment_showing_noise ()। আউটপুট হল graph লাইনের একটি গ্রাফ।
সম্ভাব্য উপসংহার:
নয়েজ সিগন্যাল দেখতে কঠিন করে তোলে, পারলে কমিয়ে দিন।
কোড:
# ------------------------------------------------
def experiment_showing_noise (self): মুদ্রণ করুন "" "গোলমাল দেখানোর পরীক্ষা গোলমাল প্রশস্ততা পরিবর্তনের মাধ্যমে বিভিন্ন পরিমাণ শব্দ দেখে।" "self.start_plot (plot_title =" পরীক্ষা শোরগোল দেখাচ্ছে ") self.add_sensor_data (নাম =" গোলমাল = 0.0 ", প্রশস্ততা = 1. 1, delta_t =.1, max_t = 10., run_ave = 0, trigger_value = 0) self.add_sensor_data (name = "noise = 1.0", amplitude = 1., noise_amp = 1., delta_t =.1, max_t = 10 ।, run_ave = 0, trigger_value = 0) self.show_plot ()
ধাপ 6: পরীক্ষা: মুভিং এভারেজ দিয়ে গোলমাল কমান
একটি চলমান গড় (উদাহরণস্বরূপ দৈর্ঘ্য 8 সহ) শেষ 8 টি পরিমাপ নেয় এবং তাদের গড়। যদি গোলমাল এলোমেলো হয় আমরা আশা করি এটি গড় 0 এর কাছাকাছি হবে। পরীক্ষাটি চালান: sim_logging.experiment_showing_noise ()। একটি গ্রাফ আউটপুট।
সম্ভাব্য সিদ্ধান্ত:
- একটি চলমান গড় শব্দ অনেক দূর করে
- চলমান গড় যত লম্বা হবে তত শব্দ কমবে
- দীর্ঘতর চলমান গড় সংকেত হ্রাস এবং বিকৃত করতে পারে
কোড:
# ------------------------------------------------
def experiment_with_moving_average (self): print "" "মুভিংএভারেজ দিয়ে এক্সপেরিমেন্ট করুন দৈর্ঘ্য পরিবর্তন করে বিভিন্ন মুভিংএভারেজ দেখছেন। সকলের একই আওয়াজ আছে" "" # ------------------ ------------------------------ self.start_plot (plot_title = "MovingAverage-Part 1/2: No Moving Average") স্ব.add_sensor_data (name = "ave len = 0", amplitude = 1., noise_amp =.1, delta_t =.1, max_t = 10., run_ave = 0, trigger_value = 0) self.show_plot () self.start_plot (plot_title = "MovingAverage-Part 2/2: Len 8 and 32") self.add_sensor_data (name = "ave len = 8", amplitude = 1., noise_amp =.1, delta_t =.1, max_t = 10., run_ave = 8, trigger_value = 0) self.add_sensor_data (name = "ave len = 32", amplitude = 1., noise_amp =.1, delta_t =.1, max_t = 10., run_ave = 32, trigger_value = 0) self.show_plot ()
ধাপ 7: পরীক্ষা: গড় এবং নমুনা হার সরানো
এই পরীক্ষায় আমরা গোলমালের সাথে কাঁচা সংকেত এবং গোলমাল কমানোর জন্য 2 টি ভিন্নতার তুলনা করি।
- মাঝারি নমুনা হার এবং মাঝারি চলমান গড়
- উচ্চ নমুনা হার এবং উচ্চ দৈর্ঘ্য চলমান গড়
এটি দিয়ে চালান: sim_logging …… আউটপুট একটি গ্রাফ। আমি মনে করি এটা স্পষ্ট যে #2 গোলমাল কমাতে একটি ভাল কাজ করে তাই আমরা এই সিদ্ধান্তে পৌঁছতে পারি যে:
উচ্চ নমুনা হার এবং উচ্চ দৈর্ঘ্য চলমান গড় ভাল
কিন্তু আপনাকে মনে রাখতে হবে যে একটি খরচ আছে। #2 অনেক বেশি প্রসেসিং নেয় এবং এর ফলে অনেক বেশি ডেটা সেভ হয়। খরচ হতে পারে বা নাও হতে পারে। পরবর্তী পরীক্ষায় আমরা একটি ট্রিগার যুক্ত করব, সঞ্চিত ডেটার পরিমাণ কমাতে একটি ডিভাইস।
কোড:
def experiment_with_moving_average_and_sample_rate (self):
মুভিং এভারেজ এবং স্যাম্পল রেটের সাথে পরীক্ষা করুন, dt, রান এভারেজ বিচিত্র হচ্ছে "" " # ---------------------------- -------------------- self.start_plot (plot_title = "চলমান গড় এবং নমুনা হার") self.add_sensor_data (name = "dt =.1 ra = 0 trig = 0 ", প্রশস্ততা = 1. amplitude = 1., noise_amp =.1, delta_t =.1, max_t = 10., run_ave = 10, trigger_value = 0) self। ।, noise_amp =.1, delta_t =.01, max_t = 10., run_ave = 100, trigger_value = 0) self.show_plot ()
ধাপ 8: পরীক্ষা: ট্রিগার দিয়ে লগিং
এই পরীক্ষায় আমরা একটি ট্রিগার যোগ করি। প্রথমত, ট্রিগার বলতে আমি কি বুঝি? একটি ট্রিগার হল এমন একটি কৌশল যেখানে আমরা তথ্য সংগ্রহ করি কিন্তু শুধুমাত্র কিছু পরিবর্তনশীল উল্লেখযোগ্য পরিমাণে পরিবর্তিত হওয়ার পরে এটি সংরক্ষণ করি। এই পরীক্ষাগুলিতে আমি সময় (x অক্ষ) ভেরিয়েবলে একটি ট্রিগার রাখি। ট্রিগার ব্যবহার করে আমি দ্রুত স্যাম্পলিং থেকে উচ্চ পরিমাণে ডেটা নিতে পারি এবং এটি আরও যুক্তিসঙ্গত পরিমাণে ডেটাতে কমাতে পারি। এটা উচ্চ নমুনা হার এবং একটি দীর্ঘ চলমান গড় সঙ্গে দরকারী বিশেষত্ব।
আমি শেষ পরীক্ষা থেকে #2 লাইনটি নিয়েছি যা "ভাল" এবং একটি যোগ করা ট্রিগার ছিল। এটি দিয়ে চালান: sim_logging …… আউটপুট হল একটি গ্রাফ, x লাইন।
কি ঘটেছে? আমরা যুক্তিসঙ্গত পরিমাণ ডেটা (#1 এর মতো) সহ একটি "ভাল" প্লট পাই। উচ্চ প্রক্রিয়াকরণে কিছু খরচ হয়েছে। সামগ্রিকভাবে, ফলাফলগুলি, কম ফিল্টারিং সহ কম নমুনার হার #1 এর সমান। আপনি উপসংহারে আসতে পারেন:
- ট্রিগারিং সহ দীর্ঘ চলমান গড় যুক্তিসঙ্গত পরিমাণে ডেটা সহ ভাল শব্দ হ্রাস করতে পারে।
- অতিরিক্ত প্রক্রিয়াকরণ এত ভাল ফলাফল নাও দিতে পারে এবং একটি খরচ সহ আসে।
কোড:
# ------------------------------------------------
def experiment_with_trigger (self): প্রিন্ট করুন ------------------------- self.start_plot (plot_title = "1/1 ট্রিগার-ট্রিগার অন") self.add_sensor_data (name = "dt =.1 ra = 10, trig = 0 ", amplitude = 1., noise_amp =.1, delta_t =.1, max_t = 10., run_ave = 10, trigger_value = 0) self.add_sensor_data (name =" dt =.01 ra = 100, trig =.1 ", amplitude = 1., noise_amp =.1, delta_t =.01, max_t = 10., run_ave = 100, trigger_value =.1) self.show_plot ()
=
ধাপ 9: পরীক্ষা: ট্রিগার দিয়ে লগিং - জোরে শব্দ
শেষ ধাপের মতো একই পরীক্ষা করা যাক এবং গোলমাল বাড়ানো যাক। এটি দিয়ে চালান: sim_logging …… আউটপুট একটি গ্রাফ, 2 লাইন।
এখন অতিরিক্ত প্রক্রিয়াকরণ আরো মূল্যবান দেখায়। এখানে একটি যুক্তিসঙ্গত উপসংহার হতে পারে:
শব্দ কমানোর জন্য পরিমাণ এবং প্রক্রিয়াকরণের ধরন বাছাই করা আপনার সংকেত এবং গোলমালের উপর নির্ভর করে।
কোড:
def experiment_with_trigger_louder_noise (স্ব):
প্রিন্ট করুন "" "আগের পরীক্ষার চেয়ে জোরে শব্দ" "" self.start_plot (plot_title = "An Experiment with Trigger-Louder Noise") self.add_sensor_data (name = "… dt =.1 ra = 10", amplitude = 1., noise_amp =.5, delta_t =.1, max_t = 10., run_ave = 10, trigger_value = 0) self.add_sensor_data (name = "..dt =.01 ra = 100 tv =.1", amplitude = 1., noise_amp =.5, delta_t =.01, max_t = 10., run_ave = 100, trigger_value =.1) self.show_plot ()
ধাপ 10: আপনার নিজের পরীক্ষা করুন
এই মুহুর্তে আমি আশা করি আপনি দেখতে পাচ্ছেন যে এই নির্দেশের কৌশলগুলি ডেটা লগিংয়ের ক্ষেত্রে কার্যকর হতে পারে, তবে সেগুলিও কিছু চিন্তাভাবনার সাথে ব্যবহার করতে হবে। তাদের সাথে পরীক্ষা -নিরীক্ষা সেই প্রক্রিয়াকে সাহায্য করতে পারে।
পরীক্ষা -নিরীক্ষার বিষয়ে কিছু মন্তব্য এবং আপনি যা দেখতে পারেন:
- সাইন ওয়েভ একমাত্র আকর্ষণীয় সিগন্যাল টাইপ নয়, অন্যদের চেষ্টা করুন, অন্যান্য ওয়েভ বা রmp্যাম্প বা…..
- আমি গোলমালের জন্য একটি সাধারণ বিতরণ ব্যবহার করেছি, অনেক ধরনের গোলমাল আছে; আপনার অন্যদের বিবেচনা করা উচিত
- চলমান গড় একটি সহজ, কিন্তু শব্দ দেখার জন্য একমাত্র পদ্ধতি নয়
দ্রষ্টব্য: উইকিপিডিয়া থেকে লগিং ছবি।
ধাপ 11: আপনার লগিং সফটওয়্যারের কৌশলগুলি ব্যবহার করা
আমার কোড অবজেক্ট ওরিয়েন্টেড এবং চলমান গড় এবং ট্রিগার প্রক্রিয়াকরণটি কেবল আপনার পাইথন পরিবেশে অনুলিপি করা যেতে পারে এবং তারপর ব্যবহার করা যেতে পারে। বস্তুগুলি হল:
- Data_trigger.py এ DataTrigger
- Move_average.py- এ MovingAverage
Simulate_logging.py এ আমার প্রধান বস্তু LoggingSim আপনাকে এটি কিভাবে ব্যবহার করতে হবে তার একটি ভাল উদাহরণ দিতে হবে। আপনি যদি অন্য ভাষা ব্যবহার করেন তবে আপনি আমার কোড পড়তে পারেন এবং আপনার ভাষায় প্রয়োগ করতে পারেন।
এই কোডটি আপনার প্রকল্পকে আরও ভাল ডেটা লগিং দিতে পারে, চেষ্টা করে দেখুন।
উপরের গ্রাফটি আপনার সৌর শক্তি গ্রাফ থেকে russ_hensel যা একই চলমান গড় বস্তু ব্যবহার করে।
প্রস্তাবিত:
পাইথন ব্যবহার করে আপনার সোলার্জ ডেটা অ্যাক্সেস করা: 4 টি ধাপ
পাইথন ব্যবহার করে আপনার সোলার্জ ডেটা অ্যাক্সেস করা: কারণ সোলার্জ ট্রান্সফরমারগুলির ডেটা স্থানীয়ভাবে সংরক্ষণ করা হয় না কিন্তু সোলার্জের সার্ভারে আমি আমার ডেটা স্থানীয়ভাবে ব্যবহার করতে চেয়েছিলাম, এইভাবে আমি আমার নিজের প্রোগ্রামগুলিতে ডেটা ব্যবহার করতে পারি। আমি আপনাকে দেখাব কিভাবে আপনি সোলার্জ ওয়েবগুলিতে আপনার ডেটা অনুরোধ করতে পারেন
MSP432 লঞ্চপ্যাড এবং পাইথন ব্যবহার করে একটি তাপমাত্রা সেন্সর (TMP006) এর লাইভ ডেটা প্লট করা: 9 টি ধাপ
MSP432 লঞ্চপ্যাড এবং পাইথন ব্যবহার করে একটি তাপমাত্রা সেন্সর (TMP006) এর লাইভ ডেটা প্লট করা: TMP006 হল একটি তাপমাত্রা সেন্সর যা বস্তুর সাথে যোগাযোগের প্রয়োজন ছাড়াই একটি বস্তুর তাপমাত্রা পরিমাপ করে। এই টিউটোরিয়ালে আমরা পাইথন ব্যবহার করে বুস্টারপ্যাক (TI BOOSTXL-EDUMKII) থেকে লাইভ তাপমাত্রার তথ্য চক্রান্ত করব
রাস্পবেরি পাই এবং AIS328DQTR ব্যবহার করে পাইথন ব্যবহার করে ত্বরণ পর্যবেক্ষণ: 6 টি ধাপ
রাস্পবেরি পাই এবং AIS328DQTR ব্যবহার করে পাইথন ব্যবহার করে ত্বরণ পর্যবেক্ষণ করা: অ্যাক্সিলারেশন সীমিত, আমি মনে করি পদার্থবিজ্ঞানের কিছু আইন অনুসারে।- টেরি রিলি একটি চিতা তাড়া করার সময় আশ্চর্যজনক ত্বরণ এবং গতিতে দ্রুত পরিবর্তন ব্যবহার করে। দ্রুততম প্রাণীটি একবারে উপকূলে শিকারের জন্য তার সর্বোচ্চ গতি ব্যবহার করে। দ্য
আরডুইনো দিয়ে পাইথন ব্যবহার করে মাইএসকিউএল সার্ভারে আরএফআইডি ডেটা পাঠিয়ে উপস্থিতি সিস্টেম: 6 টি ধাপ
আরডুইনো দিয়ে পাইথন ব্যবহার করে মাইএসকিউএল সার্ভারে আরএফআইডি ডেটা পাঠিয়ে উপস্থিতি সিস্টেম: এই প্রকল্পে আমি আরডুইনো দিয়ে আরএফআইডি-আরসি 522 ইন্টারফেস করেছি এবং তারপরে আমি আরএফআইডি ডেটা পাঠাচ্ছি phpmyadmin ডাটাবেসে। আমাদের পূর্ববর্তী প্রকল্পের বিপরীতে আমরা এই ক্ষেত্রে কোন ইথারনেট shাল ব্যবহার করছি না, এখানে আমরা শুধু ar থেকে আসা সিরিয়াল ডেটা পড়ছি
Arduino পাইথন ব্যবহার করে MySQL সার্ভারে (PHPMYADMIN) Dht11 ডেটা পাঠাচ্ছে: 5 টি ধাপ
Arduino পাইথন ব্যবহার করে MySQL সার্ভারে (PHPMYADMIN) Dht11 ডেটা পাঠাচ্ছে: এই প্রকল্পে আমি arduino এর সাথে DHT11 ইন্টারফেস করেছি এবং তারপর আমি dht11 এর ডেটা পাঠাচ্ছি যা phpmyadmin ডাটাবেসে আর্দ্রতা এবং তাপমাত্রা। আমাদের পূর্ববর্তী প্রকল্পের বিপরীতে আমরা এই ক্ষেত্রে কোন ইথারনেট ieldাল ব্যবহার করছি না, এখানে আমরা শুধু টি পড়ছি