در این پروژه قصد داریم به کمک Google Vision API و ماژول ESP32 CAM یک دوربین هوش مصنوعی بسازیم. در واقع قصد داریم ESP32 Camera و Google Vision API رو تست کنیم تا ببینیم میشه از هوش مصنوعی و یادگیری ماشین استفاده کرد یا نه. دوربین هوش مصنوعی که قراره بسازیم میتونه اشیاء رو در فریم ثبتشده تشخیص بده و فریم رو به همراه برچسبها روی صفحه TFT LCD نمایش میده.
Google Vision API این امکان رو برای برنامهنویسها فراهم میکنه تا به آسانی فیچرهای تشخیص بینایی رو در مواردی مثل برچسبگذاری تصویر، چهره، تشخیص landmark، نویسهخوان نوری (OCR) و تگگذاری محتوای ضمنی به کار ببرن. ما هم قصد داریم در این پروژه همون قابلیتهای Google Vision رو به کمک ماژول ESP32 Camera اجرا کنیم. به این دلیل ماژول ESP32 CAM رو انتخاب کردیم که این ماژول بهترین راهکاری برای برنامههای پردازش تصویر IoT هست.
انجام این پروژه کمی طول میکشه چون مراحل زیادی داره. داخل این پروژه باید کد Arduino رو برای ماژول ESP32 CAM بنویسیم و چند تا کتابخانه مثل TFT، JSON و Decoder به اون اضافه کنیم. در گام بعدی باید Google Vision API رو راهاندازی کنیم، NodeJS رو نصب کنیم و تنظیماتی برای GCP انجام بدیم. در این پروژه مراحل راهاندازی سختافزار و Arduino و کد Nodejs به طور کامل توضیح دادم. برای همین، ساخت یک دوربین هوش مصنوعی با استفاده از Google Vision و ماژول ESP32 CAM نباید زیاد کار پیچیده ای باشه.
قطعات مورد نیاز
برای ساخت یک دوربین هوش مصنوعی به کمک Google Vision و ESP32 CAM به قطعات زیر نیاز داریم. زمانیکه ESP32-CAM رو به همراه سختافزارها و نرمافزارهای دیگه استفاده میکنیم عکس میگیره و Google Vision جزئیات رو اسکن میکنه.
لیست قطعات سخت افزاری مورد نیاز
-
ماژول دوربین ESP32 محصول AI-Thinker
-
صفحهنمایش TFT LCD (نمایشگر ILI9341 2.8″ 240X320 SPI)
-
کلید فشاری
-
ماژول FTDI (ماژول مبدل USB به TTL)
-
کابل 5V Mini-USB
-
سیم جامپر (کانکتورهای مادگی به مادگی)
ماژول دوربین ESP32 CAM
ماژول دوربین ESP32 محصول AI-Thinker هست. این کنترلر مبتنی بر یک CPU 32 بیتی هست یک تراشه Wi-Fi + بلوتوث/BLE داره. این کنترلر یک SRAM 520 کیلوبایتی و یک 4M PSRAM خارجی داره. پینهای GPIO این کنترلر از UART، SPI، I2C، PWM، ADC و DAC پشتیبانی میکنند.
این ماژول با ماژول دوربین OV2640 ترکیب میشه که بیشترین میزان وضوح دوربین (1600 × 1200) رو داره. دوربین رو میشه با استفاده از کانکتور طلایی رنگ که 24 تا پین داره به بورد ESP32-CAM وصل کرد. این بورد از کارت SD با حافظه 4 گیگابایت پشتیبانی میکنه. تصاویر ثبتشده در کارت حافظه ذخیره میشوند.