گوشی معمولاً بر اساس کارهایی که انجام میدهد توصیف میشود — تماسها، عکسها، برنامهها. در عوض، آن را بر اساس آنچه در خود دارد توصیف کنید: میکروفونی با کالیبراسیون کافی که با نرخ ۴۸ kHz نمونهبرداری میکند، دو یا سه دوربین، یک چراغقوه LED روشن، یک موتور لرزاننده، یک شتابسنج، و صفحهنمایشی که میتواند با سرعتی دقیق چشمک بزند. این یک گوشی نیست. این یک آزمایشگاه کوچک با صفحه لمسی است.
بیشتر برنامهها در هر بار از یکی از این بخشها برای هدف تعیینشدهاش استفاده میکنند. اندازهگیریهای جالب زمانی شروع میشوند که از آنها به صورت خارج از کاربرد اصلی و ترکیبی استفاده کنید: چراغقوه بهعنوان منبع نور برای دوربین، موتور لرزاننده بهعنوان تحریککننده برای شتابسنج، و گوشی دوم بهعنوان نیمه دیگر یک آزمایش. این پست نقشهای از این قلمرو در سه سطح با جاهطلبی فزاینده است.
سطح ۱: یک حسگر، شنود غیرفعال
سادهترین ابزارها یک حسگر را به سمت جهان نشانه میروند و آنچه بازمیگردد را تحلیل میکنند:
- طیف صدا — ضبط صدا، محاسبه طیف و بررسی محل تمرکز انرژی. این ابزار همهکاره و پرکاربرد است: موتورها، هامها، تقتقها و زنگ صدای اشیاء ضربهخورده.
- تست ضربه — به یک میوه ضربه بزنید یا روی یک ماده بکوبید و فروافت صدا را تحلیل کنید: رزونانس غالب و سرعت زوال آن، بسیار بیشتر از میزان بلندی صدا، درباره آنچه درون آن است اطلاعات میدهد. (اطلاعات بیشتر در پست تست ضربه.)
- لرزش — گوشی را روی ماشین لباسشویی، کمپرسور یا چاپگر سهبعدی قرار دهید تا شتابسنج امضای لرزش را ثبت کند.
- رنگ و نور دوربین — اندازهگیری رنگ نقطهای، تشخیص نرخ چشمکزدن/سوسوزدن برای نمایشگرها و سیستمهای روشنایی LED، شدت روشنایی، شمارش اشیاء تکراری، خواندن سنجشگرهای آنالوگ، تخمین ابعاد.
قاعده متحدکننده: ضبط دادهها باید تا حد امکان خام و بدون پردازش، طبق ظرفیت پلتفرم باشد. در اندروید این به معنای درخواست مسیر میکروفون پردازشنشده است — بدون کنترل خودکار بهره (gain) و بدون حذف نویزی که همان سیگنال مورد نظر برای اندازهگیری را تغییر میدهد — و همچنین قفل کردن نوردهی خودکار و توازن سفیدی دوربین در مواقعی که اندازهگیری به ثابت و واقعی ماندن سطح نور بستگی دارد.
سطح ۲: گوشی تحریک ایجاد میکند، سپس میزان تحریک خود را اندازهگیری میکند
یک گوشی همچنین دارای محرکها است، و جفت کردن یک محرک با یک حسگر، شنود غیرفعال را به یک ابزار فعال تبدیل میکند:
- چراغقوه + بازتابندگی دوربین — دو فریم متوالی، یکی با چراغقوه روشن و یکی خام ثبت کنید؛ تفاوت این دو مشخص میکند که سطح چگونه یک نور مشخص را بازتاب میدهد و تاثیر نور محیطی اتاق را تا حد زیادی از نتیجه حذف میکند.
- چراغقوه به عنوان منبع نور: نبض و نیمهشفافی — با روشن بودن چراغقوه، نوک انگشت خود را روی دوربین فشار دهید؛ دوربین به یک ردیاب نوری تبدیل میشود که تغییرات حجم خون را با هر ضربان قلب زیر نظر میگیرد. همین روش نوری میزان نیمهشفافی یک ماده را اندازهگیری میکند.
- موتور لرزاننده + شتابسنج + میکروفون — گوشی خود را در مقابل یک شیء میلرزاند و همزمان پاسخ مکانیکی و صوتی آن شیء را ثبت میکند. یک پانل توخالی و یک پانل توپر به شکلهای متفاوتی پاسخ میدهند.
ابزارهای فعال ویژگی خاصی دارند که ابزارهای غیرفعال فاقد آن هستند: محرک شناختهشده است. وقتی کنترل تحریک در دست شماست، میتوانید به جای سطوح مطلق، قابلیتها را بر اساس نسبتها و پاسخها بسازید — همین امر باعث میشود نتایج در مدلهای مختلف گوشی بدون نیاز به کالیبراسیون تکتک دستگاهها قابل مقایسه باشند.
سطح ۳: دو گوشی، یک آزمایش
برخی کمیتها ذاتا دوطرفه هستند: میزان صدایی که یک دیوار مسدود میکند، یا میزان نوری که از یک پنجره عبور میکند. یک گوشی نمیتواند همزمان در هر دو طرف باشد — اما دو گوشی میتوانند، و بیشتر خانوادهها دو گوشی دارند.
ترفندی که این کار را بدون تجهیزات آزمایشگاهی ممکن میسازد، نسبت گیرنده یکسان است. گوشی فرستنده یک محرک خودشناسا پخش میکند — یک سویپ تون پلهای، یا صفحهنمایشی که با نرخ ثابتی چشمک میزند. گوشی اندازهگیریکننده دو بار داده ثبت میکند: یک بار با مسیر مستقیم به فرستنده (مرجع) و یک بار از میان دیوار یا پنجره. تنها نسبت این دو ثبت داده که توسط یک میکروفون یا دوربین یکسان انجام شده است، به عنوان پاسخ نهایی استفاده میشود. بلندی صدای فرستنده، حساسیت گیرنده، اتاق — همهچیز خنثی میشود. بنابراین دو گوشی نیازی به همگامسازی ساعت، کابل یا کالیبراسیون نسبت به یکدیگر ندارند. (شرح کامل در پست عایق صدا.)
قاعده طراحی در پشت هر سه سطح: هرگز به یک سطح مطلق اعتماد نکنید. میکروفونها و دوربینهای گوشی در مدلهای مختلف متفاوت هستند؛ اما رزونانسها، نرخهای زوال، الگوهای حوزه مرتبه و نسبتهای گیرنده یکسان عمدتاً تغییری نمیکنند. قابلیتهای ساختهشده از کمیتهای نسبی در دستگاههای مختلف کار میکنند؛ اما قابلیتهای ساختهشده از مقادیر مطلق همیشه به کالیبراسیون اختصاصی برای هر دستگاه نیاز دارند.
از خوانشهای تکباره تا یک کاتالوگ
یک خوانش به تنهایی صرفاً یک داده فرعی است. خوانشها زمانی تبدیل به دانش میشوند که به چیزها متصل شوند: این خربزه، این چرخ، این دیوار، اندازهگیریشده در امروز و دوباره در هفته آینده. بنابراین هر اندازهگیری میتواند زیرمجموعه یک شیء در یک کاتالوگ ثبت شود — دستهبندی → شیء → مورد استفاده → اندازهگیری — و هر اندازهگیری میتواند بعد از انجام، یک برچسب واقعیت زمینی دریافت کند: شما به خربزه ضربه زدید، سپس آن را قاچ کردید، و بعد آنچه یافتید را ثبت کردید. این چرخه بسته، که در میان بسیاری از کاربران و بسیاری از اشیاء تکرار میشود، روشی است که دستهبندهای تست ضربه به جای نمونههای آزمایشگاهی، روی میوههای واقعی آموزش میبینند.
و برای کارهای پیچیدهتر به جای خوانشهای ساده — مانند تنظیم پره چرخ دوچرخه، بررسی عایقبندی یک اتاق — فعالیتهای راهنماییشده چند ابزار را به ترتیب درست به هم متصل میکنند و به شما میگویند بین اندازهگیریها چه کاری انجام دهید، و نتایج آنها را در همان کاتالوگ ثبت میکنند. پست تنظیم پره دوچرخه اولین مورد را به طور کامل شرح میدهد.
مسیر پیش رو
فهرست ابزارها همچنان در حال رشد است — و معماری برنامه به گونهای طراحی شده که اضافه کردن یک ابزار جدید افزایشی است: یک ورودی جدید در ثبتکننده، بدون نیاز به بازنویسی آنچه از قبل ذخیره شده است. همهچیز روی خود دستگاه و به صورت آفلاین اجرا میشود و نتایج در کمتر از یک ثانیه آماده میشوند؛ پست اولویت با آفلاین توضیح میدهد که چرا این محدودیت یک ستون اصلی ساختاری است، نه صرفاً یک گزینه اختیاری برای تیک زدن.