اینترنت اشیا - IOTمطالب آموزشی

راه اندازی ماژول دوربین ESP32-CAM:شروع پروژه‌ه ی اینترنت اشیاء با ESP32-CAM

آشنایی با ESP32-CAM و قابلیت‌های آن برای DIY و IoT

چند سال پیش اگر از شما می‌پرسیدند یک ماژول دوربین دیجیتال با قابلیت وای‌فای چقدر قیمت دارد، بعید بود عدد پایینی بگویید. اما امروز اوضاع فرق کرده است.

ماژول ESP32-CAM که اولین بار در سال ۲۰۱۹ عرضه شد، با امکاناتی فراتر از انتظار وارد بازار شد. این برد کوچک با وجود قیمت مناسب امکاناتی مثل پردازنده‌ی قدرتمند ESP32، پشتیبانی از دوربین OV2640 و قابلیت اتصال کارت حافظه‌ی SD را در اختیار شما قرار می‌دهد.

این ماژول‌ها برای پروژه‌های خانگی و صنعتی واقعاً کاربردی هستند. چه بخواهید یک دوربین هوشمند امنیتی ساده برای خانه یا مغازه بسازید، چه برای پروژه‌های تشخیص چهره یا پلاک خودرو استفاده کنید، یا حتی یک پروژه‌ی سرگرمی مثل تشخیص حرکت و ردیابی اجسام انجام دهید، ESP32-CAM می‌تواند انتخاب خوبی باشد.

داشتن یکی از این بردها در جعبه‌ابزار الکترونیک هر علاقه‌مند به DIY و اینترنت اشیاء (IoT) ، واقعاً ارزشمند است.


مرور سخت‌افزاری ESP32-CAM

ESP32-CAM Hardware Overview

قلب ESP32-CAM، یک سیستم روی چیپ (SoC) به نام ESP32-S از شرکت Ai-Thinker است. از آنجا که یک SoC است، تراشه‌ی ESP32-S یک کامپیوتر کامل را در خود جای داده است — شامل میکروپروسسور، RAM، حافظه ذخیره‌سازی و واحدهای جانبی (پریفرال‌ها) — همه روی یک تراشه.

در حالی که توانایی‌های این تراشه به‌تنهایی بسیار چشمگیر هستند، برد توسعه‌ی ESP32-CAM حتی ویژگی‌های بیشتری را به مجموعه اضافه می‌کند. بیایید هر جزء را یکی یکی بررسی کنیم.


پردازنده ESP32-S

The ESP32-S Processor

17 ESP32 CAM ESP32S Module

ESP32-CAM ماژول مدار چاپی نصب سطحی (Surface-mount PCB module) ESP32-S از Ai-Thinker را تجهیز کرده است. این ماژول معادل ماژول ESP-WROOM-32 از Espressif است (با همان فرم فاکتور و مشخصات کلی).

تراشه‌ی ESP32-S شامل یک میکروپروسسور Tensilica Xtensa® LX6 با دو هسته‌ی ۳۲ بیتی است که با سرعت حیرت‌انگیز ۲۴۰ مگاهرتز کار می‌کند! این همان چیزی است که ESP32-S را برای کارهای سنگینی مانند پردازش ویدئو، تشخیص چهره و حتی هوش مصنوعی مناسب می‌سازد.


حافظه

The Memory

16 ESP32 CAM RAM Flash Memory PSRAM

حافظه برای کارهای پیچیده حیاتی است، بنابراین ESP32-S دارای ۵۲۰ کیلوبایت RAM داخلی است که روی همان دای (Die) همراه با دیگر اجزای تراشه قرار دارد.

ممکن است این مقدار برای کارهای سنگین مبتنی بر RAM کافی نباشد، بنابراین ESP32-CAM شامل ۴ مگابایت PSRAM خارجی (Pseudo-Static RAM) برای گسترش ظرفیت حافظه است. این مقدار RAM برای کارهایی مانند پردازش صوتی یا گرافیکی سنگین، کاملاً کافی است.

تمام این ویژگی‌ها بدون داشتن فضای ذخیره‌سازی کافی برای برنامه‌ها و داده‌های شما بی‌فایده خواهند بود. تراشه‌ی ESP32-S در اینجا هم می‌درخشد، زیرا شامل ۴ مگابایت حافظه فلش داخلی است.


دوربین

The Camera

15 ESP32 CAM OV2640 Camera Sensor

سنسور دوربین OV2640 روی ESP32-CAM همان چیزی است که آن را از دیگر بردهای توسعه ESP32 متمایز می‌کند و آن را برای استفاده در پروژه‌های ویدئویی مانند زنگ درب تصویری یا دوربین پرستار بچه ایده‌آل می‌سازد.

سنسور دوربین OV2640 دارای رزولوشن ۲ مگاپیکسل است که به حداکثر ۱۶۰۰×۱۲۰۰ پیکسل ترجمه می‌شود، که برای بسیاری از کاربردهای نظارت تصویری کافی است.

ESP32-CAM با طیف وسیعی از سنسورهای دوربین سازگار است، همان‌طور که در گیت‌هاب فهرست شده است.


حافظه ذخیره‌سازی

The Storage

14 ESP32 CAM microSD Card Slot

افزودن یک شیار کارت microSD روی ESP32-CAM یک امتیاز عالی است. این امکان را برای گسترش نامحدود فراهم می‌کند و این برد کوچک را به گزینه‌ای عالی برای دیتالاگرها یا ثبت تصاویر تبدیل می‌سازد.


آنتن

The Antenna

13 ESP32 CAM PCB Antenna uFL Connector Selection Jumper

ESP32-CAM دارای یک آنتن PCB داخلی (ردیابی روی برد) و همچنین یک کانکتور u.FL برای اتصال آنتن خارجی است. یک جامپر انتخاب آنتن (مقاومت صفر اهم) به شما اجازه می‌دهد بین این دو گزینه انتخاب کنید.

ماژول وای فای و بلوتوث ESP32-CAM با دوربین 2 مگاپیکسل RHYX-M21

ماژول وای فای و بلوتوث ESP32-CAM با دوربین 2 مگاپیکسل RHYX-M21

مشاهده کالا

 

اگر می‌خواهید از آنتن داخلی به خارجی تغییر دهید، به بخش مربوط به اتصال آنتن خارجی به ESP32-CAM مراجعه کنید.


LEDها

LEDs

ESP32-CAM دارای یک LED مربع سفید است. این LED برای استفاده به عنوان فلش دوربین در نظر گرفته شده است، اما می‌تواند برای روشنایی عمومی نیز استفاده شود.

12 ESP32 CAM LEDs and GPIO Pin Numbers

یک LED قرمز کوچک در پشت وجود دارد که می‌تواند به عنوان نشانگر وضعیت استفاده شود. این LED توسط کاربر برنامه‌پذیر است و به GPIO33 متصل شده است.


مشخصات فنی

Technical Specifications

برای خلاصه‌سازی، ESP32-CAM دارای مشخصات زیر است:

پردازنده‌ها (Processors):

  • CPU: میکروپروسسور Xtensa دو هسته‌ای ۳۲ بیتی LX6، با فرکانس کاری ۲۴۰ مگاهرتز و کارایی تا ۶۰۰ DMIPS
  • هم‌پردازنده بسیار کم‌مصرف (ULP co-processor)

حافظه (Memory):

  • ۵۲۰ کیلوبایت SRAM
  • ۴ مگابایت PSRAM خارجی
  • ۴ مگابایت حافظه فلش داخلی

اتصال بی‌سیم (Wireless connectivity):

  • Wi-Fi: استاندارد 802.11 b/g/n
  • بلوتوث: نسخه 4.2 BR/EDR و BLE (که رادیو را با Wi-Fi به اشتراک می‌گذارد)

دوربین (Camera):

  • سنسور OV2640 با رزولوشن ۲ مگاپیکسل
  • اندازه آرایه: UXGA 1622×1200
  • فرمت‌های خروجی شامل: YUV422، YUV420، RGB565، RGB555 و داده فشرده ۸ بیتی
  • نرخ انتقال تصویر: ۱۵ تا ۶۰ فریم بر ثانیه
  • دارای LED فلش داخلی
  • پشتیبانی از بسیاری از سنسورهای دوربین
  • پشتیبانی از کارت microSD

امنیت (Security):

  • پشتیبانی از تمام ویژگی‌های امنیتی استاندارد IEEE 802.11، شامل: WFA، WPA/WPA2 و WAPI
  • بوت امن (Secure boot)
  • رمزگذاری فلش (Flash encryption)
  • کلیدهای یکبارمصرف OTP با طول ۱۰۲۴ بیت (تا ۷۶۸ بیت برای مشتریان)
  • شتاب‌دهنده سخت‌افزاری رمزنگاری: AES، SHA-2، RSA، رمزنگاری منحنی بیضوی (ECC)، تولیدکننده اعداد تصادفی (RNG)

مدیریت توان (Power management):

  • رگولاتور داخلی LDO (افت ولتاژ کم)
  • دامنه تغذیه مستقل برای RTC
  • جریان حالت خواب عمیق: ۵ میکروآمپر
  • قابلیت بیدار شدن از: وقفه GPIO، تایمر، اندازه‌گیری ADC، وقفه سنسور لمسی خازنی

شماتیک و دیتاشیت‌ها

Schematic and Datasheets

برای اطلاعات بیشتر در مورد ESP32-CAM، لطفاً به منابع زیر مراجعه کنید:

  • دیتاشیت ESP32-CAM
  • شماتیک ESP32-CAM
  • دیتاشیت دوربین OV2640

مصرف توان ESP32-CAM

ESP32-CAM Power Consumption

مصرف توان ESP32-CAM بسته به نوع استفاده شما متفاوت است.

این مقدار از ۸۰ میلی‌آمپر در حالت بدون استریم ویدئو تا حدود ۱۰۰ تا ۱۶۰ میلی‌آمپر در هنگام استریم ویدئو متغیر است؛ و در صورتی که فلش روشن باشد، می‌تواند به ۲۷۰ میلی‌آمپر برسد.

جدول حالت‌های کاری و مصرف توان:

حالت کاری مصرف توان
استندبای (Stand by) ۸۰ میلی‌آمپر
در حال استریم (In streaming) ۱۰۰ تا ۱۶۰ میلی‌آمپر
استریم با فلش (In streaming with flash) ۲۷۰ میلی‌آمپر

پین‌آوت ESP32-CAM

ESP32-CAM Pinout

11 ESP32 CAM Pinout

برد ESP32-CAM در مجموع ۱۶ پین دارد. برای راحتی، پین‌هایی با عملکرد مشابه در کنار هم گروه‌بندی شده‌اند. پین‌آوت به صورت زیر است:


پین‌های تغذیه (Power Pins)

دو پین تغذیه وجود دارد: ۵V و ۳V3.
ESP32-CAM می‌تواند از طریق پین ۳.۳ ولت یا ۵ ولت تغذیه شود. از آنجا که بسیاری از کاربران مشکلاتی را هنگام تغذیه دستگاه با ۳.۳ ولت گزارش کرده‌اند، توصیه می‌شود که ESP32-CAM همیشه از طریق پین ۵V تغذیه شود.

پین VCC به طور معمول ۳.۳ ولت را از رگولاتور ولتاژ روی برد خروجی می‌دهد. با این حال، می‌توان آن را با استفاده از لینک صفر اهم نزدیک به پین VCC طوری پیکربندی کرد که ۵ ولت خروجی بدهد.

پین GND، زمین مدار است.


پین‌های GPIO

تراشه ESP32-S در مجموع دارای ۳۲ پین GPIO است، اما به دلیل اینکه بسیاری از آن‌ها به صورت داخلی برای دوربین و PSRAM استفاده می‌شوند، برد ESP32-CAM فقط ۱۰ پین GPIO قابل استفاده دارد.
این پین‌ها می‌توانند برای کارهای مختلفی مانند UART، SPI، ADC و Touch اختصاص داده شوند.


پین‌های UART

تراشه ESP32-S در واقع دو رابط UART دارد: UART0 و UART2.
اما تنها پین RX (GPIO16) از UART2 بیرون کشیده شده است، بنابراین تنها UART0 (پین‌های GPIO1 و GPIO3) در ESP32-CAM قابل استفاده است.

ماژول مبدل USB Type-C به TTL با تراشه CH340N

ماژول مبدل USB Type-C به TTL با تراشه CH340N

مشاهده کالا

 

همچنین، از آنجا که ESP32-CAM فاقد پورت USB است، این پین‌ها باید هم برای فلش کردن و هم برای اتصال به دستگاه‌های UART (مثل GPS، حسگر اثرانگشت، حسگر فاصله و غیره) استفاده شوند.


پین‌های کارت microSD

این پین‌ها برای ارتباط با کارت microSD استفاده می‌شوند. اگر از کارت microSD استفاده نمی‌کنید، می‌توانید این پین‌ها را مانند ورودی‌ها و خروجی‌های معمولی به کار ببرید.


پین‌های ADC

روی ESP32-CAM فقط پین‌های ADC2 بیرون کشیده شده‌اند.
با این حال، از آنجا که پین‌های ADC2 به صورت داخلی توسط درایور Wi-Fi استفاده می‌شوند، زمانی که Wi-Fi فعال باشد نمی‌توان از آن‌ها استفاده کرد.


پین‌های لمسی (Touch Pins)

ESP32-CAM دارای ۷ پین GPIO لمسی خازنی است.
وقتی یک بار خازنی (مانند انگشت انسان) در نزدیکی GPIO قرار گیرد، ESP32 تغییر ظرفیت خازنی را تشخیص می‌دهد.


پین‌های SPI

ESP32-CAM تنها یک SPI (VSPI) در حالت‌های Slave و Master دارد.


پین‌های PWM

ESP32-CAM دارای ۱۰ کانال (تمام پین‌های GPIO) PWM است که توسط یک کنترلر PWM کنترل می‌شوند.
خروجی PWM می‌تواند برای راه‌اندازی موتورهای دیجیتال و LEDها استفاده شود.


برای اطلاعات بیشتر، به راهنمای جامع پین‌آوت ESP32-CAM مراجعه کنید. این راهنما همچنین توضیح می‌دهد که کدام پین‌های GPIO ESP32-CAM امن هستند و کدام پین‌ها باید با احتیاط استفاده شوند.


برنامه‌نویسی ESP32-CAM

Programming the ESP32-CAM

برنامه‌نویسی ESP32-CAM می‌تواند کمی دردسرساز باشد، زیرا این برد پورت USB داخلی ندارد. به دلیل همین تصمیم طراحی، کاربران برای آپلود برنامه‌ها از Arduino IDE به سخت‌افزار اضافی نیاز دارند. هیچ‌کدام از این مراحل خیلی پیچیده نیستند، اما می‌تواند آزاردهنده باشد.

برای برنامه‌نویسی این دستگاه، شما به یکی از این دو ابزار نیاز خواهید داشت:

  • یک مبدل USB به سریال (FTDI Adapter)
  • یا یک برنامه‌ریز ESP32-CAM-MB

استفاده از مبدل FTDI

Using the FTDI Adapter

اگر تصمیم گرفته‌اید از مبدل FTDI استفاده کنید، اتصال آن به ماژول ESP32-CAM به شکل زیر خواهد بود:

10 ESP32 CAM FTDI Adapter Connections

بسیاری از پروگرامرهای FTDI یک جامپر دارند که به شما اجازه می‌دهد بین ۳.۳ ولت و ۵ ولت انتخاب کنید. چون ما ESP32-CAM را با ۵ ولت تغذیه می‌کنیم، مطمئن شوید جامپر روی ۵V قرار دارد.

لطفاً توجه کنید که پین GPIO0 باید به زمین (GND) متصل شود. این اتصال فقط در زمان برنامه‌ریزی ESP32-CAM لازم است.
وقتی برنامه‌ریزی ماژول به پایان رسید، باید این اتصال را قطع کنید.

یادتان باشد! هر بار که می‌خواهید یک کُد جدید (Sketch) آپلود کنید، باید دوباره این اتصال را برقرار کنید.


استفاده از آداپتور ESP32-CAM-MB (توصیه‌شده)

Using the ESP32-CAM-MB Adapter (Recommended)

استفاده از مبدل FTDI برای برنامه‌ریزی ESP32-CAM کمی دردسر دارد. به همین دلیل، بسیاری از فروشندگان اکنون برد ESP32-CAM را همراه با یک برد کوچک افزونه به نام ESP32-CAM-MB عرضه می‌کنند.

کافی است ESP32-CAM را روی این برد افزونه قرار دهید، یک کابل micro USB وصل کنید، و روی دکمه Upload در Arduino IDE کلیک کنید تا برنامه روی برد آپلود شود. به همین سادگی.

09 ESP32 CAM MB Programmer Hardware Overview

نکته برجسته این برد، مبدل USB به سریال CH340G است. این تراشه داده‌ها را بین کامپیوتر شما و ESP32-CAM ترجمه می‌کند. همچنین این برد دارای:

  • دکمه RESET
  • دکمه BOOT
  • یک LED نشانگر تغذیه
  • و یک رگولاتور ولتاژ برای تأمین توان کافی به ESP32-CAM

می‌باشد.


راه‌اندازی Arduino IDE

Setting Up the Arduino IDE

نصب برد ESP32

Installing the ESP32 Board

برای استفاده از ESP32-CAM (یا هر ESP32 دیگری) با Arduino IDE، ابتدا باید برد ESP32 (که با نام ESP32 Arduino Core هم شناخته می‌شود) را از طریق Arduino Board Manager نصب کنید.

اگر قبلاً این کار را انجام نداده‌اید، این آموزش را دنبال کنید تا برد ESP32 را نصب کنید:

  • آموزش برنامه‌نویسی ESP32 در Arduino IDE
  • نصب برد ESP32 در Arduino IDE

چندین پلتفرم توسعه برای برنامه‌نویسی ESP32 موجود هستند. شما می‌توانید از این‌ها استفاده کنید:

  • Arduino IDE – مخصوص کسانی که با Arduino آشنا هستند
  • Espruino … (ادامه دارد)

انتخاب برد و پورت

Selecting the Board and Port

پس از نصب ESP32 Arduino Core، Arduino IDE خود را ری‌استارت کنید و به مسیر زیر بروید:
Tools > Board > ESP32 Arduino و سپس AI-Thinker ESP32-CAM را انتخاب کنید.

08 Selecting ESP32CAM Board Arduino IDE Boards Manager

اکنون ESP32-CAM را با استفاده از یک کابل USB به کامپیوتر خود متصل کنید. سپس به مسیر زیر بروید:
Tools > Port و پورتی را که ESP32-CAM به آن وصل است انتخاب کنید.

07 ESP32 CAM Port Selection

همین! Arduino IDE اکنون برای استفاده با ESP32-CAM آماده است.


مثال اول ESP32-CAM : چشمک‌زن

ESP32-CAM Example 1 : Blink

وقتی مراحل قبلی را به پایان رساندید، آماده هستید تا اولین برنامه‌ی خود را روی ESP32-CAM امتحان کنید!
Arduino IDE را باز کنید. اگر برد خود را جدا کرده‌اید، دوباره آن را وصل کنید.

بیایید ساده‌ترین اسکتچ (Sketch) ممکن را آپلود کنیم – چشمک‌زن (Blink)!

این اسکتچ از LED فلش دوربین روی برد استفاده می‌کند. این LED به GPIO4 متصل است.

اکنون دکمه Upload را فشار دهید.
اگر از مبدل FTDI استفاده می‌کنید، بعد از آپلود کد، اتصال GPIO0 به GND را قطع کنید. برای اجرای اسکتچ، ممکن است لازم باشد دکمه Reset روی ESP32-CAM را فشار دهید.

اگر همه چیز درست کار کرده باشد، اکنون باید LED فلش روی برد ESP32-CAM شما شروع به چشمک‌زدن کند!

تبریک می‌گوییم! شما به‌تازگی اولین برنامه‌ی خود را روی ESP32-CAM اجرا کردید! 🎉


بیشتر مثال‌های ESP32-CAM

More ESP32-CAM Examples

هسته‌ی Arduino برای ESP32 شامل چندین مثال است که همه‌چیز را از اسکن شبکه‌های نزدیک گرفته تا ساخت یک وب‌سرور نشان می‌دهند.

برای دسترسی به این اسکتچ‌های نمونه، به مسیر زیر بروید:
File > Examples > ESP32

شما مجموعه‌ای از اسکتچ‌های نمونه را خواهید دید. می‌توانید هر کدام را انتخاب کرده و در IDE بارگذاری کنید و شروع به آزمایش کنید.

06 Arduino IDE ESP32 CAM


مثال دوم ESP32-CAM : سرور استریم ویدیوی زنده

ESP32-CAM Example 2 : Live Video Streaming Server

بیایید اسکتچ CameraWebServer را اجرا کنیم. این اسکتچ، ESP32-CAM را به یک وب‌کم کامل تبدیل می‌کند، همراه با قابلیت‌هایی مثل تشخیص چهره و گزینه‌های سفارشی‌سازی فراوان.
این یک نمونه‌ی بسیار چشمگیر از توانایی‌های ESP32-CAM است!

شما می‌توانید این مثال را در این مسیر پیدا کنید:
File > Examples > ESP32 > Camera > CameraWebServer

 

05 ESP32 CAM CameraWebServer


تنظیم کد برای ESP32-CAM

We’ll need to make a few changes…

برای اینکه این کد روی ESP32-CAM شما کار کند، باید چند تغییر کوچک اعمال کنید:

  1. انتخاب مدل دوربین
    از آنجایی که ما از مدل AI-THINKER استفاده می‌کنیم، باید آن را غیرفعال‌سازی کامنت (uncomment) کرده و سایر مدل‌ها را کامنت کنید.
  1. تنظیم شبکه وای‌فای
    شما باید اطلاعات شبکه‌ی وای‌فای خود را وارد کنید. متغیرهای زیر را پر کنید:
کدی که باید تغییر دهید در متن اصلی هایلایت زرد شده است.

04 ESP32 CAM CameraWebServer Changes Highlighted


دسترسی به سرور استریم ویدیو

Accessing the Video Streaming Server

وقتی اسکتچ را آپلود کردید، مانیتور سریال را با نرخ 115200 baud باز کنید و دکمه‌ی Reset روی ESP32-CAM را فشار دهید.
باید آدرس IP را در مانیتور سریال ببینید.

03 ESP32 CAM IP Address

مرورگر وب را باز کنید و آدرس IP نمایش داده‌شده در مانیتور سریال را وارد کنید. مطمئن شوید که مرورگر وب شما روی همان شبکه‌ای است که ESP32-CAM به آن متصل است.

ESP32-CAM باید یک صفحه‌ی وب نمایش دهد. برای شروع استریم ویدیو، روی دکمه‌ی Start Stream کلیک کنید.

02 ESP32 CAM Live Video Streaming

شما می‌توانید در پنل سمت چپ با تنظیمات مختلف دوربین کار کنید. برای مثال، می‌توانید رزولوشن و نرخ فریم ویدیو را تغییر دهید، همچنین روشنایی، کنتراست، اشباع و موارد مشابه را تنظیم کنید.

01 ESP32 CameraWebServer Controls

برای گرفتن عکس کافی است روی دکمه‌ی Get Still کلیک کنید.
توجه داشته باشید که تصاویر روی کامپیوتر دانلود می‌شوند و نه روی کارت microSD ذخیره.


اتصال یک آنتن خارجی به ESP32-CAM

Connecting an External Antenna to ESP32-CAM

ESP32-CAM دارای یک آنتن PCB داخلی و همچنین یک کانکتور u.FL برای اتصال آنتن خارجی است. یک جامپر انتخاب آنتن (مقاومت صفر اهم) به شما اجازه می‌دهد بین این دو گزینه انتخاب کنید.

آنتن PCB یک روش عالی برای شروع کار با ESP32-CAM است. این آنتن زمانی که نزدیک روتر باشید به خوبی کار می‌کند (شرکت Ai-Thinker ادعا می‌کند آنتن PCB دارای بهره 2.1dBi است).

اما اگر فاصله‌ی شما از روتر زیاد باشد، ممکن است با کندی در استریم ویدیو و دیگر مشکلات اتصال مواجه شوید. در این صورت باید از یک آنتن خارجی ۲.۴ گیگاهرتز با کانکتور IPX استفاده کنید.
برای این کار باید جامپرهای آنتن را تغییر دهید تا کانکتور u.FL فعال شود.

ESP32 CAM Antenna Selection Setting

یک مجموعه‌ی سه‌تایی از پدهای لحیم‌کاری در کنار کانکتور u.FL و بین آنتن روی برد و قاب فلزی ESP32-S قرار دارند. یک مقاومت صفر اهم، دو پد بالایی را به هم متصل می‌کند. کافی است این مقاومت را بردارید و آن را بین پدهای پایینی قرار دهید.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا