স্পার্কফান লোগোওপেনলগ হুকআপ গাইড

ভূমিকা

সাবধান! এই টিউটোরিয়ালটি সিরিয়াল UART [DEV-13712] এর জন্য ওপেন লগের জন্য। আপনি যদি IC [DEV-15164] এর জন্য Qwiic OpenLog ব্যবহার করেন, তাহলে অনুগ্রহ করে Qwiic OpenLog হুকআপ গাইডটি দেখুন।
ওপেনলগ ডেটা লগার হল আপনার প্রকল্প থেকে সিরিয়াল ডেটা লগ করার জন্য একটি সহজ-ব্যবহারযোগ্য, ওপেন-সোর্স সমাধান। ওপেনলগ একটি প্রকল্প থেকে একটি মাইক্রোএসডি কার্ডে ডেটা লগ করার জন্য একটি সহজ সিরিয়াল ইন্টারফেস প্রদান করে।DEV-13712 স্পার্কফান ডেভেলপমেন্ট বোর্ডস্পার্কফান ওপেনলগ
• DEV-13712DEV-13712 স্পার্কফান ডেভেলপমেন্ট বোর্ড - যন্ত্রাংশহেডার সহ SparkFun OpenLog
• DEV-13955

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

DEV-13712 স্পার্কফান ডেভেলপমেন্ট বোর্ড - পার্টস ১ Arduino Pro Mini 328 – 3.3V/8MHz
DEV-11114 সম্পর্কে
এটা নীল! এটা পাতলা! এটা Arduino Pro Mini! Arduino-তে SparkFun-এর ন্যূনতম নকশা পদ্ধতি। এটি একটি 3.3V Arduino …
DEV-13712 স্পার্কফান ডেভেলপমেন্ট বোর্ড - পার্টস ১ স্পার্কফান এফটিডিআই বেসিক ব্রেকআউট – ৩.৩ ভোল্ট
DEV-09873 সম্পর্কে
এটি আমাদের [FTDI Basic] এর নতুন সংস্করণ (http://www.sparkfun.com/commerce/product_info.php?products_id=…
DEV-13712 স্পার্কফান ডেভেলপমেন্ট বোর্ড - পার্টস ১ স্পার্কফান সার্বেরাস ইউএসবি কেবল – ৬ ফুট
CAB-12016
তোমার কাছে ভুল USB কেবল আছে। তোমার কাছে কোনটি আছে তা বিবেচ্য নয়, এটি ভুল কেবল। কিন্তু যদি তুমি...
DEV-13712 স্পার্কফান ডেভেলপমেন্ট বোর্ড - পার্টস ১ স্পার্কফান ওপেনলগ
DEV-13712 সম্পর্কে
স্পার্কফান ওপেনলগ হল একটি ওপেন সোর্স ডেটা লগার যা একটি সাধারণ সিরিয়াল সংযোগের মাধ্যমে কাজ করে এবং মাই... সমর্থন করে।
DEV-13712 স্পার্কফান ডেভেলপমেন্ট বোর্ড - পার্টস ১ অ্যাডাপ্টার সহ মাইক্রোএসডি কার্ড - ১৬ জিবি (দশম শ্রেণী)
COM-13833
এটি একটি ক্লাস ১০ ১৬ জিবি মাইক্রোএসডি মেমোরি কার্ড, যা একক বোর্ড কম্পিউটারের জন্য অপারেটিং সিস্টেম রাখার জন্য উপযুক্ত ...
DEV-13712 স্পার্কফান ডেভেলপমেন্ট বোর্ড - পার্টস ১ মাইক্রোএসডি ইউএসবি রিডার
COM-13004
এটি একটি অসাধারণ ছোট্ট মাইক্রোএসডি ইউএসবি রিডার। আপনার মাইক্রোএসডি কার্ডটি কেবল ইউএসবি কানেক্টরের ভেতরে স্লাইড করুন, ...
DEV-13712 স্পার্কফান ডেভেলপমেন্ট বোর্ড - পার্টস ১ মহিলা হেডার
PRT-00115
৪০-ছিদ্রের একক সারি, মহিলা হেডার। একজোড়া তার-কাটার দিয়ে আকারে কাটা যেতে পারে। স্ট্যান্ডার্ড .১" ব্যবধান। আমরা ব্যবহার করি …
DEV-13712 স্পার্কফান ডেভেলপমেন্ট বোর্ড - পার্টস ১ জাম্পার ওয়্যারস প্রিমিয়াম ৬″ এম/এম ১০ এর প্যাক
PRT-08431
এটি একটি স্পার্কফান এক্সক্লুসিভ! এগুলি ১৫৫ মিমি লম্বা জাম্পার যার উভয় প্রান্তে পুরুষ সংযোগকারী রয়েছে। জু... ব্যবহার করুন।
DEV-13712 স্পার্কফান ডেভেলপমেন্ট বোর্ড - পার্টস ১ পুরুষ শিরোলেখগুলিকে ব্রেক অ্যাওয়ে করুন - সমকোণ
PRT-00553
সমকোণ পুরুষ হেডারের একটি সারি - ফিট করার জন্য ভাঙা। 40টি পিন যা যেকোনো আকারে কাটা যেতে পারে। কাস্টম পিসিবি বা জেনারেশনের সাথে ব্যবহৃত...

প্রস্তাবিত পড়া
আপনি যদি নিম্নলিখিত ধারণাগুলির সাথে পরিচিত বা স্বাচ্ছন্দ্য বোধ না করেন, তাহলে আমরা আপনাকে OpenLog Hookup Guide চালিয়ে যাওয়ার আগে এগুলি পড়ার পরামর্শ দিচ্ছি।
কীভাবে সোল্ডার করবেন: থ্রু-হোল সোল্ডারিং
এই টিউটোরিয়ালে থ্রু-হোল সোল্ডারিং সম্পর্কে আপনার যা জানা দরকার তার সবকিছুই আলোচনা করা হয়েছে।
সিরিয়াল পেরিফেরাল ইন্টারফেস (SPI)
SPI সাধারণত মাইক্রোকন্ট্রোলারগুলিকে সেন্সর, শিফট রেজিস্টার এবং SD কার্ডের মতো পেরিফেরালগুলির সাথে সংযুক্ত করতে ব্যবহৃত হয়।
সিরিয়াল কমিউনিকেশন
অ্যাসিঙ্ক্রোনাস সিরিয়াল যোগাযোগ ধারণা: প্যাকেট, সিগন্যাল লেভেল, বড রেট, ইউএআরটি এবং আরও অনেক কিছু!
সিরিয়াল টার্মিনালের মূল বিষয়গুলি
এই টিউটোরিয়ালটি আপনাকে দেখাবে কিভাবে বিভিন্ন ধরণের টার্মিনাল এমুলেটর অ্যাপ্লিকেশন ব্যবহার করে আপনার সিরিয়াল ডিভাইসের সাথে যোগাযোগ করতে হয়।

হার্ডওয়্যার ওভারview

শক্তি
ওপেনলগ নিম্নলিখিত সেটিংসে চলে:
ওপেনলগ পাওয়ার রেটিং

ভিসিসি ইনপুট ৩.৩V-১২V (প্রস্তাবিত ৩.৩V-৫V)
RXI ইনপুট 2.0V-3.8V
TXO আউটপুট 3.3V
নিষ্ক্রিয় বর্তমান অঙ্কন ~২ এমএ-৫ এমএ (মাইক্রোএসডি কার্ড ছাড়া), ~৫ এমএ-৬ এমএ (মাইক্রোএসডি কার্ড ছাড়া)
সক্রিয় লেখার বর্তমান অঙ্কন ~২০-২৩ এমএ (মাইক্রোএসডি কার্ড সহ)

মাইক্রোএসডিতে লেখার সময় ওপেনলগের বর্তমান ড্র প্রায় ২০ এমএ থেকে ২৩ এমএ। মাইক্রোএসডি কার্ডের আকার এবং এর প্রস্তুতকারকের উপর নির্ভর করে, ওপেনলগ মেমোরি কার্ডে লেখার সময় সক্রিয় কারেন্ট ড্র পরিবর্তিত হতে পারে। বড রেট বাড়ালে আরও বেশি কারেন্ট টানবে।
মাইক্রোকন্ট্রোলার
OpenLog একটি অনবোর্ড ATmega328 এর উপর ভিত্তি করে তৈরি, যা অনবোর্ড ক্রিস্টালের জন্য 16MHz এ চলে। ATmega328 তে Optiboot বুটলোডার লোড করা আছে, যা OpenLog কে Arduino IDE তে "Arduino Uno" বোর্ড সেটিং এর সাথে সামঞ্জস্যপূর্ণ হতে দেয়।DEV-13712 স্পার্কফান ডেভেলপমেন্ট বোর্ড - বুটলোডারইন্টারফেস
সিরিয়াল UART
ওপেনলগের প্রাথমিক ইন্টারফেস হল বোর্ডের প্রান্তে থাকা FTDI হেডার। এই হেডারটি সরাসরি একটি Arduino Pro বা Pro Mini-তে প্লাগ করার জন্য ডিজাইন করা হয়েছে, যা মাইক্রোকন্ট্রোলারকে সিরিয়াল সংযোগের মাধ্যমে OpenLog-এ ডেটা পাঠাতে দেয়।DEV-13712 স্পার্কফান ডেভেলপমেন্ট বোর্ড - বোর্ড এজ

সতর্কতা ! পিন অর্ডারিং এর কারণে এটি Arduino এর সাথে সামঞ্জস্যপূর্ণ, এটি সরাসরি FTDI ব্রেকআউট বোর্ডে প্লাগ করতে পারে না। DEV-13712 স্পার্কফান ডেভেলপমেন্ট বোর্ড - বোর্ড এজ ১আরও তথ্যের জন্য, হার্ডওয়্যার সংযোগের পরবর্তী বিভাগটি অবশ্যই দেখে নিন।
এসপিআই
বোর্ডের বিপরীত প্রান্তে চারটি SPI টেস্ট পয়েন্টও রয়েছে। আপনি ATmega328-এ বুটলোডার পুনরায় প্রোগ্রাম করতে এগুলি ব্যবহার করতে পারেন।DEV-13712 স্পার্কফান ডেভেলপমেন্ট বোর্ড - বোর্ড এজ ১সর্বশেষ ওপেনলগ (DEV-13712) ছোট প্লেটেড থ্রু হোলগুলিতে এই পিনগুলি ভেঙে দেয়। যদি আপনার OpenLog-এ একটি নতুন বুটলোডার পুনরায় প্রোগ্রাম করতে বা আপলোড করতে কোনও ISP ব্যবহার করার প্রয়োজন হয়, তাহলে আপনি এই পরীক্ষা পয়েন্টগুলিতে সংযোগ করতে পোগো পিন ব্যবহার করতে পারেন।
ওপেনলগের সাথে যোগাযোগের জন্য চূড়ান্ত ইন্টারফেস হল মাইক্রোএসডি কার্ড। যোগাযোগের জন্য, মাইক্রোএসডি কার্ডের SPI পিন প্রয়োজন। ওপেনলগ কেবল এখানেই ডেটা সংরক্ষণ করে না, আপনি config.txt ফাইলের মাধ্যমে ওপেনলগের কনফিগারেশনও আপডেট করতে পারেন। file মাইক্রোএসডি কার্ডে।
মাইক্রোএসডি কার্ড
ওপেনলগ দ্বারা লগ করা সমস্ত ডেটা মাইক্রোএসডি কার্ডে সংরক্ষণ করা হয়। ওপেনলগ নিম্নলিখিত বৈশিষ্ট্যগুলি সহ মাইক্রোএসডি কার্ডগুলির সাথে কাজ করে:

  • 64MB থেকে 32GB
  • FAT16 বা FAT32

DEV-13712 স্পার্কফান ডেভেলপমেন্ট বোর্ড - বোর্ড এজ ১

এলইডি স্ট্যাটাস
সমস্যা সমাধানে আপনাকে সাহায্য করার জন্য OpenLog-এ দুটি স্ট্যাটাস LED রয়েছে।

  • STAT1 – এই নীল ইন্ডিকেটর LED Arduino D5 (ATmega328 PD5) এর সাথে সংযুক্ত এবং নতুন ক্যারেক্টার এলে এটি চালু/বন্ধ হয়ে যায়। সিরিয়াল কমিউনিকেশন চালু হলে এই LED জ্বলজ্বল করে।
  • STAT2 – এই সবুজ LED টি Arduino D13 (SPI Serial Clock Line/ ATmega328 PB5) এর সাথে সংযুক্ত। এই LED টি শুধুমাত্র SPI ইন্টারফেস সক্রিয় থাকলেই জ্বলজ্বল করে। OpenLog যখন 512 বাইট মাইক্রোএসডি কার্ডে রেকর্ড করে তখন আপনি এটি ফ্ল্যাশ করতে দেখতে পাবেন।

DEV-13712 স্পার্কফান ডেভেলপমেন্ট বোর্ড - বোর্ড এজ ১

হার্ডওয়্যার হুকআপ

আপনার OpenLog কে একটি সার্কিটের সাথে সংযুক্ত করার জন্য দুটি প্রধান পদ্ধতি রয়েছে। সংযোগের জন্য আপনার কিছু হেডার বা তারের প্রয়োজন হবে। একটি নিরাপদ সংযোগের জন্য নিশ্চিত করুন যে আপনি বোর্ডের সাথে সোল্ডার করেছেন।
বেসিক সিরিয়াল সংযোগ
টিপ: যদি আপনার FTDI তে একটি মহিলা হেডার থাকে, তাহলে OpenLog এবং মহিলা হেডার থাকে, তাহলে সংযোগের জন্য আপনার M/F জাম্পার তারের প্রয়োজন হবে।DEV-13712 SparkFun ডেভেলপমেন্ট বোর্ড - বেসিক সিরিয়াল সংযোগ

এই হার্ডওয়্যার সংযোগটি একটি OpenLog এর সাথে ইন্টারফেস করার জন্য ডিজাইন করা হয়েছে যদি আপনার বোর্ডটি পুনরায় প্রোগ্রাম করার প্রয়োজন হয়, অথবা একটি মৌলিক সিরিয়াল সংযোগের মাধ্যমে ডেটা লগ করার প্রয়োজন হয়।
নিম্নলিখিত সংযোগগুলি তৈরি করুন:
ওপেনলগ → ৩.৩V FTDI বেসিক ব্রেকআউট

  • GND → GND
  • GND → GND
  • ভিসিসি → ৩.৩ ভোল্ট
  • TXO → RXI
  • RXI → TXO
  • ডিটিআর → ডিটিআর

লক্ষ্য করুন যে এটি FTDI এবং OpenLog এর মধ্যে সরাসরি সংযোগ নয় - আপনাকে TXO এবং RXI পিন সংযোগগুলি স্যুইচ করতে হবে।
আপনার সংযোগগুলি এইরকম হওয়া উচিত: DEV-13712 স্পার্কফান ডেভেলপমেন্ট বোর্ড - বেসিক ব্রেকআউটএকবার OpenLog এবং FTDI Basic এর মধ্যে সংযোগ স্থাপন হয়ে গেলে, আপনার FTDI বোর্ডটি একটি USB কেবলের সাথে এবং আপনার কম্পিউটারে প্লাগ করুন।
একটি সিরিয়াল টার্মিনাল খুলুন, আপনার FTDI বেসিকের COM পোর্টের সাথে সংযোগ করুন, এবং শহরে যান!

প্রকল্পের হার্ডওয়্যার সংযোগ

টিপ: যদি ওপেনলগে মহিলা হেডারগুলি সোল্ডার করা থাকে, তাহলে আপনি তারের প্রয়োজন ছাড়াই বোর্ডগুলিকে একসাথে প্লাগ করার জন্য পুরুষ হেডারগুলিকে Arduino Pro Mini-তে সোল্ডার করতে পারেন।DEV-13712 SparkFun ডেভেলপমেন্ট বোর্ড - প্রজেক্ট হার্ডওয়্যার সংযোগপুনঃপ্রোগ্রামিং বা ডিবাগিংয়ের জন্য সিরিয়াল সংযোগের মাধ্যমে OpenLog এর সাথে ইন্টারফেসিং গুরুত্বপূর্ণ হলেও, OpenLog যেখানে জ্বলে তা একটি এমবেডেড প্রকল্পে। এই সাধারণ সার্কিটটি ব্যবহার করে আমরা আপনাকে আপনার OpenLog কে একটি মাইক্রোকন্ট্রোলারের সাথে সংযুক্ত করার পরামর্শ দিচ্ছি (এই ক্ষেত্রে, একটি Arduino Pro Mini) যা OpenLog এ সিরিয়াল ডেটা লিখবে।
প্রথমে আপনাকে আপনার প্রো মিনিতে কোডটি আপলোড করতে হবে যা আপনি চালাতে চান। কিছু উদাহরণের জন্য দয়া করে Arduino স্কেচগুলি দেখুনampআপনি যে কোডটি ব্যবহার করতে পারেন।
দ্রষ্টব্য: আপনার প্রো মিনি কীভাবে প্রোগ্রাম করবেন তা যদি আপনি নিশ্চিত না হন, তাহলে অনুগ্রহ করে আমাদের টিউটোরিয়ালটি এখানে দেখুন।
Arduino Pro Mini 3.3V ব্যবহার করে
এই টিউটোরিয়ালটি Arduino Pro Mini সম্পর্কে সকল কিছু জানার জন্য আপনার গাইড। এটি ব্যাখ্যা করে যে এটি কী, কী নয় এবং কীভাবে এটি ব্যবহার শুরু করবেন।
একবার আপনার প্রো মিনি প্রোগ্রাম করা হয়ে গেলে, আপনি FTDI বোর্ডটি সরিয়ে ফেলতে পারেন এবং এটি OpenLog দিয়ে প্রতিস্থাপন করতে পারেন।
Pro Mini এবং OpenLog উভয়ের ক্ষেত্রেই BLK লেবেলযুক্ত পিনগুলি সংযুক্ত করতে ভুলবেন না (সঠিকভাবে করা হলে উভয়ের ক্ষেত্রেই GRN লেবেলযুক্ত পিনগুলিও মিলবে)।
যদি আপনি OpenLog সরাসরি Pro Mini-তে প্লাগ করতে না পারেন (হেডার বা অন্যান্য বোর্ডের অমিলের কারণে), তাহলে আপনি জাম্পার তার ব্যবহার করতে পারেন এবং নিম্নলিখিত সংযোগগুলি তৈরি করতে পারেন।
OpenLog → Arduino Pro/Arduino Pro Mini

  • GND → GND
  • GND → GND
  • ভিসিসি → ভিসিসি
  • TXO → RXI
  • RXI → TXO
  • ডিটিআর → ডিটিআর

একবার কাজ শেষ হয়ে গেলে, Arduino Pro Mini এবং Arduino Pro এর সাথে আপনার সংযোগগুলি নিচের মতো দেখাবে।
ফ্রিটজিং ডায়াগ্রামে হেডারগুলি মিরর করা ওপেনলগগুলি দেখানো হয়েছে। যদি আপনি আরডুইনোর উপরের অংশের সাথে মাইক্রোএসডি সকেটটি উল্টান view, তাদের FTDI এর মতো প্রোগ্রামিং হেডারের সাথে মিল থাকা উচিত।DEV-13712 SparkFun ডেভেলপমেন্ট বোর্ড - প্রজেক্ট হার্ডওয়্যার সংযোগ 1

দ্রষ্টব্য সংযোগটি ওপেনলগের সাথে "উল্টো" (মাইক্রোএসডি উপরের দিকে মুখ করে) সরাসরি শট।
⚡দ্রষ্টব্য: যেহেতু OpenLog এবং Arduino এর মধ্যে Vcc এবং GND হেডার দ্বারা দখল করা হচ্ছে, তাই আপনাকে Arduino এর অন্যান্য পিনের সাথে পাওয়ার সংযোগ করতে হবে। অন্যথায়, আপনি উভয় বোর্ডের উন্মুক্ত পাওয়ার পিনে তারগুলি সোল্ডার করতে পারেন।
আপনার সিস্টেমটি চালু করুন, এবং আপনি লগিং শুরু করতে প্রস্তুত!

Arduino স্কেচ

ছয়টি ভিন্ন প্রাক্তন আছেampওপেনলগের সাথে সংযুক্ত থাকাকালীন আপনি Arduino-তে যে স্কেচগুলি ব্যবহার করতে পারবেন তা অন্তর্ভুক্ত ছিল।

  • OpenLog_Benchmarking — এই প্রাক্তনampওপেনলগ পরীক্ষা করার জন্য le ব্যবহার করা হয়। এটি একাধিক মাধ্যমে 115200bps গতিতে খুব বেশি পরিমাণে ডেটা পাঠায় files.
  • OpenLog_CommandTest — এই প্রাক্তনample দেখায় কিভাবে তৈরি এবং যোগ করতে হয় file Arduino এর মাধ্যমে কমান্ড লাইন নিয়ন্ত্রণের মাধ্যমে।
  • ওপেনলগ_রিডএক্সampলে — এই প্রাক্তনampকমান্ড লাইনের মাধ্যমে ওপেনলগ কীভাবে নিয়ন্ত্রণ করতে হয় তা দেখা যাচ্ছে।
  • ওপেনলগ_রিডএক্সampলে_লার্জFile — প্রাক্তনampকিভাবে একটি বড় স্টোর খুলতে হয় তার কিছু তথ্য file OpenLog-এ যান এবং স্থানীয় ব্লুটুথ সংযোগের মাধ্যমে এটি রিপোর্ট করুন।
  • OpenLog_Test_Sketch — প্রচুর সিরিয়াল ডেটা দিয়ে OpenLog পরীক্ষা করতে ব্যবহৃত হয়।
  • OpenLog_Test_Sketch_Binary — বাইনারি ডেটা এবং এস্কেপ অক্ষর দিয়ে OpenLog পরীক্ষা করতে ব্যবহৃত হয়।

ফার্মওয়্যার

ওপেনলগে দুটি প্রাথমিক সফ্টওয়্যার রয়েছে: বুটলোডার এবং ফার্মওয়্যার।
আরডুইনো বুটলোডার
দ্রষ্টব্য: যদি আপনি মার্চ ২০১২ এর আগে কেনা একটি OpenLog ব্যবহার করেন, তাহলে অনবোর্ড বুটলোডারটি Arduino IDE-তে "Arduino Pro অথবা Pro Mini 2012V/5MHz w/ ATmega16" সেটিং এর সাথে সামঞ্জস্যপূর্ণ।
আগেই উল্লেখ করা হয়েছে, OpenLog-এ Optiboot সিরিয়াল বুটলোডার রয়েছে। আপনি যখন ex আপলোড করবেন তখন OpenLog-কে Arduino Uno-এর মতোই ব্যবহার করতে পারবেন।ampবোর্ডে কোড অথবা নতুন ফার্মওয়্যার।
যদি আপনার OpenLog ব্রিক করে বুটলোডারটি পুনরায় ইনস্টল করার প্রয়োজন হয়, তাহলে আপনাকে বোর্ডে Optiboot আপলোড করতে হবে। আরও তথ্যের জন্য অনুগ্রহ করে Arduino বুটলোডার ইনস্টল করার বিষয়ে আমাদের টিউটোরিয়ালটি দেখুন।
ওপেনলগে ফার্মওয়্যার কম্পাইল এবং লোড করা হচ্ছে
দ্রষ্টব্য: যদি আপনি প্রথমবার Arduino ব্যবহার করেন, তাহলে অনুগ্রহ করে আবারview Arduino IDE ইনস্টল করার বিষয়ে আমাদের টিউটোরিয়াল। যদি আপনি আগে Arduino লাইব্রেরি ইনস্টল না করে থাকেন, তাহলে লাইব্রেরিগুলি ম্যানুয়ালি ইনস্টল করার জন্য আমাদের ইনস্টলেশন গাইডটি দেখুন।
যদি কোনও কারণে আপনার OpenLog-এ ফার্মওয়্যার আপডেট বা পুনরায় ইনস্টল করার প্রয়োজন হয়, তাহলে নিম্নলিখিত প্রক্রিয়াটি আপনার বোর্ডকে চালু এবং চালু করবে।
প্রথমে, দয়া করে Arduino IDE v1.6.5 ডাউনলোড করুন। IDE-এর অন্যান্য সংস্করণগুলি OpenLog ফার্মওয়্যার কম্পাইল করার জন্য কাজ করতে পারে, তবে আমরা এটিকে একটি পরিচিত ভালো সংস্করণ হিসেবে যাচাই করেছি।
এরপর, OpenLog ফার্মওয়্যার এবং প্রয়োজনীয় লাইব্রেরি বান্ডেল ডাউনলোড করুন।

ওপেনলগ ফার্মওয়্যার বান্ডেল (জিপ) ডাউনলোড করুন
লাইব্রেরি এবং ফার্মওয়্যার ডাউনলোড হয়ে গেলে, Arduino-তে লাইব্রেরিগুলি ইনস্টল করুন। IDE-তে লাইব্রেরিগুলি কীভাবে ম্যানুয়ালি ইনস্টল করবেন তা যদি আপনি নিশ্চিত না হন, তাহলে অনুগ্রহ করে আমাদের টিউটোরিয়ালটি দেখুন: Arduino লাইব্রেরি ইনস্টল করা: ম্যানুয়ালি লাইব্রেরি ইনস্টল করা।
দ্রষ্টব্য: আমরা SdFat এবং SerialPort লাইব্রেরির পরিবর্তিত সংস্করণ ব্যবহার করছি যাতে TX এবং RX বাফারগুলি কত বড় হওয়া উচিত তা ইচ্ছামত ঘোষণা করা যায়। OpenLog-এর জন্য TX বাফারটি খুব ছোট (0) এবং RX বাফারটি যতটা সম্ভব বড় হওয়া প্রয়োজন। এই দুটি পরিবর্তিত লাইব্রেরি একসাথে ব্যবহার করলে OpenLog-এর কর্মক্ষমতা বৃদ্ধি পায়।
সর্বশেষ সংস্করণ খুঁজছেন? যদি আপনি লাইব্রেরি এবং ফার্মওয়্যারের সবচেয়ে আপ-টু-ডেট সংস্করণগুলি পছন্দ করেন, তাহলে আপনি নীচের লিঙ্কে থাকা GitHub রিপোজিটরিগুলি থেকে সরাসরি সেগুলি ডাউনলোড করতে পারেন। SdFatLib এবং Serial Port লাইব্রেরিগুলি Arduino বোর্ড ম্যানেজারে দৃশ্যমান নয় তাই আপনাকে লাইব্রেরিটি ম্যানুয়ালি ইনস্টল করতে হবে।

  • GitHub: OpenLog> Firmware> OpenLog_Firmware
  • বিল গ্রেইম্যানের আরডুইনো লাইব্রেরি
    SdFatLib-বিটা
    সিরিয়ালপোর্ট

এরপর, অ্যাডভান্স নিতেtagপরিবর্তিত লাইব্রেরিগুলির e, SerialPort.h পরিবর্তন করুন file \Arduino\Libraries\SerialPort ডিরেক্টরিতে পাওয়া গেছে। BUFFERED_TX কে 0 এবং ENABLE_RX_ERROR_CHECKING কে 0 এ পরিবর্তন করুন। সংরক্ষণ করুন file, এবং Arduino IDE খুলুন।
যদি আপনি এখনও না করে থাকেন, তাহলে আপনার OpenLog কে একটি FTDI বোর্ডের মাধ্যমে কম্পিউটারের সাথে সংযুক্ত করুন। অনুগ্রহ করে প্রাক্তনটি দুবার পরীক্ষা করুন।ampযদি আপনি নিশ্চিত না হন যে এটি কীভাবে সঠিকভাবে করবেন, তাহলে le সার্কিট।
Tools>Board মেনু থেকে আপনি যে OpenLog স্কেচটি আপলোড করতে চান তা খুলুন, "Arduino/Genuino Uno" নির্বাচন করুন, এবং Tools>Port থেকে আপনার FTDI বোর্ডের জন্য সঠিক COM পোর্টটি নির্বাচন করুন।
কোডটি আপলোড করুন।
এই তো! আপনার OpenLog এখন নতুন ফার্মওয়্যার দিয়ে প্রোগ্রাম করা হয়েছে। আপনি এখন একটি সিরিয়াল মনিটর খুলতে পারেন এবং OpenLog এর সাথে ইন্টারঅ্যাক্ট করতে পারেন। পাওয়ার আপ করার সময়, আপনি 12> অথবা 12< দেখতে পাবেন। 1 নির্দেশ করে যে সিরিয়াল সংযোগ স্থাপন করা হয়েছে, 2 নির্দেশ করে যে SD কার্ড সফলভাবে শুরু হয়েছে, নির্দেশ করে যে OpenLog যেকোনো প্রাপ্ত সিরিয়াল ডেটা লগ করার জন্য প্রস্তুত এবং > নির্দেশ করে যে OpenLog কমান্ড গ্রহণের জন্য প্রস্তুত।
ওপেনলগ ফার্মওয়্যার স্কেচ
আপনার নির্দিষ্ট অ্যাপ্লিকেশনের উপর নির্ভর করে, OpenLog-এ আপনি তিনটি অন্তর্ভুক্ত স্কেচ ব্যবহার করতে পারেন।

  • OpenLog – এই ফার্মওয়্যারটি ডিফল্টরূপে OpenLog-এ পাঠানো হয়। ? কমান্ডটি পাঠানো হলে একটি ইউনিটে লোড করা ফার্মওয়্যার সংস্করণটি দেখাবে।
  • OpenLog_Light – স্কেচের এই সংস্করণটি মেনু এবং কমান্ড মোড সরিয়ে দেয়, যার ফলে রিসিভ বাফার বাড়ানো সম্ভব হয়। এটি উচ্চ-গতির লগিংয়ের জন্য একটি ভালো বিকল্প।
  • OpenLog_Minimal – বড রেট কোডে সেট করে আপলোড করতে হবে। এই স্কেচটি অভিজ্ঞ ব্যবহারকারীদের জন্য সুপারিশ করা হয় তবে সর্বোচ্চ গতির লগিংয়ের জন্যও এটি সেরা বিকল্প।

কমান্ড সেট

আপনি একটি সিরিয়াল টার্মিনালের মাধ্যমে OpenLog এর সাথে ইন্টারফেস করতে পারেন। নিম্নলিখিত কমান্ডগুলি আপনাকে পড়তে, লিখতে এবং মুছে ফেলতে সাহায্য করবে files, এবং OpenLog এর সেটিংস পরিবর্তন করুন। নিম্নলিখিত সেটিংস ব্যবহার করার জন্য আপনাকে কমান্ড মোডে থাকতে হবে।
ওপেনলগ কমান্ড মোডে থাকাকালীন, STAT1 প্রাপ্ত প্রতিটি অক্ষরের জন্য চালু/বন্ধ টগল করবে। পরবর্তী অক্ষরটি প্রাপ্ত না হওয়া পর্যন্ত LED চালু থাকবে।

File ম্যানিপুলেশন

  • নতুন File - একটি নতুন তৈরি করে file নাম File বর্তমান ডিরেক্টরিতে। স্ট্যান্ডার্ড 8.3 fileনামগুলি সমর্থিত।
    প্রাক্তন জন্যample, “87654321.123” গ্রহণযোগ্য, যেখানে “987654321.123” গ্রহণযোগ্য নয়।
    • প্রাক্তনampলে: নতুন file১.টেক্সট
  • সংযোজন করা File – শেষে লেখাটি যুক্ত করুন File। এরপর UART থেকে সিরিয়াল ডেটা একটি স্ট্রীমে পড়া হয় এবং এটিকে file। এটি সিরিয়াল টার্মিনালে প্রতিধ্বনিত হয় না। যদি File যখন এই ফাংশনটি ডাকা হয় তখন এর অস্তিত্ব থাকে না, file তৈরি করা হবে।
    • প্রাক্তনampলে: নতুন যোগ করুনfile.csv
  • লিখুন File অফসেট - এতে টেক্সট লিখুন File অবস্থান থেকে OFFSET এর মধ্যে file। লেখাটি UART থেকে লাইন বাই লাইন পড়া হয় এবং আবার প্রতিধ্বনিত হয়। এই অবস্থা থেকে বেরিয়ে আসতে, একটি খালি লাইন পাঠান।
    • প্রাক্তনampলে: logs.txt 516 লিখুন
  • rm File - মুছে ফেলা হয় File বর্তমান ডিরেক্টরি থেকে। ওয়াইল্ডকার্ড সমর্থিত।
    • প্রাক্তনampলে: rm README.txt
  • আকার File - আউটপুট আকার File বাইটে।
    • প্রাক্তনampলে: আকার Log112.csv
    • আউটপুট: ১১
  • পড়া File + START+ LENGTH TYPE – এর কন্টেন্ট আউটপুট করুন File START থেকে শুরু করে LENGTH পর্যন্ত।
    যদি START বাদ দেওয়া হয়, তাহলে সম্পূর্ণ file রিপোর্ট করা হয়। যদি LENGTH বাদ দেওয়া হয়, তাহলে শুরুর বিন্দু থেকে সম্পূর্ণ বিষয়বস্তু রিপোর্ট করা হয়। যদি TYPE বাদ দেওয়া হয়, তাহলে OpenLog ASCII-তে রিপোর্টিং-এ ডিফল্ট হবে। তিনটি আউটপুট TYPE আছে:
    • ASCII = ১
    • হেক্স = ২
    • RAW = 3
    আপনি কিছু পরবর্তী যুক্তি বাদ দিতে পারেন। নিম্নলিখিত উদাহরণটি পরীক্ষা করুনampলেস
    মৌলিক পঠিত + বাদ দেওয়া পতাকা:
    • প্রাক্তনampলে: LOG00004.txt পড়ুন
    • আউটপুট: অ্যাক্সিলোমিটার X=12 Y=215 Z=317
    ৫ দৈর্ঘ্যের সাথে শুরু ০ থেকে পড়ুন:
    • প্রাক্তনample: LOG00004.txt 0 5 পড়ুন
    • আউটপুট: অ্যাক্সেল
    HEX-এ ৫ দৈর্ঘ্যের অবস্থান ১ থেকে পড়ুন:
    • প্রাক্তনample: LOG00004.txt পড়ুন 1 5 2
    • আউটপুট: 63 63 65 6C
  • RAW তে 0 দৈর্ঘ্যের সাথে 50 অবস্থান থেকে পড়ুন:
  • • প্রাক্তনample: LOG00137.txt পড়ুন 0 50 3
  • • আউটপুট: আন্দ্রে– -þ বর্ধিত চরিত্র পরীক্ষা
  • বিড়াল File – একটি বিষয়বস্তু লিখুন file সিরিয়াল মনিটরে হেক্সে viewing. এটি কখনও কখনও দেখতে সহায়ক যে একটি file SD কার্ড না টেনেই সঠিকভাবে রেকর্ডিং করছে এবং view দ file একটি কম্পিউটারে.
    • প্রাক্তনampলে: বিড়াল LOG00004.txt
    • আউটপুট: 00000000: 41 63 65 6c 3a 20 31

ডিরেক্টরি ম্যানিপুলেশন

  • ls – বর্তমান ডিরেক্টরির সকল বিষয়বস্তু তালিকাভুক্ত করে। ওয়াইল্ডকার্ড সমর্থিত।
    • প্রাক্তনampলে: এলএস
    • আউটপুট: \src
  • md সাবডিরেক্টরি – বর্তমান ডিরেক্টরিতে সাবডিরেক্টরি তৈরি করুন।
    • প্রাক্তনampলে: এমডি এক্সampলে_স্কেচ
  • সিডি সাবডিরেক্টরি – সাবডিরেক্টরিতে পরিবর্তন করুন।
    • প্রাক্তনampলে: সিডি হ্যালো_ওয়ার্ল্ড
  • cd.. – ট্রিতে একটি নিম্ন ডিরেক্টরিতে পরিবর্তন করুন। মনে রাখবেন যে 'cd' এবং '..' এর মধ্যে একটি স্থান রয়েছে। এটি স্ট্রিং পার্সারকে cd কমান্ড দেখতে দেয়।
    • প্রাক্তনampলে: সিডি..
  • rm সাবডিরেক্টরি – সাবডিরেক্টরি মুছে ফেলে। এই কমান্ডটি কাজ করার জন্য ডিরেক্টরিটি খালি থাকতে হবে।
    • প্রাক্তনampসময়: ঠিক রাতের তাপমাত্রা
  • rm -rf ডিরেক্টরি – ডিরেক্টরি এবং যেকোনো মুছে ফেলে fileএর ভেতরেই আছে।
    • প্রাক্তনample: rm -rf লাইব্রেরি

নিম্ন স্তরের ফাংশন কমান্ড

  • ? – এই কমান্ডটি OpenLog-এ উপলব্ধ কমান্ডগুলির একটি তালিকা প্রদর্শন করবে।
  • ডিস্ক - কার্ড প্রস্তুতকারকের আইডি, সিরিয়াল নম্বর, তৈরির তারিখ এবং কার্ডের আকার দেখান। উদাহরণampআউটপুট হল:
    কার্ডের ধরণ: SD2
    প্রস্তুতকারকের আইডি: ৩
    OEM আইডি: এসডি
    পণ্য: SU01G
    সংস্করণ: 8.0
    ক্রমিক নম্বর: 39723042
    উত্পাদন তারিখ: 1/2010
    কার্ডের আকার: ৯৬৫১২০ কেবি
  • init – সিস্টেমটি পুনরায় চালু করুন এবং SD কার্ডটি পুনরায় খুলুন। SD কার্ডটি সাড়া দেওয়া বন্ধ করে দিলে এটি সহায়ক।
  • সিঙ্ক - বাফারের বর্তমান বিষয়বস্তুগুলিকে SD কার্ডের সাথে সিঙ্ক্রোনাইজ করে। যদি আপনার বাফারে 512 টির কম অক্ষর থাকে এবং আপনি সেগুলি SD কার্ডে রেকর্ড করতে চান তবে এই কমান্ডটি কার্যকর।
  • রিসেট - OpenLog কে শূন্য স্থানে নিয়ে যায়, বুটলোডার পুনরায় চালায় এবং তারপর init কোড চালায়। কনফিগারেশন সম্পাদনা করার প্রয়োজন হলে এই কমান্ডটি সহায়ক। file, OpenLog রিসেট করুন এবং নতুন কনফিগারেশন ব্যবহার শুরু করুন। বোর্ড রিসেট করার জন্য পাওয়ার সাইক্লিং এখনও পছন্দের পদ্ধতি, তবে এই বিকল্পটি উপলব্ধ।

সিস্টেম সেটিংস

এই সেটিংসগুলি config.txt ফাইলে ম্যানুয়ালি আপডেট করা যেতে পারে, অথবা সম্পাদনা করা যেতে পারে। file.

  • echo STATE – সিস্টেমের echo অবস্থা পরিবর্তন করে এবং সিস্টেম মেমোরিতে সংরক্ষণ করা হয়। STATE হয় চালু বা বন্ধ হতে পারে। চালু থাকাকালীন, OpenLog কমান্ড প্রম্পটে প্রাপ্ত সিরিয়াল ডেটা প্রতিধ্বনিত করবে। বন্ধ থাকাকালীন, সিস্টেম প্রাপ্ত অক্ষরগুলি ফিরে পড়ে না।
    দ্রষ্টব্য: স্বাভাবিক লগিংয়ের সময়, প্রতিধ্বনি বন্ধ থাকবে। লগিংয়ের সময় প্রাপ্ত তথ্য প্রতিধ্বনির জন্য সিস্টেম রিসোর্সের চাহিদা অত্যধিক।
  • verbose STATE – verbose ত্রুটি প্রতিবেদনের অবস্থা পরিবর্তন করে। STATE হয় চালু বা বন্ধ হতে পারে। এই কমান্ডটি মেমরিতে সংরক্ষণ করা হয়। verbose ত্রুটিগুলি বন্ধ করে, OpenLog অজানা কমান্ডের পরিবর্তে শুধুমাত্র ! দিয়ে প্রতিক্রিয়া জানাবে। সম্পূর্ণ ত্রুটির চেয়ে এমবেডেড সিস্টেমগুলির জন্য ! অক্ষরটি পার্স করা সহজ। আপনি যদি একটি টার্মিনাল ব্যবহার করেন, তাহলে verbose চালু রাখলে আপনি সম্পূর্ণ ত্রুটি বার্তা দেখতে পাবেন।
  • baud – এই কমান্ডটি একটি সিস্টেম মেনু খুলবে যা ব্যবহারকারীকে একটি baud রেট প্রবেশ করার অনুমতি দেবে। 300bps এবং 1Mbps এর মধ্যে যেকোনো baud রেট সমর্থিত। baud রেট নির্বাচন তাৎক্ষণিকভাবে করা হয় এবং সেটিংস কার্যকর করার জন্য OpenLog-এর একটি পাওয়ার চক্র প্রয়োজন। baud রেট EEPROM-এ সংরক্ষণ করা হয় এবং প্রতিবার OpenLog চালু হলে লোড করা হয়। ডিফল্ট হল 9600 8N1।

মনে রাখবেন: যদি আপনি বোর্ডটিকে অজানা বড রেটে আটকে রাখেন, তাহলে আপনি RX কে GND এর সাথে সংযুক্ত করে OpenLog চালু করতে পারেন। LED গুলি 2 সেকেন্ডের জন্য সামনে পিছনে জ্বলজ্বল করবে এবং তারপর একসাথে জ্বলজ্বল করবে। OpenLog বন্ধ করুন এবং জাম্পারটি সরিয়ে ফেলুন। OpenLog এখন 9600bps এ রিসেট করা হয়েছে, `CTRL-Z` এর একটি এস্কেপ অক্ষর পরপর তিনবার টিপে। এই বৈশিষ্ট্যটি ইমার্জেন্সি ওভাররাইড বিট 1 এ সেট করে ওভাররাইড করা যেতে পারে।
আরও তথ্যের জন্য config.txt দেখুন।

  • সেট - এই কমান্ডটি বুট আপ মোড নির্বাচন করার জন্য একটি সিস্টেম মেনু খুলবে। এই সেটিংসগুলি এ ঘটবে
    • পরবর্তী পাওয়ার-অন এবং অ-উদ্বায়ী EEPROM-এ সংরক্ষণ করা হয়। নতুন File লগিং - এই মোডটি একটি নতুন তৈরি করে file প্রতিবার OpenLog চালু হলে। OpenLog ১টি (UART সক্রিয়), ২টি (SD কার্ড চালু), তারপর (OpenLog ডেটা গ্রহণের জন্য প্রস্তুত) প্রেরণ করবে। সমস্ত ডেটা LOG#####.txt ফাইলে রেকর্ড করা হবে। প্রতিবার OpenLog চালু হলে ##### সংখ্যাটি বৃদ্ধি পায় (সর্বোচ্চ ৬৫৫৩৩ লগ)। নম্বরটি EEPROM-এ সংরক্ষিত থাকে এবং সেট মেনু থেকে রিসেট করা যেতে পারে।
    সমস্ত প্রাপ্ত অক্ষর প্রতিধ্বনিত হয় না। আপনি এই মোড থেকে বেরিয়ে CTRL+z (ASCII 26) পাঠিয়ে কমান্ড মোডে প্রবেশ করতে পারেন। সমস্ত বাফার করা ডেটা সংরক্ষণ করা হবে।

দ্রষ্টব্য: যদি অনেক বেশি লগ তৈরি করা হয়ে থাকে, তাহলে OpenLog **Too many logs** ত্রুটি আউটপুট করবে, এই মোড থেকে বেরিয়ে আসবে এবং Command Prompt-এ নেমে যাবে। সিরিয়াল আউটপুট `12!Too many logs!` এর মতো দেখাবে।

  • যোগ করুন File লগিং - সিকোয়েন্সিয়াল মোড নামেও পরিচিত, এই মোডটি একটি তৈরি করে file যদি এটি ইতিমধ্যেই না থাকে তবে SEQLOG.txt নামে পরিচিত, এবং প্রাপ্ত যেকোনো ডেটা এতে যুক্ত করে file। OpenLog 12< প্রেরণ করবে যখন OpenLog ডেটা গ্রহণের জন্য প্রস্তুত হবে। অক্ষরগুলি প্রতিধ্বনিত হবে না। আপনি এই মোড থেকে বেরিয়ে CTRL+z (ASCII 26) পাঠিয়ে কমান্ড মোডে প্রবেশ করতে পারেন। সমস্ত বাফার করা ডেটা সংরক্ষণ করা হবে।
  • কমান্ড প্রম্পট - OpenLog 12> প্রেরণ করবে যখন সিস্টেম কমান্ড গ্রহণের জন্য প্রস্তুত। মনে রাখবেন যে > চিহ্নটি নির্দেশ করে যে OpenLog কমান্ড গ্রহণের জন্য প্রস্তুত, ডেটা নয়। আপনি তৈরি করতে পারেন files এবং ডেটা যোগ করুন files, কিন্তু এর জন্য কিছু সিরিয়াল পার্সিং প্রয়োজন (ত্রুটি পরীক্ষা করার জন্য), তাই আমরা এই মোডটি ডিফল্টরূপে সেট করি না।
  • নতুন রিসেট করুন File সংখ্যা - এই মোড লগটি রিসেট করবে file LOG000.txt নম্বরে। আপনি যদি সম্প্রতি একটি মাইক্রোএসডি কার্ড সাফ করে থাকেন এবং লগটি চান তবে এটি সহায়ক। file আবার শুরু করার জন্য সংখ্যা।
  • নতুন এস্কেপ ক্যারেক্টার - এই অপশনটি ব্যবহারকারীকে CTRL+z অথবা $ এর মতো একটি ক্যারেক্টার প্রবেশ করাতে এবং এটিকে নতুন এস্কেপ ক্যারেক্টার হিসেবে সেট করতে দেয়। জরুরি রিসেটের সময় এই সেটিংটি CTRL+z এ রিসেট করা হয়।
  • এস্কেপ অক্ষরের সংখ্যা - এই বিকল্পটি ব্যবহারকারীকে একটি অক্ষর (যেমন 1, 3, অথবা 17) প্রবেশ করতে দেয়, কমান্ড মোডে ড্রপ করার জন্য প্রয়োজনীয় নতুন সংখ্যার এস্কেপ অক্ষর আপডেট করে। উদাহরণস্বরূপample, 8 প্রবেশ করালে কমান্ড মোডে যেতে ব্যবহারকারীকে আটবার CTRL+z চাপতে হবে। জরুরি রিসেটের সময় এই সেটিংটি 3 এ রিসেট করা হয়।

এস্কেপ ক্যারেক্টার ব্যাখ্যা: OpenLog-এ কমান্ড মোডে প্রবেশের জন্য `CTRL+z` চাপতে হয়, কারণ Arduino IDE থেকে নতুন কোড আপলোড করার সময় বোর্ডটি দুর্ঘটনাক্রমে রিসেট না হওয়া থেকে রক্ষা পাওয়া যায়। বুটলোডিং এর সময় বোর্ড `CTRL+z` অক্ষরটি দেখতে পাওয়ার সম্ভাবনা থাকে (OpenLog ফার্মওয়্যারের প্রাথমিক সংস্করণগুলিতে আমরা এই সমস্যাটি দেখেছি), তাই এটি প্রতিরোধ করার লক্ষ্যে এটি করা হয়েছে। যদি আপনার কখনও সন্দেহ হয় যে আপনার বোর্ডটি এর কারণে ব্রিক হয়ে গেছে, তাহলে পাওয়ার আপের সময় RX পিনটি গ্রাউন্ডে ধরে রেখে আপনি সর্বদা জরুরি রিসেট করতে পারেন।

কনফিগারেশন File

যদি আপনি আপনার OpenLog-এর সেটিংস পরিবর্তন করার জন্য সিরিয়াল টার্মিনাল ব্যবহার না করতে চান, তাহলে আপনি CONFIG.TXT পরিবর্তন করে সেটিংস আপডেট করতে পারেন। file.
দ্রষ্টব্য: এই বৈশিষ্ট্যটি শুধুমাত্র ফার্মওয়্যার ভার্সন ১.৬ বা তার পরবর্তী ভার্সনে কাজ করে। যদি আপনি ২০১২ সালের পরে একটি OpenLog কিনে থাকেন, তাহলে আপনার ফার্মওয়্যার ভার্সন ১.৬+ চলবে।
এটি করার জন্য, আপনার একটি মাইক্রোএসডি কার্ড রিডার এবং একটি টেক্সট এডিটর লাগবে। config.txt ফাইলটি খুলুন। file (এর বড় হাতের অক্ষর file নাম কোন ব্যাপার না), এবং কনফিগার করে ফেলুন! যদি আপনি আগে কখনও SD কার্ড দিয়ে আপনার OpenLog চালু না করে থাকেন, তাহলে আপনি ম্যানুয়ালিও তৈরি করতে পারেন file. যদি আপনি আগে থেকে মাইক্রোএসডি কার্ড ঢোকানো দিয়ে ওপেনলগ চালু করে থাকেন, তাহলে মাইক্রোএসডি কার্ডটি পড়ার সময় নিচের মতো কিছু দেখতে পাবেন।DEV-13712 স্পার্কফান ডেভেলপমেন্ট বোর্ড - টেক্সট এডিটরOpenLog একটি config.txt এবং LOG0000.txt তৈরি করে file প্রথম পাওয়ার আপে।
ডিফল্ট কনফিগারেশন file সেটিংসের একটি লাইন এবং সংজ্ঞার একটি লাইন আছে।DEV-13712 স্পার্কফান ডেভেলপমেন্ট বোর্ড - টেক্সট এডিটর ১ডিফল্ট কনফিগারেশন file ওপেনলগ দ্বারা লিখিত।
মনে রাখবেন যে এগুলি নিয়মিত দৃশ্যমান অক্ষর (কোনও অদৃশ্যমান বা বাইনারি মান নেই), এবং প্রতিটি মান একটি কমা দ্বারা পৃথক করা হয়েছে।
সেটিংস নিম্নরূপ সংজ্ঞায়িত করা হয়েছে:

  • baud: যোগাযোগের বড রেট। ডিফল্ট হিসেবে ৯৬০০bps ব্যবহার করা হয়। Arduino IDE-এর সাথে সামঞ্জস্যপূর্ণ গ্রহণযোগ্য মান হল ২৪০০, ৪৮০০, ৯৬০০, ১৯২০০, ৩৮৪০০, ৫৭৬০০ এবং ১১৫২০০। আপনি অন্যান্য বড রেট ব্যবহার করতে পারেন, কিন্তু Arduino IDE সিরিয়াল মনিটরের মাধ্যমে OpenLog-এর সাথে যোগাযোগ করতে পারবেন না।
  • escape : এস্কেপ অক্ষরের ASCII মান (দশমিক বিন্যাসে)। 26 হল CTRL+z এবং ডিফল্ট। 36 হল $ এবং এটি একটি সাধারণভাবে ব্যবহৃত এস্কেপ অক্ষর।
  • esc# : প্রয়োজনীয় এস্কেপ অক্ষরের সংখ্যা। ডিফল্টরূপে, এটি তিনটি, তাই কমান্ড মোডে ড্রপ করার জন্য আপনাকে এস্কেপ অক্ষরটি তিনবার চাপতে হবে। গ্রহণযোগ্য মান 0 থেকে 254 পর্যন্ত। এই মান 0 তে সেট করলে এস্কেপ অক্ষর পরীক্ষা সম্পূর্ণরূপে অক্ষম হয়ে যাবে।
  • মোড: সিস্টেম মোড। ওপেনলগ ডিফল্টরূপে নতুন লগ মোড (0) এ শুরু হয়। গ্রহণযোগ্য মান হল 0 = নতুন লগ, 1 = অনুক্রমিক লগ, 2 = কমান্ড মোড।
  • verb : Verbose mode। ডিফল্টভাবে বর্ধিত (verbose) ত্রুটি বার্তা চালু থাকে। এটিকে 1 এ সেট করলে verbose ত্রুটি বার্তা চালু হয় (যেমন অজানা কমান্ড: remove ! )। এটিকে 0 এ সেট করলে verbose ত্রুটি বন্ধ হয়ে যায় কিন্তু যদি কোনও ত্রুটি থাকে তবে এটি ! দিয়ে প্রতিক্রিয়া জানাবে। যদি আপনি একটি এমবেডেড সিস্টেম থেকে ত্রুটিগুলি পরিচালনা করার চেষ্টা করেন তবে verbose মোড বন্ধ করা কার্যকর।
  • echo : ইকো মোড। কমান্ড মোডে থাকাকালীন, অক্ষরগুলি ডিফল্টরূপে প্রতিধ্বনিত হয়। এটি 0 তে সেট করলে অক্ষর প্রতিধ্বনি বন্ধ হয়ে যায়। ত্রুটিগুলি পরিচালনা করার ক্ষেত্রে এবং আপনি যদি প্রেরিত কমান্ডগুলি OpenLog-এ প্রতিধ্বনিত না করতে চান তবে এটি বন্ধ করা সুবিধাজনক।
  • ignoreRX: জরুরি ওভাররাইড। সাধারণত, পাওয়ার আপের সময় RX পিনটি কম টানা হলে OpenLog জরুরি রিসেট করে। এটি 1 এ সেট করলে পাওয়ার আপের সময় RX পিন পরীক্ষা করা অক্ষম হয়ে যাবে। এটি এমন সিস্টেমগুলির জন্য সহায়ক হতে পারে যেগুলি বিভিন্ন কারণে RX লাইন কম ধরে রাখে। যদি জরুরি ওভাররাইড অক্ষম করা হয়, তাহলে আপনি ইউনিটটিকে 9600bps-এ ফিরিয়ে আনতে পারবেন না এবং কনফিগারেশন file বড রেট পরিবর্তন করার একমাত্র উপায় হবে।

ওপেনলগ কীভাবে কনফিগারেশন পরিবর্তন করে File
OpenLog-এর config.txt পরিবর্তন করার জন্য পাঁচটি ভিন্ন পরিস্থিতি রয়েছে file.

  • কনফিগার file পাওয়া গেছে: পাওয়ার আপের সময়, OpenLog একটি config.txt খুঁজবে file. যদি file পাওয়া গেলে, OpenLog অন্তর্ভুক্ত সেটিংস ব্যবহার করবে এবং পূর্বে সংরক্ষিত যেকোনো সিস্টেম সেটিংস ওভাররাইট করবে।
  • কোনও কনফিগারেশন নেই file পাওয়া গেছে: যদি OpenLog config.txt খুঁজে না পায় file তারপর OpenLog config.txt তৈরি করবে এবং বর্তমানে সংরক্ষিত সিস্টেম সেটিংস এতে রেকর্ড করবে। এর মানে হল যদি আপনি একটি নতুন ফর্ম্যাট করা মাইক্রোএসডি কার্ড ঢোকান, তাহলে আপনার সিস্টেম তার বর্তমান সেটিংস বজায় রাখবে।
  • দূষিত কনফিগারেশন file পাওয়া গেছে: OpenLog দূষিত config.txt মুছে ফেলবে file, এবং অভ্যন্তরীণ EEPROM সেটিংস এবং config.txt সেটিংস উভয়ই পুনর্লিখন করবে file 9600,26,3,0,1,1,0 এর পরিচিত-ভাল অবস্থায়।
  • কনফিগারেশনে অবৈধ মান file: যদি OpenLog অবৈধ মান সম্বলিত কোনও সেটিংস আবিষ্কার করে, তাহলে OpenLog config.txt-এর দূষিত মানগুলিকে ওভাররাইট করবে। file বর্তমানে সংরক্ষিত EEPROM সিস্টেম সেটিংস সহ।
  • কমান্ড প্রম্পটের মাধ্যমে পরিবর্তন: যদি কমান্ড প্রম্পটের মাধ্যমে সিস্টেম সেটিংস পরিবর্তন করা হয় (হয় সিরিয়াল সংযোগের মাধ্যমে অথবা মাইক্রোকন্ট্রোলার সিরিয়াল কমান্ডের মাধ্যমে), তাহলে সেই পরিবর্তনগুলি সিস্টেম EEPROM এবং config.txt উভয় ফাইলেই রেকর্ড করা হবে। file.
  • জরুরি রিসেট: যদি OpenLog কে RX এবং GND এর মধ্যে একটি জাম্পার দিয়ে পাওয়ার সাইকেল করা হয় এবং জরুরি ওভাররাইড বিট 0 তে সেট করা থাকে (জরুরি রিসেট করার অনুমতি দেয়), তাহলে OpenLog অভ্যন্তরীণ EEPROM সেটিংস এবং config.txt সেটিংস উভয়ই পুনর্লিখন করবে। file 9600,26,3,0,1,1,0 এর পরিচিত-ভাল অবস্থায়।

সমস্যা সমাধান

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

  • ৩টি পলক: মাইক্রোএসডি কার্ডটি চালু করা যায়নি। আপনার কম্পিউটারে FAT/FAT3 দিয়ে কার্ডটি ফর্ম্যাট করার প্রয়োজন হতে পারে।
  • ৫টি ব্লিঙ্ক: ওপেনলগ একটি নতুন বড রেটে পরিবর্তিত হয়েছে এবং এটিকে পাওয়ার সাইকেল করা প্রয়োজন।

সাবডিরেক্টরি স্ট্রাকচার ডাবল চেক করুন
যদি আপনি ডিফল্ট OpenLog.ino ex ব্যবহার করেনampহ্যাঁ, OpenLog শুধুমাত্র দুটি সাবডিরেক্টরি সমর্থন করবে। আপনাকে FOLDER_TRACK_DEPTH কে 2 থেকে পরিবর্তন করে আপনার প্রয়োজনীয় সাবডিরেক্টরিতে পরিবর্তন করতে হবে। এটি করার পরে, কোডটি পুনরায় কম্পাইল করুন এবং পরিবর্তিত ফার্মওয়্যারটি আপলোড করুন।
সংখ্যা যাচাই করুন Fileরুট ডিরেক্টরিতে s
ওপেনলগ কেবলমাত্র ৬৫,৫৩৪টি লগ সমর্থন করবে fileরুট ডিরেক্টরিতে s আছে। লগিং গতি উন্নত করতে আমরা আপনার মাইক্রোএসডি কার্ডটি পুনরায় ফর্ম্যাট করার পরামর্শ দিচ্ছি।
আপনার পরিবর্তিত ফার্মওয়্যারের আকার যাচাই করুন
যদি আপনি OpenLog এর জন্য একটি কাস্টম স্কেচ লিখছেন, তাহলে যাচাই করুন যে আপনার স্কেচটি 32,256 এর চেয়ে বড় নয়। যদি তাই হয়, তাহলে এটি ফ্ল্যাশ মেমোরির উপরের 500 বাইট কেটে ফেলবে, যা Optiboot সিরিয়াল বুটলোডার দ্বারা ব্যবহৃত হয়।
দুবার চেক করুন File নাম
সব file নামগুলি আলফা-সাংখ্যিক হওয়া উচিত। MyLOG1.txt ঠিক আছে, কিন্তু Hi !e _.txt কাজ নাও করতে পারে।
9600 Baud ব্যবহার করুন
OpenLog ATmega328 এর উপর ভিত্তি করে চলে এবং এর RAM (2048 বাইট) সীমিত। যখন আপনি OpenLog-এ সিরিয়াল অক্ষর পাঠান, তখন এই অক্ষরগুলি বাফার হয়ে যায়। SD Group Simplified Specification একটি SD কার্ডকে ফ্ল্যাশ মেমোরিতে ডেটা ব্লক রেকর্ড করতে 250ms পর্যন্ত সময় নিতে দেয় (অনুচ্ছেদ 4.6.2.2 Write)।
৯৬০০bps এ, অর্থাৎ প্রতি সেকেন্ডে ৯৬০ বাইট (প্রতি বাইট ১০ বিট)। অর্থাৎ প্রতি বাইট ১.০৪ms। OpenLog বর্তমানে ৫১২ বাইট রিসিভ বাফার ব্যবহার করে যাতে এটি প্রায় ৫০ms অক্ষর বাফার করতে পারে। এর ফলে OpenLog ৯৬০০bps এ আসা সমস্ত অক্ষর সফলভাবে গ্রহণ করতে পারে। আপনি যত বড রেট বাড়াবেন, তত বাফারটি কম সময়ের জন্য স্থায়ী হবে।
ওপেনলগ বাফার ওভাররান টাইম

বড রেট প্রতি বাইট সময়  বাফার ওভাররান না হওয়া পর্যন্ত সময়
9600bps 1.04 মি 532 মি
57600bps 0.174 মি 88 মি
115200bps 0.087 মি 44 মি

অনেক SD কার্ডের রেকর্ড সময় 250ms এর চেয়ে দ্রুত। এটি কার্ডের 'শ্রেণী' এবং কার্ডে ইতিমধ্যে কতটা ডেটা সংরক্ষণ করা হয়েছে তার উপর নির্ভর করতে পারে। সমাধান হল কম বড রেট ব্যবহার করা অথবা উচ্চ বড রেটে প্রেরিত অক্ষরগুলির মধ্যে সময়ের ব্যবধান বৃদ্ধি করা।
আপনার মাইক্রোএসডি কার্ড ফর্ম্যাট করুন
মনে রাখবেন এমন একটি কার্ড ব্যবহার করতে হবে যেখানে খুব কম বা নেই fileএর উপর। ৩.১ জিবি মূল্যের জিপ সহ একটি মাইক্রোএসডি কার্ড fileখালি কার্ডের তুলনায় s বা MP3 গুলির সাড়া দেওয়ার সময় ধীর।
যদি আপনি আপনার মাইক্রোএসডি কার্ডটি উইন্ডোজ অপারেটিং সিস্টেমে ফরম্যাট না করে থাকেন, তাহলে মাইক্রোএসডি কার্ডটি পুনরায় ফর্ম্যাট করুন এবং একটি ডস তৈরি করুন। fileSD কার্ডে সিস্টেম।
মাইক্রোএসডি কার্ড অদলবদল করুন
অনেক ধরণের কার্ড প্রস্তুতকারক, রিলেবেলযুক্ত কার্ড, কার্ডের আকার এবং কার্ড ক্লাস রয়েছে, এবং সেগুলি সব ঠিকঠাক কাজ নাও করতে পারে। আমরা সাধারণত 8GB ক্লাস 4 মাইক্রোএসডি কার্ড ব্যবহার করি, যা 9600bps এ ভালো কাজ করে। যদি আপনার উচ্চতর বড রেট বা বৃহত্তর স্টোরেজ স্পেসের প্রয়োজন হয়, তাহলে আপনি ক্লাস 6 বা তার উপরে কার্ডগুলি চেষ্টা করে দেখতে পারেন।
অক্ষর লেখার মধ্যে বিলম্ব যোগ করুন
Serial.print() স্টেটমেন্টের মধ্যে একটি ছোট বিলম্ব যোগ করে, আপনি OpenLog কে এর বর্তমান রেকর্ড করার সুযোগ দিতে পারেন
বাফার
প্রাক্তন জন্যampLe:
Serial.begin(115200);
for(int i = 1; i < 10; i++) {
সিরিয়াল.প্রিন্ট(i, DEC);
সিরিয়াল.প্রিন্টএলএন(“:abcdefghijklmnopqrstuvwxyz-!#”);
}

সঠিকভাবে লগ নাও করতে পারে, কারণ একে অপরের ঠিক পাশে অনেক অক্ষর পাঠানো হচ্ছে। বড় অক্ষর লেখার মধ্যে 15 মিলিসেকেন্ডের একটি ছোট বিলম্ব সন্নিবেশ করালে অক্ষর বাদ না দিয়ে OpenLog রেকর্ড করতে সাহায্য করবে।
Serial.begin(115200);
for(int i = 1; i < 10; i++) {
সিরিয়াল.প্রিন্ট(i, DEC);
সিরিয়াল.প্রিন্টএলএন(“:abcdefghijklmnopqrstuvwxyz-!#”);
বিলম্ব (15);
}

Arduino সিরিয়াল মনিটরের সামঞ্জস্য যোগ করুন
যদি আপনি বিল্ট-ইন সিরিয়াল লাইব্রেরি বা সফটওয়্যারসিরিয়াল লাইব্রেরি দিয়ে ওপেনলগ ব্যবহার করার চেষ্টা করেন, তাহলে কমান্ড মোডে সমস্যা লক্ষ্য করতে পারেন। Serial.println() নতুন লাইন এবং ক্যারেজ উভয়ই রিটার্ন পাঠায়। এটি কাটিয়ে ওঠার জন্য দুটি বিকল্প কমান্ড রয়েছে।
প্রথমটি হল \r কমান্ড (ASCII ক্যারেজ রিটার্ন) ব্যবহার করা:
সিরিয়াল.প্রিন্ট(“টেক্সট\r”);
বিকল্পভাবে, আপনি মান 13 (দশমিক ক্যারেজ রিটার্ন) পাঠাতে পারেন:
সিরিয়াল.প্রিন্ট("টেক্সট");
সিরিয়াল.রাইট(১৩);

জরুরী রিসেট
মনে রাখবেন, যদি আপনার OpenLog কে ডিফল্ট অবস্থায় রিসেট করার প্রয়োজন হয়, তাহলে আপনি RX পিনটি GND এর সাথে বেঁধে, OpenLog চালু করে, LED গুলি একসাথে জ্বলতে শুরু না করা পর্যন্ত অপেক্ষা করে এবং তারপর OpenLog বন্ধ করে এবং জাম্পারটি সরিয়ে বোর্ডটি রিসেট করতে পারেন।
যদি আপনি ইমার্জেন্সি ওভাররাইড বিট 1 তে পরিবর্তন করে থাকেন, তাহলে আপনাকে কনফিগারেশন পরিবর্তন করতে হবে file, কারণ জরুরি রিসেট কাজ করবে না।
সম্প্রদায়ের সাথে যোগাযোগ করুন
যদি আপনার OpenLog নিয়ে এখনও সমস্যা হয়, তাহলে অনুগ্রহ করে আমাদের GitHub রিপোজিটরিতে বর্তমান এবং বন্ধ হওয়া সমস্যাগুলি এখানে দেখুন। OpenLog-এর সাথে কাজ করে এমন একটি বিশাল সম্প্রদায় রয়েছে, তাই সম্ভবত কেউ আপনার দেখা সমস্যার সমাধান খুঁজে পেয়েছে।

সম্পদ এবং আরও এগিয়ে যাওয়া

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

  • ওপেনলগ গিটহাব
  • ইলুমিটিউন প্রকল্প
  • লিলিপ্যাড লাইট সেন্সর সংযোগ
  • ব্যাজারহ্যাক: মাটি সেন্সর অ্যাড-অন
  • OBD-II দিয়ে শুরু করা
  • ভার্নিয়ার ফটোগেট

আরও কিছু অনুপ্রেরণার প্রয়োজন? এই সম্পর্কিত কিছু টিউটোরিয়াল দেখুন:
ফোটন রিমোট ওয়াটার লেভেল সেন্সর
জল সংরক্ষণের ট্যাঙ্কের জন্য কীভাবে দূরবর্তী জলস্তরের সেন্সর তৈরি করতে হয় এবং রিডিংয়ের উপর ভিত্তি করে কীভাবে একটি পাম্প স্বয়ংক্রিয় করতে হয় তা শিখুন!
ফোটন রিমোট ওয়াটার লেভেল সেন্সর
জল সংরক্ষণের ট্যাঙ্কের জন্য কীভাবে দূরবর্তী জলস্তরের সেন্সর তৈরি করতে হয় এবং রিডিংয়ের উপর ভিত্তি করে কীভাবে একটি পাম্প স্বয়ংক্রিয় করতে হয় তা শিখুন!
টেসেল ব্যবহার করে গুগল শিটে ডেটা লগ করা 2
এই প্রকল্পটি গুগল শিটে ডেটা লগ করার দুটি উপায় কভার করে: IFTTT ব্যবহার করে একটি web সংযোগ অথবা একটি USB পেন ড্রাইভ এবং "স্নিকারনেট" ছাড়া।
পাইথন এবং ম্যাটপ্লটলিবের সাহায্যে গ্রাফ সেন্সর ডেটা
রাস্পবেরি পাই-এর সাথে সংযুক্ত একটি TMP102 সেন্সর থেকে সংগৃহীত তাপমাত্রার তথ্যের একটি রিয়েল-টাইম প্লট তৈরি করতে matplotlib ব্যবহার করুন।
আপনার যদি কোনও টিউটোরিয়াল প্রতিক্রিয়া থাকে, তাহলে অনুগ্রহ করে মন্তব্যগুলিতে যান অথবা আমাদের প্রযুক্তিগত সহায়তা দলের সাথে যোগাযোগ করুন TechSupport@sparkfun.com সম্পর্কে.

স্পার্কফান লোগো

দলিল/সম্পদ

স্পার্কফান DEV-13712 স্পার্কফান ডেভেলপমেন্ট বোর্ড [পিডিএফ] ব্যবহারকারীর নির্দেশিকা
DEV-13712, DEV-11114, DEV-09873, CAB-12016, COM-13833, COM-13004, PRT-00115, PRT-08431, DEV-13712 স্পার্কফান ডেভেলপমেন্ট বোর্ড, DEV-13712, স্পার্কফান ডেভেলপমেন্ট বোর্ড, ডেভেলপমেন্ট বোর্ড, বোর্ড

তথ্যসূত্র

একটি মন্তব্য করুন

আপনার ইমেল ঠিকানা প্রকাশ করা হবে না. প্রয়োজনীয় ক্ষেত্রগুলি চিহ্নিত করা হয়েছে *