رادار تشخیص حضور برای مانیتور تبلیغاتی آسانسور؛ ماژول، اپ تست و ابزار تنظیم
سنسور رادار ۲۴ گیگاهرتزی را به برد اندرویدی مانیتور آسانسور وصل کردم (با خواندن لاگهای سیستمعامل از پینهای دیباگ) و ماژول آماده، اپ تست اندروید و برنامهی دسکتاپ تنظیم را ساختم.
معرفی
این پروژه برای یک مانیتور تبلیغاتی آسانسور است. مانیتور باید بداند الان کسی داخل آسانسور هست یا نه، تا تبلیغ را در لحظهی درست پخش کند و وقتی کسی نیست متوقف کند. برای این کار یک سنسور رادار ۲۴ گیگاهرتزی تشخیص حضور انسان به برد اندرویدیِ مانیتور وصل شد. کار من این بود که این سنسور را با برد وصل کنم و نرمافزار آن را بسازم: یک ماژول آماده که تیم مشتری در اپلیکیشن خودش بهکار میبرد، یک اپ تست روی همان برد، و یک برنامهی دسکتاپ برای تنظیم سنسور.
چرا رادار؟
آسانسور جای کوچک و بستهای است و دوربین حریم خصوصی را زیر سوال میبرد. رادار نه تصویر میگیرد و نه صدا؛ فقط حرکت و حتی حضور ساکن (کسی که ایستاده و تکان نمیخورد) را حس میکند و از پشت یک قاب پلاستیکی هم کار میکند. هر دو حالت «در حال حرکت» و «ایستاده» جدا گزارش میشود.
چه ساختم
اتصال سختافزاری سنسور به برد. برد اندرویدی مستندات خوبی برای این کار نداشت. با ترمینال به پینهای دیباگ (UART) روی برد وصل شدم، لاگهای سیستمعامل را خواندم و از روی آنها فهمیدم کدام درگاه سریال برد آزاد است و چطور سنسور را به آن وصل کنم. نتیجه یک اتصال پایدار روی درگاه سریال برد با سرعت ۱۱۵۲۰۰ است.
ماژول نرمافزاری سنسور. یک ماژول جاوااسکریپتی که درگاه را باز میکند، پروتکل سنسور را میفهمد (فریمهای دستور و فریمهای گزارش)، دادهی خام را به وضعیت قابلاستفاده (کسی هست یا نه، فاصله، متحرک یا ساکن) تبدیل میکند و تنظیمات سنسور را میخواند. جدا از ظاهر نوشته شده تا تیم مشتری بتواند مستقیم در اپ خودش از آن استفاده کند.
اپ تست روی برد. یک اپلیکیشن اندروید که روی همان برد اجرا میشود و ماژول را نشان میدهد: «حضور انسان» با رنگ و متن روشن (DETECTED یا NOBODY)، فاصله به سانتیمتر، وضعیت (متحرک، ساکن، یا هر دو)، تنظیمات سنسور و جریان خام داده با دکمهی شروع و توقف. از آن برای نشان دادن کار سنسور به مشتری و برای آزمایش روی دستگاه واقعی استفاده شد.
برنامهی دسکتاپ برای تنظیم سنسور. برنامهای با رابط تیره که با یک مبدل USB به سریال به سنسور وصل میشود. با آن درگاه و سرعت را انتخاب میکنی، پارامترها را از سنسور میخوانی، بیشینهی برد تشخیص (در گامهای حدود ۷۵ سانتیمتر) و زمان «بدون کسی» را تعیین میکنی، حساسیت حرکت و حساسیت حضور ساکن را برای هر فاصله جدا میگذاری، و سرعت ارتباط خود سنسور را عوض میکنی.
ابزارهای کمکی: اسکریپتهای پایتون برای برنامهریزی دستهای تنظیمات و بررسی تنظیمات روی سنسور، و یک ابزار عیبیابی که انرژی حرکت و فاصله را زنده نشان میدهد.
نمودار زیر اجزا را نشان میدهد.
تنظیم دقیق برای آسانسور
سنسور رادار فاصله را به چند «دروازه» تقسیم میکند و میشود هر دروازه را جدا تنظیم کرد. در آسانسور، برد را کوتاه میگذارم تا فقط داخل کابین دیده شود و کسی که پشت در راهرو رد میشود حساب نشود، و حساسیت دروازههای دور را پایین میآورم. زمان «بدون کسی» هم تنظیم میشود که وقتی آخرین نفر بیرون رفت، تبلیغ ناگهانی خاموش و روشن نشود. در بررسی نصب هم نکتههای ساخت قاب جلوی سنسور (جنس، فاصله و ضخامت مناسب برای این فرکانس) را بررسی کردم.
مقایسهی سختافزار برای تولید
برای ادامهی پروژه یک پیشنهاد فنی هم نوشتم که برد فعلی را با بردهای صنعتی مخصوص مانیتورهای تبلیغاتی برای تولید انبوه مقایسه میکند، با بررسی پایداری، پشتیبانی از ارتباط ۴G و هزینه، و دو فاز پیشنهادی: نمونهی اولیه روی برد فعلی و تولید روی برد صنعتی.
مشخصات
سنسور: رادار ۲۴ گیگاهرتزی تشخیص حضور (مدل LD2410C)، ارتباط سریال
برد: برد اندرویدی با خروجی LVDS و MIPI و درگاه سریال
اپ و ماژول روی برد: React Native (Expo) و جاوااسکریپت
برنامهی دسکتاپ و ابزارها: Python، رابط Flet
ارتباط: UART با سرعت ۱۱۵۲۰۰، دستورهای باینری با هدر و پایاندهنده
نتیجه
یک سامانهی کامل تشخیص حضور برای آسانسور، از اتصال سختافزاری و کشف راه ارتباط با برد تا ماژول آمادهی تحویل، اپ تست روی دستگاه و ابزار تنظیم دسکتاپ.
از من حمایت کنید
اگر این نوشتهها به کارتان آمد، با یک حمایت کوچک به ادامهی آنها کمک کنید.
گالری
وبلاگ
مطالب مرتبط
دربارهی این پروژه سوالی دارید؟
اگر دربارهی این پروژه سوالی دارید یا پروژهای مشابه در دست دارید، خوشحال میشوم با من در ارتباط باشید.