অ্যান্ড্রয়েড সেন্সর অ্যাপ্লিকেশনগুলিকে একটি মোবাইল ডিভাইসের অন্তর্নিহিত শারীরিক সেন্সরগুলিতে অ্যাক্সেস দেয়৷ সেন্সর হার্ডওয়্যার অ্যাবস্ট্রাকশন লেয়ার (HAL) দ্বারা সংজ্ঞায়িত তথ্য-প্রদানকারী ভার্চুয়াল ডিভাইস।
অ্যান্ড্রয়েড সেন্সর কি?
অ্যান্ড্রয়েড সেন্সর হল ভার্চুয়াল ডিভাইস যা ভৌত সেন্সরগুলির একটি সেট থেকে ডেটা সরবরাহ করে: অ্যাক্সিলোমিটার, জাইরোস্কোপ, ম্যাগনেটোমিটার, ব্যারোমিটার, আর্দ্রতা, চাপ, আলো, প্রক্সিমিটি এবং হার্ট রেট সেন্সর।
ডেটা সরবরাহকারী শারীরিক ডিভাইসগুলির তালিকায় অন্তর্ভুক্ত নয় ক্যামেরা, ফিঙ্গারপ্রিন্ট সেন্সর, মাইক্রোফোন এবং টাচ স্ক্রিন। এই ডিভাইসগুলির নিজস্ব রিপোর্টিং প্রক্রিয়া আছে; বিচ্ছেদ নির্বিচারে, কিন্তু সাধারণভাবে, অ্যান্ড্রয়েড সেন্সর কম ব্যান্ডউইথ ডেটা প্রদান করে। উদাহরণস্বরূপ, একটি অ্যাক্সিলোমিটারের জন্য "100hz x 3 চ্যানেল" বনাম একটি ক্যামেরার জন্য "25hz x 8 MP x 3 চ্যানেল" বা একটি মাইক্রোফোনের জন্য "44kHz x 1 চ্যানেল"।
বিভিন্ন ফিজিক্যাল সেন্সর কীভাবে সিস্টেম অন চিপ (SoC) এর সাথে সংযুক্ত থাকে তা অ্যান্ড্রয়েড সংজ্ঞায়িত করে না।
- প্রায়শই, সেন্সর চিপগুলি একটি সেন্সর হাবের মাধ্যমে SoC এর সাথে সংযুক্ত থাকে, যা কিছু কম-পাওয়ার পর্যবেক্ষণ এবং ডেটা প্রক্রিয়াকরণের অনুমতি দেয়।
- প্রায়শই, ইন্টার-ইন্টিগ্রেটেড সার্কিট (I2C) বা সিরিয়াল পেরিফেরাল ইন্টারফেস (SPI) পরিবহন ব্যবস্থা হিসাবে ব্যবহৃত হয়।
- বিদ্যুতের খরচ কমাতে, কিছু আর্কিটেকচার ক্রমানুসারী, কিছু ন্যূনতম প্রক্রিয়াকরণ করা হয় অ্যাপ্লিকেশন-নির্দিষ্ট ইন্টিগ্রেটেড সার্কিটে (ASIC - যেমন অ্যাক্সিলোমিটার চিপে গতি সনাক্তকরণ), এবং আরও অনেক কিছু করা হয় মাইক্রোকন্ট্রোলারে (যেমন একটি সেন্সর হাবে ধাপ সনাক্তকরণ) )
- নির্ভুলতা, শক্তি, মূল্য এবং প্যাকেজ-আকারের বৈশিষ্ট্যগুলির উপর ভিত্তি করে একটি স্থাপত্য চয়ন করা ডিভাইস প্রস্তুতকারকের উপর নির্ভর করে। আরও তথ্যের জন্য সেন্সর স্ট্যাক দেখুন।
- ব্যাচিং ক্ষমতাগুলি পাওয়ার অপ্টিমাইজেশনের জন্য একটি গুরুত্বপূর্ণ বিবেচনা। আরও তথ্যের জন্য ব্যাচিং দেখুন।
প্রতিটি অ্যান্ড্রয়েড সেন্সরের একটি "টাইপ" থাকে যা সেন্সর কীভাবে আচরণ করে এবং এটি কী ডেটা সরবরাহ করে তা উপস্থাপন করে৷
- অফিসিয়াল অ্যান্ড্রয়েড সেন্সর প্রকারগুলি সেন্সর- এ SENSOR_TYPE_ নামে সংজ্ঞায়িত করা হয়েছে…
- বেশিরভাগ সেন্সরের একটি অফিসিয়াল সেন্সর প্রকার রয়েছে।
- এই প্রকারগুলি Android SDK-এ নথিভুক্ত করা হয়েছে৷
- এই ধরনের সেন্সরগুলির আচরণ Android কম্প্যাটিবিলিটি টেস্ট স্যুট (CTS) এ পরীক্ষা করা হয়।
- যদি কোনও প্রস্তুতকারক একটি Android ডিভাইসে একটি নতুন ধরনের সেন্সর সংহত করে, তাহলে নির্মাতা এটি উল্লেখ করার জন্য তার নিজস্ব অস্থায়ী প্রকার নির্ধারণ করতে পারে।
- এই প্রকারগুলি নথিভুক্ত নয়, তাই অ্যাপ্লিকেশন বিকাশকারীরা সেগুলি ব্যবহার করার সম্ভাবনা কম, কারণ তারা সেগুলি সম্পর্কে জানেন না, বা জানেন যে তারা খুব কমই উপস্থিত থাকে (শুধুমাত্র এই নির্দিষ্ট নির্মাতার কিছু ডিভাইসে)৷
- তারা CTS দ্বারা পরীক্ষা করা হয় না.
- একবার Android এই ধরনের সেন্সরের জন্য একটি অফিসিয়াল সেন্সরের ধরন সংজ্ঞায়িত করলে, নির্মাতাদের অবশ্যই তাদের নিজস্ব অস্থায়ী টাইপ ব্যবহার বন্ধ করতে হবে এবং পরিবর্তে অফিসিয়াল টাইপ ব্যবহার করতে হবে। এইভাবে, সেন্সরটি আরও অ্যাপ্লিকেশন বিকাশকারীরা ব্যবহার করবে।
- ডিভাইসে উপস্থিত সমস্ত সেন্সরের তালিকা HAL বাস্তবায়ন দ্বারা রিপোর্ট করা হয়েছে।
- একই ধরনের একাধিক সেন্সর থাকতে পারে। উদাহরণস্বরূপ, দুটি প্রক্সিমিটি সেন্সর বা দুটি অ্যাক্সিলোমিটার।
- বেশিরভাগ অ্যাপ্লিকেশন প্রদত্ত ধরণের শুধুমাত্র একটি একক সেন্সর অনুরোধ করে। উদাহরণস্বরূপ, ডিফল্ট অ্যাক্সিলোমিটারের অনুরোধ করা একটি অ্যাপ্লিকেশন তালিকায় প্রথম অ্যাক্সিলোমিটার পাবে।
- সেন্সরগুলি প্রায়শই জেগে ওঠা এবং জাগ্রত না হওয়া জোড়া দ্বারা সংজ্ঞায়িত করা হয়, উভয় সেন্সর একই ধরণের ভাগ করে, কিন্তু তাদের জেগে ওঠার বৈশিষ্ট্য দ্বারা আলাদা।
অ্যান্ড্রয়েড সেন্সরগুলি সেন্সর ইভেন্টগুলির একটি সিরিজ হিসাবে ডেটা সরবরাহ করে।
প্রতিটি ইভেন্টে রয়েছে:
- সেন্সরের একটি হ্যান্ডেল যা এটি তৈরি করেছে
-
SystemClock.elapsedRealtimeNanos()
এর উপর ভিত্তি করে যে টাইমস্ট্যাম্পে ইভেন্টটি সনাক্ত বা পরিমাপ করা হয়েছিল - এবং কিছু তথ্য
রিপোর্ট করা ডেটার ব্যাখ্যা সেন্সরের প্রকারের উপর নির্ভর করে। প্রতিটি সেন্সর প্রকারের জন্য কোন ডেটা রিপোর্ট করা হয় তার বিশদ বিবরণের জন্য সেন্সর প্রকারের সংজ্ঞাগুলি দেখুন৷
বিদ্যমান ডকুমেন্টেশন
ডেভেলপারদের টার্গেট করা হয়েছে
- ওভারভিউ
- SDK রেফারেন্স
- স্ট্যাক ওভারফ্লো এবং টিউটোরিয়াল ওয়েবসাইট
- কারণ সেন্সর ডকুমেন্টেশন কখনও কখনও অভাব ছিল, ডেভেলপাররা উত্তর খুঁজতে স্ট্যাক ওভারফ্লো মত প্রশ্নোত্তর ওয়েবসাইট অবলম্বন.
- কিছু টিউটোরিয়াল ওয়েবসাইটও বিদ্যমান, কিন্তু ব্যাচিং, উল্লেখযোগ্য গতি এবং গেম রোটেশন ভেক্টরের মতো সর্বশেষ বৈশিষ্ট্যগুলিকে কভার করে না।
- সেখানে উত্তর সবসময় সঠিক হয় না, এবং আরও ডকুমেন্টেশন প্রয়োজন যেখানে দেখান.
নির্মাতাদের লক্ষ্যবস্তু
- ওভারভিউ
- এই সেন্সর পৃষ্ঠা এবং এর উপ-পৃষ্ঠা।
- হার্ডওয়্যার বিমূর্তকরণ স্তর (HAL)
- /platform/hardware/libhardware/+/main/include/hardware/sensors.h
- "sensors.h" নামেও পরিচিত
- সত্যের উৎস। নতুন বৈশিষ্ট্যগুলি তৈরি হলে প্রথম দস্তাবেজ আপডেট করা হবে৷
- অ্যান্ড্রয়েড সিডিডি (কম্প্যাটিবিলিটি ডেফিনিশন ডকুমেন্ট)
- /compatibility/android-cdd.pdf
- সেন্সর সম্পর্কিত বিভাগগুলি দেখুন।
- CDD নম্র, তাই উচ্চ মানের সেন্সর নিশ্চিত করার জন্য CDD প্রয়োজনীয়তা পূরণ করা যথেষ্ট নয়।