সুচিপত্র:

ওপেন সোর্স ডেটা লগার (OPENSDL): 5 টি ধাপ (ছবি সহ)
ওপেন সোর্স ডেটা লগার (OPENSDL): 5 টি ধাপ (ছবি সহ)

ভিডিও: ওপেন সোর্স ডেটা লগার (OPENSDL): 5 টি ধাপ (ছবি সহ)

ভিডিও: ওপেন সোর্স ডেটা লগার (OPENSDL): 5 টি ধাপ (ছবি সহ)
ভিডিও: নন-প্রোগ্রামারদের জন্য ডেটা অ্যানালাইসিস: ওপেন সোর্স টুল দিয়ে বিজনেস অ্যানালাইটিক্স 2024, সেপ্টেম্বর
Anonim
ওপেন সোর্স ডেটা লগার (OPENSDL)
ওপেন সোর্স ডেটা লগার (OPENSDL)
ওপেন সোর্স ডেটা লগার (OPENSDL)
ওপেন সোর্স ডেটা লগার (OPENSDL)
ওপেন সোর্স ডেটা লগার (OPENSDL)
ওপেন সোর্স ডেটা লগার (OPENSDL)

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

এটি একটি কাস্টমাইজড এবং সাশ্রয়ী মূল্যের ব্যবস্থার দিকে পরিচালিত করে যা স্টেকহোল্ডারদের পারফরম্যান্স মূল্যায়নের জন্য প্রয়োজনীয় পরিমাপগুলি দক্ষ এবং সাশ্রয়ী উপায়ে একসাথে একাধিক পরিবেশগত পরামিতি লগ করে পরিচালনা করতে সক্ষম করে। উন্নত ওপেন সোর্স ডেটা লগার (OPENSDL) একটি HOBO U12-012 ডেটা লগারের সাথে তুলনা করা হয়েছিল। এই বাণিজ্যিকভাবে উপলব্ধ কাউন্টারপার্ট সিস্টেম, 3 প্যারামিটার পরিমাপ করতে পারে, যথা- তাপমাত্রা, আরএইচ, এবং আলোকসজ্জা, এবং অন্যান্য সেন্সর প্রকারের জন্য একটি বাহ্যিক চ্যানেল। অন্য কোন প্যারামিটার পরিমাপের জন্য একটি ভিন্ন সেন্সিং ডিভাইস প্রয়োজন হবে। পরিমাপের পরামিতিগুলির বৈশিষ্ট্যগুলি মালিকানাধীন হার্ডওয়্যার এবং সফ্টওয়্যারের মধ্যে সীমাবদ্ধ, যা সিস্টেমকে নির্দিষ্ট নির্ভুলতার সাথে নির্দিষ্ট পরামিতিগুলি পরিমাপে সীমাবদ্ধ করে। একটি HOBO U12-012 এর দাম প্রায়, 13, 000 (US $ 185), যেখানে OPENSDL এর দাম ₹ 4, 605 (US $ 66), যা বাণিজ্যিক অংশের প্রায় এক-তৃতীয়াংশ।

একটি Arduino Uno এর সাহায্যে তাপমাত্রা, RH এবং আলোর মাত্রা (আলোকসজ্জা) পর্যবেক্ষণের জন্য একটি ওপেন সোর্স ডেটা লগার এটি OPENSDL ডেটা লগার তৈরির জন্য একটি DIY।

সময় প্রয়োজন: সোল্ডারিংয়ের জন্য 2-3 ঘন্টা, প্যাকেজিংয়ের জন্য 5 ঘন্টা (4 ঘন্টা - 3 ডি প্রিন্টিং এবং লেজার কাটার জন্য 1 ঘন্টা) দক্ষতা প্রয়োজন: সোল্ডারিং, প্রোগ্রামিং এবং ইলেকট্রনিক্সে সামান্য বা কোন জ্ঞান নেই

প্রয়োজনীয় অংশ:

  1. তারের সাথে Arduino Uno
  2. ডেটা লগার ieldাল
  3. CR1220 কয়েন সেল ব্যাটারি
  4. BME280 তাপমাত্রা আর্দ্রতা চাপ সেন্সর ব্রেকআউট বোর্ড
  5. TSL2561 লাইট সেন্সর ব্রেকআউট বোর্ড
  6. ESP01-8266 ওয়াই-ফাই মডিউল
  7. RJ-9 পুরুষ এবং মহিলা সংযোগকারী
  8. Arduino এর জন্য শিল্ড স্ট্যাকিং হেডার
  9. এসডি মেমরি কার্ড (যে কোন ক্ষমতা)
  10. ভেক্টর বোর্ড (26 x 18 গর্ত)
  11. 8 এএ ব্যাটারি ব্যাটারি ধারক

প্রয়োজনীয় সরঞ্জাম:

  • সোল্ডারিং লোহা (35W)
  • ঝাল তার
  • তার কর্তনকারী
  • Crimper হাতিয়ার
  • মাল্টিমিটার

সফ্টওয়্যার প্রয়োজন: Arduino IDE (1.0.5 বা উচ্চতর)

Arduino লাইব্রেরি ব্যবহৃত:

  • তারের লাইব্রেরি
  • স্পার্কফুন TSL2561 লাইব্রেরি
  • ক্যাকটাস BME280 মাল্টিসেন্সর লাইব্রেরি
  • এসডি কার্ড লাইব্রেরি
  • এসপিআই লাইব্রেরি
  • আরটিসি লাইব্রেরি

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

ধাপ 1: সমাবেশ

সমাবেশ
সমাবেশ
সমাবেশ
সমাবেশ
সমাবেশ
সমাবেশ
সমাবেশ
সমাবেশ

ডেটা লগার ieldাল সহজেই Arduino Uno বোর্ডের উপরে স্ট্যাক করা যায়। এই ieldাল ডাটা লগিং ক্ষমতা প্রদান করে (সময় পালন এবং তথ্য সংরক্ষণ)। Ieldালটি স্ট্যাক করতে হয়েছিল। একটি CR1220 মুদ্রা সেল ব্যাটারি প্রদান করা হয়েছে বৃত্তাকার স্লটে যাতে ঘড়িটি চলতে থাকে এমনকি যখন Arduino চালিত থাকে। এসডি মেমরি কার্ডটি অবশ্যই অন-বোর্ড কার্ড স্লটে ertedোকানো উচিত। RJ-9 সংযোগকারী মহিলা পিন এবং Arduino ieldাল স্ট্যাকিং হেডার ব্যবহার করে একটি অনন্য কাস্টমাইজড ieldাল তৈরি করা হয়েছিল। যথাযথ শিরোলেখগুলি যথাযথ স্থানে বিক্রি করা হয়েছিল যাতে duালটি আরডুইনো বোর্ডে পুরোপুরি ফিট হয়। Arduino একপাশে 18 পিন এবং অন্য দিকে 14 পিন আছে। Arduino এর মতো একই সংখ্যক পিনের হেডারগুলি একই ব্যবধানে (18 পিনের ব্যবধানে) ব্যবহার করা হয়েছিল। হেডার সংলগ্ন অবশিষ্ট অতিরিক্ত জায়গা RJ-9 সংযোগকারী স্থাপনের জন্য ব্যবহার করা হয়েছিল।

শিরোলেখগুলি প্রয়োজনীয় পিনগুলি ব্যবহার করার সর্বোত্তম উপায় ছিল, যখন সেগুলি অন্যান্য উপাদানগুলিতে ব্যবহারের জন্য এখনও উপলব্ধ ছিল। ব্যবহৃত সেন্সরগুলি I2C কমিউনিকেশন প্রোটোকল অনুসরণ করে, যার জন্য Arduino থেকে 4 টি পিন প্রয়োজন, যথা: SDA (A4 হিসেবেও পাওয়া যায়), SCL (A5 হিসেবেও পাওয়া যায়), 3.3V এবং GND। আরজে -9 সংযোগকারী থেকে বেরিয়ে আসা চারটি তারের এই চারটি হেডার পিনের মধ্যে বিক্রি করা হয়েছিল। RJ-9 সংযোগকারীর সংখ্যা সেন্সরের সংখ্যার উপর নির্ভর করে। এই প্রকল্পে, 3 টি আরজে -9 সংযোগকারী ব্যবহার করা হয়েছিল (দুটি BME280 এর জন্য এবং একটি TSL2561 এর জন্য)। আরজে -9 সংযোগকারী থেকে বেরিয়ে আসা চারটি তারের রঙিন কোডেড ছিল এবং প্রতিটি রঙের তারকে সমস্ত আরজে -9 সংযোগকারীর জন্য একটি নির্দিষ্ট পিন নির্ধারণ করা হয়েছিল। এটি অবশ্যই লক্ষ্য করা উচিত যে বিভিন্ন RJ-9 টুকরোতে রঙ কোড পরিবর্তিত হতে পারে। এই ধরনের ক্ষেত্রে, সংযোগকারীতে তারের অবস্থান লক্ষ্য করা আবশ্যক। RJ-9 সংযোগকারী, সোল্ডারিং এর পরে, একটি Feviqwik ব্যবহার করে ভেক্টর বোর্ডে আটকে রাখা হয়েছিল, যাতে এটি পৃষ্ঠের উপর স্থির হয়ে যায়। মাল্টিমিটারে ধারাবাহিকতা মোড ব্যবহার করে এই সংযোগগুলি যাচাই করা যায়। যখন ধারাবাহিকতা মোডে, মাল্টিমিটারের শূন্য প্রতিরোধের প্রদর্শন করা উচিত। মাল্টিমিটারের একটি প্রোবকে সোল্ডার্ড পিনের সাথে সংযুক্ত করুন এবং আরজে -9 সংযোগকারীর ভিতরের পিনের সাথে আরেকটি প্রোব সংযুক্ত করুন। মাল্টিমিটারের একটি স্বর নির্গত হওয়া উচিত, যার অর্থ সোল্ডার জয়েন্টগুলি সঠিক, এবং সংযোগগুলি সঠিকভাবে তৈরি করা হয়েছে। যদি স্বর নির্গত না হয়, সোল্ডার জয়েন্টগুলি পরীক্ষা করুন। একইভাবে, সেন্সর ব্রেকআউট বোর্ডগুলিতে একই পিনহোলের সাথে সংযুক্ত একই তারের সাথে RJ-9 সংযোগকারীকে সোল্ডার করুন, যেমন A4, A5, 3.3V & GND। BME280 সেন্সর দুটি I2C ঠিকানা সমর্থন করে, অর্থাৎ দুটি BME280 সেন্সর একই নিয়ামকের সাথে একবারে সংযুক্ত হতে পারে। এটি করার সময়, সেন্সরের একটিতে সোল্ডার প্যাড লাগিয়ে একটি সেন্সরের ঠিকানা পরিবর্তন করতে হবে। একটি ESP-01 বেতার সংযোগ চিপের জন্য Arduino এর সাথে নিম্নলিখিত সংযোগের প্রয়োজন।

ESP-01 --------- Arduino Uno

10 -------------------- TX

11 -------------------- আরএক্স

Vcc ---------------- CH_PD

Vcc ------------------- Vcc

GND ----------------- GND

দ্রষ্টব্য:- ব্যাটারির আয়ু উন্নত করার জন্য Arduino Uno- এর একাধিক LEDs সরানো হয়েছে। শক্তির নির্দেশক LED, RX, এবং TX LEDs সোল্ডার জয়েন্টগুলোকে গরম করে এবং LED কে ফোর্সপস দিয়ে ঠেলে সরিয়ে দেওয়া হয়।

পদক্ষেপ 2: আইডিই এবং লাইব্রেরি সেটআপ করুন

কোন প্রোগ্রামিং করার আগে Arduino IDE (Integrated Development Environment) ডাউনলোড করতে হবে। এই প্ল্যাটফর্মে প্রোগ্রামিং করা হয়েছিল। OPENSDL এর বিভিন্ন উপাদানের সাথে যোগাযোগের জন্য বিভিন্ন লাইব্রেরির প্রয়োজন ছিল। প্রদত্ত উপাদানগুলির জন্য নিম্নলিখিত গ্রন্থাগারগুলি ব্যবহার করা হয়েছিল।

উপাদান ------------------------------------------------- -------------- লাইব্রেরি

BME280 তাপমাত্রা এবং RH সেন্সর --------------------------------- ক্যাকটাস_ও_বিএমই 280_I2C.h

আলো সেন্সর------------------------------------------------ ---------------- স্পার্কফুন TSL2561.h

রিয়েল টাইম ঘড়ি ----------------------------------------------- ------------- RTClib.h

এসডি কার্ড সকেট ----------------------------------------------- ------------- SD.h

I2C সংযোগ ------------------------------------------------ ------------- ওয়্যার.এইচ

ESP01 এর সাথে যোগাযোগের জন্য একটি পৃথক লাইব্রেরির প্রয়োজন নেই কারণ Arduino এ আপলোড করা কোডটিতে AT কমান্ড রয়েছে, যা সিরিয়াল মনিটরে পাঠানো হয়, যেখান থেকে ESP-01 নির্দেশাবলী নেয়। সুতরাং, মূলত, AT কমান্ড যার দ্বারা ESP01 চলে, সিরিয়াল মনিটরে মুদ্রিত হয়, যা ESP-01 দ্বারা একটি ইনপুট কমান্ড হিসাবে নেওয়া হয়। এই লাইব্রেরিগুলি ইনস্টল করার জন্য, এগুলি ডাউনলোড করার পরে, আরডুইনো আইডিই খুলুন, স্কেচ -> লাইব্রেরি অন্তর্ভুক্ত করুন -> জিপ লাইব্রেরি যোগ করুন এবং ডাউনলোড করা লাইব্রেরিগুলি নির্বাচন করুন।

ধাপ 3: সিস্টেম প্রোগ্রামিং

সিস্টেম প্রোগ্রামিং
সিস্টেম প্রোগ্রামিং

OPENSDL প্রোগ্রাম করার আগে, Arduino কে একটি ল্যাপটপের সাথে সংযুক্ত করুন। সংযোগ করার পরে, সরঞ্জাম -> পোর্টে যান এবং COM পোর্ট নির্বাচন করুন যেখানে OPENSDL সংযুক্ত রয়েছে। এছাড়াও, নিশ্চিত করুন যে সরঞ্জাম -> বোর্ডের অধীনে, Arduino Uno নির্বাচন করা হয়েছে।

OPENSDL 2 মোডে কাজ করার জন্য তৈরি করা হয়েছিল। প্রথম মোডে, এটি ডাটা লগার শিল্ডে SD কার্ডের ডেটা সংরক্ষণ করে। দ্বিতীয় মোডে, এটি একটি ইএসপি -01 ওয়াই-ফাই চিপ ব্যবহার করে ইন্টারনেটে ডেটা একটি ওয়েবসাইটে পাঠায়। উভয় মোডের জন্য প্রোগ্রাম ভিন্ন। কোডের এই লাইনগুলি Arduino IDE এডিটরে সরাসরি কপি এবং পেস্ট করা যায় এবং সরাসরি ব্যবহার করা যায়। একবার কোডে, আমাদের প্রয়োজন অনুযায়ী আমাদের কিছু কাস্টমাইজেশন করতে হবে:

  1. লগিং ব্যবধান পরিবর্তন করতে কোডের শেষে বিলম্বের মান (1000) ম্যানুয়ালি পরিবর্তন করুন। মান 1000 মিলিসেকেন্ডে ব্যবধান প্রতিনিধিত্ব করে।
  2. কোডের লাইন সম্পাদনা করুন যা বলে mySensorData = SD.open ("Logged01.csv", FILE_WRITE); এবং Logged01 কে কাঙ্ক্ষিত ফাইলের নামের ফাইলের নাম দিয়ে প্রতিস্থাপন করুন। ফাইলের নামের ঠিক পরে.csv এক্সটেনশন পরিবর্তন করে ফাইলের এক্সটেনশনও পরিবর্তন করা যায়।
  3. মাস্টার/রেফারেন্স সেন্সর এবং BME280 এর মধ্যে পারস্পরিক সম্পর্ক খুঁজে পেয়ে ক্রমাঙ্কন সমীকরণ প্রতিটি সেন্সরের সাথে পরিবর্তিত হবে। সেন্সরগুলি ক্যালিব্রেট করার জন্য সমীকরণের সাথে কোডের এই লাইনটি প্রতিস্থাপন করুন: Serial.print ((1.0533*t2) -2.2374)-ডিফল্ট ঠিকানা (0x77) সহ সেন্সরের জন্য, যেখানে t2 হল তাপমাত্রা সেন্সর থেকে পড়া মান।

OPENSDL- এর দ্বিতীয় উপলব্ধ মোড প্রোগ্রামিং করার জন্য একটি পৃথক প্রোগ্রাম প্রদান করা হয়েছে, যা ওয়্যারলেস সিস্টেম। ESP-01 অবশ্যই OPENSDL- এর সাথে সংযোগ অনুযায়ী ধাপ #2-এ ব্যাখ্যা করা হয়েছে। সংযোগগুলি সম্পন্ন করার পরে, ল্যাপটপে আরডুইনো সংযুক্ত করুন এবং আরডুইনোতে একটি ফাঁকা স্কেচ আপলোড করুন। ESP-01 কে আপডেট মোডে রাখুন এবং ফার্মওয়্যারটিকে সর্বশেষ উপলব্ধ আপডেটে আপডেট করুন। আপডেট করার পরে, Arduino রিসেট পিনটিকে 3.3V পিনের সাথে সংযুক্ত করতে ভুলবেন না, যা Arduino বুটলোডারকে বাইপাস করে

ধাপ 4: ফ্যাব্রিকেশন

বুনন
বুনন
বুনন
বুনন
বুনন
বুনন

OPENSDL এর জন্য একটি ঘের তৈরি করা হয়েছিল সুরক্ষার জন্য এবং নান্দনিকতার উন্নতির জন্য। পিএলএ উপাদান ব্যবহার করে থ্রিডি প্রিন্টিংয়ের মাধ্যমে ক্যাসিংগুলি তৈরি করা হয়েছিল এবং মাইক্রোকন্ট্রোলারের কেসিংটি লেজার দ্বারা এমডিএফ শীট কেটে এবং টুকরোগুলোকে আঠালো করে তৈরি করা হয়েছিল। 3D মুদ্রিত মডেলগুলি স্কেচআপ সফটওয়্যার ব্যবহার করে তৈরি করা হয়েছিল এবং অটোক্যাড ব্যবহার করে লেজার কাটার জন্য 2D dxf অঙ্কন তৈরি করা হয়েছিল।

3D প্রিন্টিংয়ের জন্য, SketchUp ব্যবহার করে উৎপাদিত STL ফাইলগুলি আল্টিমেকার কুরা 3.2.1 সফটওয়্যারে খোলা এবং চেক করা হয়েছিল। নিশ্চিত করুন যে পিএলএ উপাদান ব্যবহার করা হয়েছে, এবং ব্যবহৃত প্রিন্টারের অগ্রভাগ 0.4 মিমি মুদ্রণের জন্য। থ্রিডি প্রিন্টারের বিল্ড প্লেটের জন্য থ্রিডি প্রিন্টেড বস্তুকে আটকে আঠা লাগতে পারে। কিন্তু যখন মুদ্রণ সম্পূর্ণ হয়, আঠা মুদ্রিত বস্তু এবং বিল্ড প্লেটের মধ্যে একটি শক্তিশালী আনুগত্য তৈরি করে।

ধাপ 5: কোড

কোড (.ino ফাইল) Arduino IDE সফটওয়্যারে কাজ করার জন্য তৈরি করা হয়েছে। কোড এবং অন্যান্য বিবরণের জন্য এখানে আমার গিথুব পৃষ্ঠার লিঙ্ক রয়েছে।

github.com/arihant93/OPENSDL

প্রকল্প সম্পর্কে প্রশ্ন করতে দ্বিধা করবেন না দয়া করে।

ধন্যবাদ।

প্রস্তাবিত: