تصور کنید مجبور باشید برای تست یک قطعه سختافزاری، صدها بار یک دکمه را فشار دهید و با چشم هر بار نمایشگر را چک کنید. آیا API مدل Gemini میتواند نیاز به فشردن دستی دکمهها و بازرسیهای بصری صفحه نمایش را در طول توسعه فریمور از بین ببرد؟ اکنون با ترکیب بینایی ماشین و یک سازه فیزیکی، یک ریگ تست سفارشی اجازه میدهد تا یک Raspberry Pi Pico تحت یک فرآیند تأیید سختافزاری کاملاً خودکار قرار گیرد.
تست نرمافزارهای جاسازیشده (Embedded) همواره یک گلوگاه بوده است، زیرا به تعامل فیزیکی با سختافزار نیاز دارد. در حالی که ما پیشتر بررسی کردیم که چگونه شرکت Amazon از Gemini برای تحلیل خودکار ریشهای خطاها در موارد نرمافزاری استفاده کرد، این پروژه استدلالهای مشابه هوش مصنوعی را در دنیای فیزیکی به کار میگیرد. این سیستم در واقع شکاف بین کد دیجیتال و خروجیهای ملموس سختافزاری را پر میکند.
زمینه پروژه
به نقل از گزارشی در وبسایت dev.to که در ۲۳ اوت ۲۰۲۶ منتشر شد، این سیستم برای یک دستگاه «ثبت زمان» (Punch Clock) با تغذیه باتری طراحی شده است. در این دستگاه، وقتی یک دکمه فشار داده میشود، دستگاه زمان را ثبت کرده و آن را روی یک نمایشگر ePaper نمایش میدهد.
برای خودکارسازی این روند، توسعهدهنده خط لولهای ساخته است که ابتدا دکمه فیزیکی را تحریک میکند، منتظر بهروزرسانی نمایشگر ePaper میماند، تصویری از صفحه میگیرد و سپس از هوش مصنوعی برای تأیید محتوا استفاده میکند. این رویکرد نیاز به فشردن دهها بار دکمههای فیزیکی بهصورت دستی را کاملاً از بین میبرد.
جزئیات حلقه سختافزاری
این سیستم از اجزای زیر تشکیل شده است:
- Pico_Tester: یک جیگ تست سفارشی که خطوط دکمه را بهصورت الکترونیکی تحریک میکند (شکل ۱: ★۴). این قطعه جایگزین انگشتان انسان میشود. در طول این فرآیند، یک LED سبز روشن میشود تا کاربران بتوانند فشردن دکمه را بهصورت بصری تأیید کنند.
- Raspberry Pi 5 Camera: دوربینی با وضوح بالا (شکل ۱: ★۵) که وضعیت نمایشگر ePaper را پس از هر تحریک ثبت میکند.
- INA228 Module: یک مؤلفه نظارت بر توان که برای ارزیابی جریان حالت خواب (Sleep Current) و عمر باتری استفاده میشود.
- EEPROM: حافظهای که در کنار ماژول توان برای ردیابی عملکرد بلندمدت باتری به کار میرود.

خط لوله تأیید هوش مصنوعی
این سیستم از مدل gemini-3.6-flash از طریق REST API و با استفاده از کتابخانه استاندارد urllib در پایتون استفاده میکند تا تصاویر Base64 نمایشگر را پردازش کند. در این پیادهسازی هیچ SDK خارجی مورد استفاده قرار نگرفته است. وظیفه هوش مصنوعی استخراج متن، برچسبهای زمانی و نشانگرهای وضعیت از فونتهای بیتمپ ۷-سگمنتی سفارشی است.

سازوکار دقیق استنتاج
بر اساس مستندات پروژه، مدل برای حفظ ثبات از یک پرامپت ساختاریافته پیروی میکند. از هوش مصنوعی خواسته شده است تا چهار مورد مشخص را گزارش دهد:
- متن استخراجشده: بازنویسی تمام اعداد و نمادهای موجود.
- تاریخ و زمان: شناسایی دقیق تاریخ و زمانی که نمایش داده شده است.
- وضعیت: بررسی بخش پایین صفحه برای شناسایی حالتهایی مانند "SLEEP/KEEP" یا "READY/START".
- حکم نهایی: مقایسه نتیجه با معیارهای مورد انتظار برای تعیین اینکه آیا نتیجه "OK" است یا "NG" (No Good - بدون کیفیت).
در یک مورد تست مستند، این مدل در بازشناسی رکوردهای ثبت زمان (مثلاً 0002-0003) و سرتیترهای تاریخ (08/22) به صحت ۱۰۰٪ رسید. برای مثال، مدل توانست وضعیت "SLEEP READY" و راهنمای دکمهها (A=START B=FINISH C=KEEP) را در پایین صفحه بهدرستی شناسایی کند.

توسعه و یکپارچهسازی
توسعهدهنده برای استقرار سریع نقاط انتهایی API، مدیریت قفلهای همزمانی (Concurrency Locking) و تنظیمات زمان انتظار (Timeouts)، بهصورت جفتبرنامهنویسی (Pair-programming) با Google Antigravity همکاری کرده است. خروجی هوش مصنوعی تجزیه شده و در یک فایل JSON ذخیره میشود که شامل اطلاعات عکس و حکم نهایی مدل بهعنوان مدرک است (شکل ۲: ★۳).
این تغییر متدولوژی، تمرینات بنیادین توسعه سختافزار را دگرگون میکند. بهجای تستهای دستی تکراری، برنامهنویسان اکنون میتوانند مجموعهای از موارد تست را در کامپیوتر تعریف کرده و با یک دستور ساده مانند "Run Test_0001" آنها را اجرا کنند. این یعنی تبدیل عیبیابی سختافزاری از یک کار دستی خستهکننده به یک فرآیند مقیاسپذیر و نرمافزار-محور.
برای سازندگان مستقل یا تیمهای کوچک مهندسی، این رویکرد به معنای چرخههای تکرار سریعتر و اطمینان بیشتر از پایداری فریمور (Firmware) است. توانایی خودکارسازی «بررسی بصری» — که سختترین بخش تستهای جاسازیشده است — بزرگترین متغیر خطای انسانی را از چرخه حذف میکند.
نسخههای آینده این پروژه بر اصلاح پرامپتهای هوش مصنوعی برای موارد خاص و پیچیده (Edge Cases) و تکمیل ویژگیهای باقیمانده فریمور برای دستگاه ثبت زمان، اکنون که حلقه تست عملیاتی شده است، تمرکز خواهد کرد.
گام بعدی شما
- اگر روی سختافزارهای لبه کار میکنید، بررسی کنید کدام بخش از تستهای بصری شما را میتوان با مدلهای چندوجهی (Multimodal) — مدلهایی که همزمان متن و عکس را میفهمند — جایگزین کرد.
- برای کاهش هزینه، از مدلهای سبکتر مثل Gemini Flash برای استخراج دادههای ساده از تصاویر استفاده کنید.
- ساخت یک جیگ تحریک الکترونیکی ساده را برای جایگزینی دکمههای فیزیکی در محیط تست خود امتحان کنید.
اما بهینهسازی مصرف انرژی در این دستگاهها داستان دیگری دارد؛ برای درک نحوه مدیریت توان در سیستمهای هوشمند، تحلیل ما درباره تراشههای کممصرف را بخوانید.




گفتگو