تصور کنید در قلب یک جنگل انبوه هستید، جایی که هیچ سیگنالی از دنیای دیجیتال وجود ندارد، اما ابزاری در دست دارید که هر صدای ناشناختهای را به نام یک پرنده تبدیل میکند. پروژه B.L.O.O.M (اتصال مشاهدات محلی، نقشهبرداری باز) ثابت میکند که برای داشتن یک دستیار هوشمند، لزوماً به ابر یا پردازندههای گرافیکی عظیم نیاز نیست. در حالی که هوش مصنوعی با کاربرد بالا معمولاً نیازمند GPUهای ردهبالا یا اتصال دائمی به ابر است، این پروژه رویکردی متفاوت را پیش گرفته است.
این سیستم که در بدنهٔ یک کیف آرایشی قدیمی جای گرفته، یک ایستگاه کاری کامل و آفلاین است که میتواند در محیطهای بکر، صدای پرندگان را شناسایی کند. این پروژه در زمانی عرضه شده که فرهنگ «سایبردک» (Cyberdeck) — رایانههای قابلحمل و دستساز با الهام از علمی-تخیلی دهه ۸۰ — با تقاضای فزاینده برای حریم خصوصی و ابزارهای «سمزدایی دیجیتال» گره خورده است. برخلاف ابزارهای رایج که کاربر را در چرخهٔ اشتراکی ابر حبس میکنند، B.L.O.O.M بر حاکمیت محلی دادهها تأکید دارد. این دستگاه به عنوان ابزاری در برابر فرهنگ «عکس بگیر و ورق بزن» (snap-and-swipe) طراحی شده است تا طبیعتگردان را به جای ثبت سریع و رد شدن، به توقف، اشاره کردن و منتظر ماندن برای شنیدن یک نوت موسیقی طبیعت دعوت کند.
همانطور که در تحلیلهای پیشین ما دربارهی رایانش لبه اشاره کردیم، انتقال پردازش از سرورهای مرکزی به سختافزارهای کوچک، کلید استقلال دیجیتال است.
زیرساخت سختافزاری
قلب تپندهٔ این دستگاه، برد Arduino UNO Q (نسخه ۴ گیگابایتی) است. این برد حافظهٔ کافی برای اجرای مدلهای زبانی کوچک (SLM) — شبیه به یک کتابخانهدار مینیاتوری که فقط روی موضوعات خاص تخصص دارد — و طبقهبندهای صوتی را بهصورت کاملاً محلی فراهم میکند. این ویژگی باعث میشود دستگاه حتی در مسیرهای جنگلی که هیچ سیگنالی وجود ندارد، کاملاً کاربردی باشد. برای تبدیل این برد به یک سیستم قابلحمل، سازنده از یک کیف قدیمی برند Lancôme که به قیمت ۱۰ دلار از eBay خریداری شده بود، بهعنوان بدنه استفاده کرده است.
متصلشدن قطعات از طریق یک هاب USB ۵-در-۱ مدیریت میشود که شامل موارد زیر است:
- یک نمایشگر ۵ اینچی HDMI (که از طریق یک کابل HDMI ۶ اینچی متصل شده است)
- یک دوربین USB برای عکاسی از گیاهان و جانوران
- یک میکروفون USB برای ضبط صدا
- یک پاوربانک برای تامین انرژی در محیطهای باز (که از طریق کابل USB-A به Micro-USB متصل شده است)
برای بهینهسازی فضای پورتها و آزاد نگه داشتن آنها، یک کیبورد بلوتوثی با تاچپد داخلی از طریق سیستمعامل Debian جفت شده است. بدنهٔ داخلی از فوم و پارچههای بازیافتی ساخته شده، اما سازنده هشدار میدهد که این مواد گرما را به دام میاندازند و میتوانند باعث داغ شدن UNO Q در داخل کیف عایق شوند. بنابراین پیشنهاد میکند برای تهویه بهتر از متریالهای با بافت باز مثل راتان یا حتی حصیرهای لوله کردن سوشی برای ساخت قفسهها استفاده شود.
جزئیات بدنه و ساخت
از آنجا که در این پروژه از چاپگر سهبعدی استفاده نشده، تمام تغییرات بهصورت دستی روی کیف قدیمی اعمال شده است تا ساختاری کاربردی ایجاد شود:
- ایجاد سوراخی کوچک در بدنه برای جایگذاری لنز دوربین.
- ساخت قفسههای داخلی از فوم و پارچه بازیافتی برای سازماندهی قطعات.
- تثبیت هاب USB در جای خود با استفاده از بستهای پلاستیکی (Zip-ties).
- ایجاد یک پشتی مقوایی برای نمایشگر جهت ایجاد فضای کافی برای مدیریت کابلها.
طراحی عمودی و بلند این کیف آرایشی اجازه میدهد تا فضای اضافهای برای ابزارهای فیزیکی فراهم شود. کاربر میتواند در کنار سختافزار، وسایلی مانند ذرهبین، گلهای خشکشده، یک ست کوچک آبرنگ یا راهنمای شناسایی برگها را جای دهد.
هوش مصنوعی محلی و محیط برنامهنویسی
معماری نرمافزاری بر پایه Arduino App Lab است که از «آجرهای» ماژولار برای استقرار قابلیتهای هوش مصنوعی استفاده میکند. این دستگاه سه آجر اصلی را اجرا میکند:
- آجر رابط کاربری وب: مدیریت دوربین و ابزارهای طراحی با استفاده از JS و HTML. این همان جایی است که کاربر یادداشتهای میدانی خود را مینویسد.
- آجر مدل زبانی: اجرای محلی مدل Gemma روی برد، که به کاربران اجازه میدهد برای یادگیری بیشتر درباره عکسهای گیاهان و جانوران با هوش مصنوعی چت کنند.
- آجر طبقهبندی صوتی: اختصاص یافته به شناسایی صدای پرندگان.
به نقل از مستندات پروژه، برای رفع یک باگ خاص در دبیان که باعث میشد پنجرههای پاپآپ Chromium پشت سایر پنجرهها باز شوند، یک اسکریپت اختصاصی برای اجرای حالت کیوسک (Kiosk Mode) نوشته شده است. این اسکریپت منتظر میماند تا سرور محلی فعال شود و سپس Chromium را با دستور chromium-browser --kiosk --noerrdialogs --disable-infobars --app={url} اجرا میکند. این کار باعث میشود رابط کاربری بهصورت تمامصفحه باز شود، نوار ابزارهای دسکتاپ حذف گردد و حس یک دفترچه دیجیتال اختصاصی را منتقل کند.
شناسایی صدای پرندگان با Edge Impulse
برای بخش شنیداری، پروژه از Edge Impulse استفاده میکند. سازنده بهجای استفاده از مدلهای آماده، یک طبقهبند صوتی را از گالری جامعه Edge Impulse بازآموزی کرد تا عدم توازن کلاسها و کمبود نمونهها را برطرف کند.
برای بهبود مدل، اقدامات فنی زیر صورت گرفت:
- کپی کردن پروژه موجود و حذف کلیپهای صوتی غیرقابل استفاده.
- استخراج حداقل ۲۰ ضبط صوتی از هر گونه (مانند Blue Jays، Mourning Doves و Northern Cardinals) از xeno-canto که یک پایگاه داده تخصصی صدای پرندگان است.
- تبدیل تمام فایلهای صوتی به فرمت WAV، برچسبگذاری آنها و آپلود در پلتفرم.
- بازتنظیم تفکیک دادههای آموزش و آزمون (train/test split) و بازآموزی مدل.
وقتی کاربر صدای پرندهای را در محیط ضبط میکند، دکمهای را فشار میدهد، مدل محلی صدا را طبقهبندی کرده و نتیجه مستقیماً در یک پایگاهداده SQLite محلی ذخیره میشود. این مدل بهصورت عمومی و قابل کپی (cloneable) منتشر شده تا دیگران بتوانند گونههای محلی خود را به آن اضافه کنند.
خط لوله همگامسازی ابری
طبق اعلام تیم توسعه، هیچ دادهای بدون اجازه صریح کاربر (با فشردن دکمه "Sync to Cloud") از دستگاه خارج نمیشود. این رویکرد بازتابدهنده ماموریت Her AI Studio است؛ سازمان غیرانتفاعی متمرکز بر حاکمیت داده، امنیت و حریم خصوصی که دسترسی دانشجویان به این کیتهای هوش مصنوعی را فراهم میکند. فرآیند همگامسازی از یک خط لوله فنی دقیق پیروی میکند:
۱. استخراج دادهها از SQLite شامل برچسب زمانی، عکس، طرح، یادداشت هوش مصنوعی، مکان، آبوهوا و زیستگاه.
۲. تبدیل عکسها و طرحها به فرمت base64 تا کل ورودی به صورت یک بسته JSON واحد ارسال شود.
۳. ارسال این بسته به یک Netlify Function از طریق فراخوانی requests.post.
۴. استفاده از Octokit توسط تابع برای ایجاد یک Pull Request در مخزن گیتهاب (field-notes repo).
۵. درج جزئیات مکان، آبوهوا و زیستگاه در بدنه PR و برچسبگذاری آن با تگ device-submission.
۶. بررسی و ادغام PR توسط یک ناظر انسانی که باعث بازسازی سایت با Astro و بهروزرسانی صفحه community-field-notes.netlify.app میشود.
تولید یادداشتهای میدانی کلاسیک
برای شبیهسازی سنت تصویرگریهای علمی (مانند سنت Grinnell)، پروژه از API تبدیل تصویر به تصویر (image-to-image) شرکت Cloudinary استفاده میکند. پیش از باز شدن PR در گیتهاب، تابع Netlify متن یادداشت را با استفاده از مدل Nano Banana (نسخه پرمیوم) به Cloudinary ارسال میکند.
با ارائه یک تصویر مرجع از طرحهای قدیمی که پیشتر در Cloudinary ذخیره شده، API تضمین میکند که تمام تصاویر تولید شده توسط هوش مصنوعی دارای زیباییشناسی یکسان شامل رنگهای خاکی، کیفیت دستنویس و سبک تصویرگری علمی باشند. پرامپت مورد استفاده این است: "یک تصویر طرح میدانی به سبک تصویر مرجع [1] ایجاد کن. طرح باید [متن یادداشت] را به تصویر بکشد. از زیباییشناسی دفترچه میدانی قدیمی با رنگهای خاکی، کیفیت دستنویس و سبک تصویرگری علمی استفاده کن."
خروجی بهصورت یک managed_asset مستقیماً در کتابخانه Cloudinary با یک public_id پیشبینیشده (مثلاً field-notes/<slug>-ai) ذخیره میشود. این امر به سایت جامعه اجازه میدهد تصاویر را با تغییرات خودکار مانند f_auto (فرمت بهینه)، q_auto (کیفیت بهینه) و تغییر اندازه برای تامنیلها، بدون نیاز به دانلود و آپلود مجدد، ارائه دهد.
نکات پیادهسازی برای توسعهدهندگان
سازنده برای کسانی که قصد بازسازی این سیستم را دارند، چند پیکربندی کلیدی را پیشنهاد میکند:
- امنیت: متغیرهای
CLOUDINARY_CLOUD_NAME،CLOUDINARY_API_KEYوCLOUDINARY_API_SECRETرا حتماً در متغیرهای محیطی Netlify نگه دارید؛ هرگز آنها را روی سختافزار فیزیکی ذخیره نکنید. - داراییها: ابتدا طرح مرجع را در Cloudinary آپلود کرده و از URL تحویل آن به عنوان
REFERENCE_IMAGE_URLاستفاده کنید. - هزینه: API تولید تصویر یک سهمیه رایگان ماهانه ارائه میدهد که برای پروژههای جامعه کافی است.
این ساختار نیاز به SDKهای پیچیده یا زیرساختهای اضافی را از بین میبرد، زیرا تمام فرآیند تولید تصویر از طریق یک فراخوانی ساده fetch در یک تابع بدون سرور (Serverless Function) مدیریت میشود.
جامعه و دادههای باز
خروجی نهایی B.L.O.O.M یک دفترچه میدانی دیجیتال است که با Astro و مجموعههای محتوای Markdown ساخته شده است. هر یادداشت همگامسازیشده به یک فایل .md در دایرکتوری src/content/notes/ تبدیل میشود. این فایلها شامل frontmatter برای عنوان، تاریخ، مکان، چکیده، مسیر تصویر و تگها هستند.
این ساختار اجازه میدهد تا جامعه یک رکورد مشترک از تاریخ طبیعی ایجاد کند. با استفاده از Pull Requestهای گیتهاب به عنوان مکانیسم ارسال، پروژه تضمین میکند که پیش از انتشار هر مشاهده، نظارت انسانی صورت گیرد. این کار یک آرشیو سازمانیافته از مشاهدات ایجاد میکند؛ از بررسیهای گیاهشناسی اکولوژی تپههای ساحلی تا مشاهدات زمینشناسی در مسیر Appalachian Trail.
این پروژه پیشفرض «مرکزیت هوش مصنوعی» را به چالش میکشد. با انتقال استنتاج (Inference) — لحظهای که مدل واقعاً جواب تولید میکند، شبیه به خودِ آشپزی و نه دورهی آموزش آشپز — به لبه (Edge) و استفاده از ابر تنها برای آرشیو و بهبودهای استایلی، B.L.O.O.M الگویی برای سختافزارهای هوش مصنوعی با اولویت حریم خصوصی ارائه میدهد. برای کسانی که میخواهند سیستم خود را بسازند، تمام شماتیکهای سیمکشی و کدها در Hackster و GitHub در دسترس است.
گام بعدی شما
- اگر به سختافزارهای باز علاقه دارید، مدارات سیمکشی و کدهای این پروژه را در Hackster و GitHub بررسی کنید.
- برای تجربه شناسایی صوتی محلی، ابزار Edge Impulse را برای جمعآوری دادههای صوتی محیط خود امتحان کنید.
- مدل Gemma را روی سختافزارهای کوچکتر تست کنید تا حد توان استنتاج محلی را بسنجید.
اما داستان سختافزاری این تحول حتی شگفتانگیزتر است — به تحلیل ما دربارهی تراشههای Blackwell و آینده رایانش لبه مراجعه کنید.




گفتگو