ডেটা লগার হিসাবে রাস্পবেরি সেট করা


13

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

আমি এখন এই পর্যায়ে এসেছি যে লগিং চলছে বলে মনে হচ্ছে এবং আমি সিস্টেমটি কনফিগার করার চেষ্টা করছি এবং আমি বেশ কয়েকটি প্রশ্ন পেয়েছি।

  1. সিস্টেমটি একটি FAT32 ইউএসবি স্টিকটিতে ডেটা লগ করার উদ্দেশ্যে রচিত, যা যে কোনও সময় প্লাগড, পুনরায় প্লাগ করা বা প্রতিস্থাপিত হতে পারে। কোনও স্থায়ী ডিরেক্টরিতে কোনও USBোকানো ইউএসবি ভর স্টোরেজ স্বয়ংক্রিয়ভাবে মাউন্ট করার পছন্দের পদ্ধতিটি কী? ইউএসবিমাউন্ট প্যাকেজটি প্রায় এটি করতে পারে বলে মনে হচ্ছে তবে রক্ষণাবেক্ষণের অভাব কিছুটা সতর্ক করে দেয়।

  2. আমি বিদ্যুৎ সরবরাহের গ্যারান্টি দিতে পারি না এবং ক্লিন শাট ডাউনগুলি সম্পাদন করতে পারি। আন্তরিকভাবে কেবলমাত্র ফাইলগুলি লিখতে হবে, অভ্যন্তরীণ ওএস তথ্য বাদে লগগুলি হওয়া উচিত। ওএসের জন্য কোনও জার্নালিং ফাইল সিস্টেম কী আমাকে নিজের থেকে বাঁচাবে বা আমার কি সিস্টেমটি কেবল পঠনযোগ্য মাউন্ট করা বা র‌্যাম ডিস্কগুলির সাথে টিঙ্কারিং করা উচিত?

  3. ইউএসবি স্টিকের এফএটি ফাইল সিস্টেমটি কী বেঁচে থাকবে এবং বিদ্যুৎ বিভ্রাট এবং হঠাৎ করে ক্ষয় থেকে পুনরুদ্ধার করবে? প্রতিবার মাউন্ট হওয়ার সাথে সাথে কি নতুন লগ ফাইল তৈরি করা উচিত?

  4. আমি স্বয়ংক্রিয়ভাবে শুরু করতে এক্স সার্ভারটি সেট আপ করেছি এবং স্থিতি প্রদর্শন শুরু করতে এবং উইন্ডো ম্যানেজার / স্ক্রিন সেভারটি অক্ষম করতে LXDE অটোস্টার্ট স্ক্রিপ্টগুলির সাথে ফিড করেছি। অবিচ্ছিন্ন ডিসপ্লে বজায় রাখার জন্য কি অন্য কোনও গটছ আছে?

  5. লগারের ইথারনেট অ্যাক্সেস থাকবে না এবং তার জন্য সঠিক ঘড়ির প্রয়োজন। রাসক্লক মডিউলটি কি উপযুক্ত বিকল্প?

দীর্ঘ পোস্ট এবং একাধিক আধা-সম্পর্কিত প্রশ্ন সম্পর্কে দুঃখিত।

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


আপনি কি অন্য কোথাও আপনার ওয়ার্কিং ইউএসবি-> সিরিয়াল সমাধানটি বর্ণনা করছেন যাতে অন্য-দাতালগণ এটি চেষ্টা করতে পারেন? আমি আমার স্ক্র্যাপার / লগার / ওয়েবক্যাম পাই থেকে কিছু অতিরিক্ত মান পেতে আগ্রহী। ধন্যবাদ!
তাই ভাইনিকা

উত্তর:


7

সিস্টেমটি একটি FAT32 ইউএসবি স্টিকটিতে ডেটা লগ করার উদ্দেশ্যে রচিত, যা যে কোনও সময় প্লাগড, পুনরায় প্লাগ করা বা প্রতিস্থাপিত হতে পারে।

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

আমি বিদ্যুৎ সরবরাহের গ্যারান্টি দিতে পারি না এবং ক্লিন শাট ডাউনগুলি সম্পাদন করতে পারি।

আবার হঠাৎ যে কোনও কম্পিউটার সিস্টেমে পাওয়ার কাটা (প্রায় প্রায়) ঝুঁকিপূর্ণ। এটা তোলে সাধারণত আপ ঠিক আছে শেষ হয় (যিনি না ক্ষমতা ব্যর্থতা, ইত্যাদি? কারণে, এই সময়ের একটি গুচ্ছ কাজ করেছে তাও, দুর্ঘটনা দ্বারা), কিন্তু সেখানে রিপোর্ট পাই সঙ্গে SD কার্ড দুর্নীতি মানুষের একটি অস্বাভাবিক পরিমাণ মনে করা হয়। সুতরাং আপনার যদি অর্থ হয়, "বেশিরভাগ সিস্টেম পরিষ্কারভাবে বন্ধ হবে না" আপনার পুনর্বিবেচনা করা দরকার, কারণ এটি একটি শেষের কৌশল। নোট করুন যে কীবোর্ড বা নেটওয়ার্ক সংযোগ ছাড়াই শাটডাউন ট্রিগার করা সম্ভব । আপনি ইউএসবি স্টিকেরও একটি পরিষ্কার আনমাউন্টিং ট্রিগার করতে একটি অচেনা পদ্ধতি ব্যবহার করতে পারেন।

আপনি ক্যাচিং সীমাবদ্ধ করতে syncবিকল্পটি যোগ করতে পারেন /etc/fstabতবে man mountনোটগুলি:

সীমিত সংখ্যক রাইটিং চক্র সহ মিডিয়া ক্ষেত্রে (উদাহরণস্বরূপ কিছু ফ্ল্যাশ ড্রাইভ) "সিঙ্ক" লাইফ-চক্রটি সংক্ষিপ্তকরণের কারণ হতে পারে।

এটিতে এসডি কার্ড অন্তর্ভুক্ত রয়েছে, যতক্ষণ না আপনি মাঝেমধ্যে আপনার মিডিয়া পরীক্ষা করার (এবং প্রতিস্থাপন করুন, উপযুক্ত হলে) মনে রাখবেন এটি মূল্যবান হতে পারে। এটি সাধারণ পারফরম্যান্সকে কিছুটা প্রভাব ফেলবে বলে আমি মনে করি।

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

syncআপনার অ্যাপ্লিকেশনটিতে যথাযথ কল করা (যেমন, নিষ্ক্রিয় অবস্থায় বা কোনও গুরুত্বপূর্ণ লেখার পরে) একটি ভাল ধারণা।

একবার আপনি আছে সবকিছু আপনি ইনস্টল ও কনফিগার চান , আপনি সম্ভাব্য মাউন্ট করতে রুট ফাইল সিস্টেম শুধুমাত্র পাঠযোগ্য, আপনি পৃথক পার্টিশন তৈরি করে জন্য /var, /runএবং /tmpসেই RW মাউন্ট; আপনি এই জাতীয় একটি মাউন্ট করা পার্টিশন তৈরি করতে এবং এতে rw ডিরেক্টরিগুলি সিমিলিংক করতে পারেন।

রাস্পবিয়ান পাই-তে আপনাকে চিন্তার দরকার নেই /run, কারণ এটি ইতিমধ্যে টিএমপিএফ (র‌্যাম) রয়েছে; /sysএবং /procর‌্যামেও রয়েছে (তবে সেগুলি যা ইচ্ছা তা বাদ দিয়ে কোনও কিছুর জন্য তাদের ব্যবহার করবেন না)। যদি সিস্টেমটি কোনও একক উদ্দেশ্যে হয় এবং আপনার সমস্ত ডেটা ইউএসবি স্টিকের কাছে যায় /varতবে একমাত্র সমস্যাযুক্ত তবে তা নয়, আমি মনে করি, সমালোচনামূলকভাবে তাই।


আমাদের প্রাথমিক সমস্যাটি হ'ল জরুরী স্টপ চলাকালীন যে কোনও সময় বিদ্যুৎ কেটে যেতে পারে, যা আমার সন্দেহ হয় যে পরীক্ষার সময় এটি ঘন ঘন ঘটবে (সুতরাং লগারের শুরু হওয়া প্রয়োজন)। আমি পরীক্ষা করব যে পাই এর জন্য আমরা ব্যাক-আপ ব্যাটারিটি টেক করতে পারি এবং শক্তি হ্রাস সনাক্ত করতে কোনওরকম সেন্সর দিয়ে বেঁধে ফেলতে পারি। তবে আমার জীবন অনেক সহজ হতে পারে যদি রুট ফাইল সিস্টেমটি কেবল পঠন-মোডে মাউন্ট করা যায় এবং ইউএসবি মেমরি পর্যায়ক্রমিক ফ্লাশ এবং এর মতো সুরক্ষিত থাকে।
doynax

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

2

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

মূলত, আপনাকে যা করতে হবে তা হ'ল এটি নিশ্চিত করা যে আপনি যদি কোনও ডেটা ব্লকের মিড-রাইটটি কেটে ফেলেছেন (বা পরিচিতিগুলি কাঠামোগত হয়) তবে আপনি সত্যটি সনাক্ত করতে পারেন। মূলত একটি ব্লক নম্বর (এবং নির্দিষ্ট আকার না হলে দৈর্ঘ্য) দিয়ে ডেটা প্রেন্ডিং করুন এবং শেষে একটি সিআরসি এবং (একই) ব্লক নম্বর যুক্ত করুন।

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

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

যদিও এটি নিম্ন স্তরের জিনিস। ফাইল সিস্টেমের মাধ্যমে এটি করা অন্য গল্প।

আপনার সত্যিকারের যা দরকার তা হ'ল আপনার FAT এর অনর্থক অনুলিপিগুলি এবং FAT টেবিলের চারপাশে অনুরূপ কাজ করুন। ক্রমসংখ্যাটি আপনাকে জানাবে যে কোনটি সাম্প্রতিক, এবং সামনের / পিছনের ম্যাচ এবং সিআরসি সততা নিশ্চিত করবে।

এটি আমার শোবার সময় পেরিয়ে গেছে তাই আমি আশা করি এটি যথেষ্ট পরিষ্কার।


1

সঠিক ঘড়ির হিসাবে, প্রচুর সস্তা জিপিএস মডিউল উপলব্ধ। এর চেয়ে আরও সঠিক ঘড়ি খুঁজে পাওয়া শক্ত।


এটি একটি দুর্দান্ত পরামর্শ। আমাদের ঘড়িটি সেট করতে এবং ব্যাটারিটি মোকাবেলা করতে সমস্যা বাঁচান। আমাদের কেবল সময় অঞ্চল (এবং ডিএসটি নিয়মগুলি আমি মনে করি) এর ট্র্যাক রাখতে হবে এবং একটি খাঁটি ডেটা লগারের জন্য সর্বজনীন সময় ঠিক হওয়া উচিত।
doynax

যখন আকাশের কোনও অংশ দৃশ্যমান না হয় এবং এখনও কোনও সাধারণ আরটিসির মাধ্যমে কোনও সুবিধা দেয় তখন কি কোনও জিপিএস মডিউল গৃহমধ্যস্থ কাজ করে?
স্টাফেন গৌরিচন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.