بررسی مدهای کاری بردهای خانواده ESP
بردهای خانواده ESP مدلهای مختلف و نسخههای متنوعی دارند. این تراشهها ضمن اینکه دارای ارتباط بیسیم وای فای هستند. به نوعی میکروکنترلر هم حساب میشوند. به چنین تراشههایی SoC گفته میشود. به معنی system on a chip بنابراین تمامی بردهای ESP به تنهایی قابلیت برنامه نویسی و اجرای دستورات را دارند. راه اندازی بردهای خانواده ESP زیر و بم زیادی دارد. بنابراین قبل از اقدام به شروع کار با آنها بایستی اطلاعات کاملی نسبت به آنها داشته باشید. این اطلاعات لازم نیست به شدت تخصصی باشند. بلکه به نوعی نیازمندی مدیرهای شرکتها و کسب و کارهایی است که میخواهند پروژههایی را روی این میکروکنترلرها پیاده سازی کنند. بنابراین سعی کردهایم اصطلاحات مهم این بردها را در قالب این پست برای شما توضیح دهیم. مدهای کاری بردهای ESP بسیار تعیین کننده در روند اجرای صحیح و بدون خطا یا هنگ کردن در پروژهها هستند. اگر این مطلب از بلاگ دانشجو کیت برای شما ارزشمند بود و به اطلاعاتتان اضافه کرد، آنرا با دیگران به اشتراک بگذارید تا دانش فنی مدیرها و کاربران فارسی زبان در این حوزه و IoT رشد پیدا کند.
معرفی بردهای خانواده ESP و توضیحات ابتدایی
بردهای خانواده ESP مانند ESP8266 و ESP32 برای ارتباطات اینترنت اشیاء (IoT) و پروژههای الکترونیکی و برقی بسیار محبوب هستند. آنها از تراشههای کم مصرف و با قدرت محاسباتی بالا بهره میبرند و از طریق اتصالات Wi-Fi یا بلوتوث به شبکه و دستگاههای دیگر متصل میشوند. در ادامه توضیحاتی در مورد برخی از ویژگیهای کلیدی این بردها ارایه شده است.
بردهای ESP8266: بردهای ESP8266 از تراشه Wi-Fi SoC ESP8266 استفاده میکنند. آنها دارای پردازنده قوی 32 بیتی با سرعت 80 مگاهرتز هستند و از حافظه فلش داخلی برای ذخیره برنامهها و دادهها استفاده میکنند. آنها از پروتکل Wi-Fi برای اتصال به شبکهها استفاده میکنند و میتوانند به عنوان یک سرور وب کوچک عمل کنند.
بردهای ESP32: بردهای ESP32 از تراشه Wi-Fi و بلوتوث SoC ESP32 استفاده میکنند. آنها دارای پردازنده 32 بیتی دو هستهای با سرعت 240 مگاهرتز، حافظه فلش داخلی بزرگتر و امکانات بیشتری نسبت به ESP8266 دارند. برخی از امکانات آنها شامل کارت SD، پروتکل بلوتوث کلاسیک و BLE، پشتیبانی از نمایشگرها، حسگرها و سایر واسطها است.
بردهای NodeMCU: این مدل یک برد توسعه برای ESP8266 است که با استفاده از زبانهای برنامهنویسی C++ و میکروپایتون و Lua قابل برنامهریزی است. این برد دارای درگاههای USB، ورودی/خروجی دیجیتال و آنالوگ و قابلیت اتصال به شبکه Wi-Fi است. البته بردهای Nodemcu براساس تراشههای ESP32 هم طراحی و تولید شدهاند.
بردهای Wemos D1 Mini: این مدل هم یک برد توسعه برای ESP8266 است که با ابعاد کوچک و قابلیتهای متنوعی همچون درگاه USB، ورودی/خروجی دیجیتال و آنالوگ، و قابلیت اتصال به شبکه Wi-Fi برخوردار است.
این توضیحات مقدماتی درباره بردهای خانواده ESP را پوشش دادهاند. هر یک از این بردها دارای ویژگیها و قابلیتهای منحصر به فردی هستند و ممکن است بر اساس نیازهای پروژه خاص شما، یکی از آنها را انتخاب کنید.
19 مد کاری تراشه ESP8266
تراشه ESP8266 در هر مد کاری که قرار بگیرد، رفتار متفاوتی خواهد داشت. بنابراین براساس سناریو مورد استفاده در پروژه با درنظر گرفتن میزان مصرف انرژی، لایههای امنیتی و نیازمندی به فرکانس تبادل دادهها بایست مد کاری مناسبی برای آن در نظر گرفت. در ادامه لیست 19 مد کاری مهم تراشه ESP8266 را مشاهده میکنید.
- مد کاری Station Mode
- مد کاری Access Point (AP) Mode
- مد کاری Station + Access Point Mode (STA+AP Mode)
- مد کاری Soft Access Point Mode (SoftAP Mode)
- مد کاری Promiscuous Mode
- مد کاری Monitor Mode
- مد کاری Sniffer Mode
- مد کاری Low Power Mode (Modem Sleep Mode)
- مد کاری Light Sleep Mode
- مد کاری Modem Sleep + Light Sleep Mode
- مد کاری RF Calibration Mode
- مد کاری Null Mode
- مد کاری Auto-Calibration Mode
- مد کاری External Wake-up Mode
- مد کاری Standby Mode
- مد کاری Deep Sleep Mode
- مد کاری Modem Sleep + Light Sleep + RF Calibration Mode
- مد کاری Modem Sleep + RF Calibration Mode
- مد کاری Modem Sleep + Light Sleep + RF Calibration + Promiscuous Mode
لطفاً توجه داشته باشید که برخی از مدها برای تنظیمات و کنترل مصرف انرژی، عملکرد RF و قابلیتهای خاص مورد استفاده قرار میگیرند. همچنین، توجه کنید که برخی از این مدها در نسخههای قدیمیتر تراشه ESP8266 ممکن است پشتیبانی نشوند. در صورت استفاده از نسخههای قدیمیتر، به مستندات رسمی ESP8266 مراجعه کنید تا محدودیتها و قابلیتهای مربوطه را بدانید.
بررسی دستورات AT Command برای هر مد کاری تراشه ESP8266
در پست «بررسی 21 دستور AT Command مهم در بردهای ESP» راجع به دستورات AT بردهای ESP توضیحات کاملی ارایه کردیم. در اینجا برای تعیین وضعیت مد کاری تراشه ESP8266 دستورات AT Command مربوطه را هم بررسی میکنیم.
- مد کاری Station Mode: دستور AT+CWMODE=1: تنظیم تراشه به حالت Station Mode
- مد کاری Access Point (AP) Mode: دستور AT+CWMODE=2 تنظیم تراشه به حالت Access Point Mode
- مد کاری Station + Access Point Mode (STA+AP Mode): دستور AT+CWMODE=3 تنظیم تراشه به حالت Station + Access Point Mode
- مد کاری Soft Access Point Mode (SoftAP Mode): دستور AT+CWSAP تنظیم نام و رمز عبور شبکه در حالت SoftAP Mode
- مد کاری Promiscuous Mode: دستور AT+CIPRECVMODE=1 فعال کردن Promiscuous Mode برای دریافت تمامی پیامهای Wi-Fi در محدوده
- مد کاری Monitor Mode: دستور AT+CIPSNTPCFG تنظیم پارامترهای SNTP برای استفاده در Monitor Mode
- مد کاری Sniffer Mode: دستور AT+CIPSNTPCFG تنظیم پارامترهای SNTP برای استفاده در Sniffer Mode
- مد کاری Low Power Mode (Modem Sleep Mode): دستور AT+GSLP ورود به حالت Modem Sleep برای کاهش مصرف انرژی
- مد کاری Light Sleep Mode: دستور AT+GSLP=<time> ورود به حالت Light Sleep برای کاهش مصرف انرژی با تنظیم زمان خروج
- مد کاری Modem Sleep + Light Sleep Mode: دستور AT+GSLP=<time> ورود به حالت Modem Sleep + Light Sleep برای کاهش مصرف انرژی با تنظیم زمان خروج
- مد کاری RF Calibration Mode: دستور AT+CWJAP اتصال به شبکه Wi-Fi برای RF Calibration
- مد کاری Null Mode: دستور AT+RST ریست کردن تراشه به حالت پیشفرض
- مد کاری Auto-Calibration Mode: دستور AT+CALT فعال کردن Auto-Calibration Mode برای کالیبراسیون خودکار RF
- مد کاری External Wake-up Mode: دستور AT+CIWAKEUPCFG: تنظیم پارامترهای External Wake-up برای بیدار شدن از حالت خواب
- مد کاری Standby Mode: دستور AT+CIPSTAMAC_SET: تنظیم MAC آدرس برای استفاده در Standby Mode
- مد کاری Deep Sleep Mode: دستور AT+GSLP=<time> ورود به حالت Deep Sleep برای کاهش مصرف انرژی با تنظیم زمان خروج
- مد کاری Modem Sleep + Light Sleep + RF Calibration Mode: دستور AT+GSLP=<time> ورود به حالت Modem Sleep + Light Sleep + RF Calibration برای کاهش مصرف انرژی با تنظیم زمان خروج
- مد کاری Modem Sleep + RF Calibration Mode: دستور AT+GSLP=<time> ورود به حالت Modem Sleep + RF Calibration برای کاهش مصرف انرژی با تنظیم زمان خروج
- مد کاری Modem Sleep + Light Sleep + RF Calibration + Promiscuous Mode: دستور AT+GSLP=<time> ورود به حالت Modem Sleep + Light Sleep + RF Calibration + Promiscuous برای کاهش مصرف انرژی با تنظیم زمان خروج
این لیست تنها چند نمونه از مدهای کاری موجود در تراشه ESP8266 است. هر مد کاری متناسب با نیازهای پروژه میتواند استفاده شود و بسته به مورد استفاده خاص شما، دستورات AT Command مربوطه را میتوانید استفاده کنید. توصیه میشود که مستندات رسمی ESP8266 را مطالعه کنید تا با هر مد کاری و دستور مربوطه به طور دقیق آشنا شوید.
توضیحات درباره 9 مد کاری پرکاربرد بردهای ESP826
تراشه ESP8266 در محیط کاری مختلف میتواند در مدهای مختلف عمل کند. این مدها شامل موارد زیر میشوند.
1- مد کاری عادی (Normal Mode): در این حالت، تراشه ESP8266 به عنوان یک دستگاه مستقل عمل میکند و قابلیت اتصال به شبکههای Wi-Fi را دارد. میتواند ارتباط TCP/IP برقرار کند، دادهها را از طریق پروتکل های MQTT یا HTTP ارسال و دریافت کند و عملیات سادهتری مانند خواندن و نوشتن بر روی پایگاه داده را انجام دهد.
2- مد کاری اکسس پوینت (Access Point Mode): در این حالت، تراشه ESP8266 به عنوان یک Access Point (AP) عمل میکند و یک شبکه Wi-Fi ایجاد میکند. دستگاهها و کلاینتها میتوانند به این شبکه متصل شوند و ارتباط برقرار کنند. این حالت برای سناریوهایی که تراشه ESP8266 در نقش یک نقطه دسترسی عمل میکند و ارتباط مستقیم با دستگاهها را فراهم میکند مفید است.
3- مد کاری کلاینت (Station Mode): در این حالت، تراشه ESP8266 به عنوان یک کلاینت Wi-Fi عمل میکند و به یک شبکه Wi-Fi متصل میشود. تراشه میتواند دادهها را از طریق شبکه دریافت و ارسال کند و با سرویسهای ابری مانند اینترنت اشیاء (IoT) و وب سرویسها ارتباط برقرار کند.
4- مد کاری ترکیبی (Mixed Mode): در این حالت، تراشه ESP8266 همزمان در مد AP و کلاینت فعالیت میکند. به عبارت دیگر، تراشه میتواند هم در نقش یک Access Point عمل کند و هم به یک شبکه Wi-Fi متصل شود. این حالت برای ارتباط بین دستگاهها و ایجاد اتصال به اینترنت به صورت همزمان مناسب است.
5- مد کاری رپیتر (Wi-Fi Repeater Mode): در این حالت، تراشه ESP8266 به عنوان یک رپیتر Wi-Fi عمل میکند و به یک شبکه Wi-Fi متصل میشود و اینترنت را به دستگاههای دیگر در محدوده خود انتقال میدهد. این حالت برای افزایش محدوده شبکه Wi-Fi و تقویت سیگنال مورد استفاده قرار میگیرد.
6- مد کاری میزبان واقعی (Real Host Mode): در این حالت، تراشه ESP8266 میزبان واقعی (Real Host) برای دستگاههای USB مانند دستگاههای ذخیره سازی USB، ماوس یا کیبورد میشود. با اتصال دستگاه USB به تراشه، شما میتوانید به دادهها و عملکردهای دستگاه دسترسی داشته باشید.
7- مد کاری برد دمو (Demo Board Mode): در این حالت، تراشه ESP8266 به عنوان یک برد دمو عمل میکند که قابلیتها و قابلیتهای مختلف تراشه را به صورت آزمایشی نشان میدهد. این حالت برای آموزش، آزمایش و توسعه برنامهها و پروژههای ESP8266 مناسب است.
8- مد کاری OTA (Over-The-Air Update Mode): این حالت به توسعهدهندگان امکان میدهد برنامهها و فریمور ESP8266 را به صورت بیسیم بروزرسانی کنند. با استفاده از OTA، برنامهها را میتوان بدون نیاز به اتصال مستقیم به تراشه ارسال و به روز رسانی کرد.
9- مد کاری وب سرور (Web Server Mode): در این حالت، تراشه ESP8266 میتواند به عنوان یک سرور وب عمل کند و صفحات وب، فرمها و سایر محتواهای مربوط به وب را ارائه دهد. این حالت به توسعهدهندگان امکان میدهد برنامههای کاربردی مبتنی بر وب را بر روی ESP8266 پیاده سازی کنند.
25 مد کاری واحد وای فای و بلوتوث تراشه ESP32
تراشههای ESP32 نسخهی به روز شده از تراشههای ESP8266 هستند. با این حال برخی از مدهای کاری آنها یکسان است. اما با توجه به اینکه این نسخه دارای واحد بلوتوث BLE است، تفاوتهایی دارد. که در ادامه لیست 25 مد کاری تراشه ESP32 را بررسی میکنیم.
- مد کاری Bluetooth Classic: دستور ESP_BT_MODE_CLASSIC تنظیم واحد بلوتوث به حالت Classic (SPP و یا HFP/HSP)
- مد کاری Bluetooth Low Energy (BLE): دستور ESP_BT_MODE_BLE تنظیم واحد بلوتوث به حالت BLE (GATT و یا GAP)
- مد کاری Bluetooth Dual Mode: دستور ESP_BT_MODE_BTDM تنظیم واحد بلوتوث به حالت همزمان Classic و BLE
- مد کاری Bluetooth وضعیت Slave: دستور esp_ble_gap_set_mode (ESP_BT_MODE_SLAVE) تنظیم واحد بلوتوث به حالت Slave
- مد کاری Bluetooth وضعیت Master: دستور esp_ble_gap_set_mode (ESP_BT_MODE_MASTER) تنظیم واحد بلوتوث به حالت Master
- مد کاری Bluetooth وضعیت Central: دستور esp_ble_gap_set_mode (ESP_BT_MODE_CENTRAL) تنظیم واحد بلوتوث به حالت Central
- مد کاری Bluetooth وضعیت Peripheral: دستور esp_ble_gap_set_mode (ESP_BT_MODE_PERIPHERAL) تنظیم واحد بلوتوث به حالت Peripheral
- مد کاری Beacon Mode: دستور esp_ble_gap_config_adv_data() تنظیم دادههای تبلیغاتی برای فعال سازی Beacon Mode
- مد کاری iBeacon Mode: دستور esp_ble_ibeacon_set_adv_data() تنظیم دادههای تبلیغاتی برای فعال سازی iBeacon Mode
- مد کاری Eddystone Mode: دستور esp_ble_eddystone_set_adv_data() تنظیم دادههای تبلیغاتی برای فعال سازی Eddystone Mode
- مد کاری HID Mode: دستور esp_bt_hid_register_app() ثبت برنامه به عنوان یک دستگاه HID (Human Interface Device)
- مد کاری A2DP Mode: دستور esp_a2d_register_callback() ثبت کردن تابع بازخورد برای پروفایل A2DP (Advanced Audio Distribution Profile)
- مد کاری AVRCP Mode: دستور esp_avrc_ct_register_callback() ثبت کردن تابع بازخورد برای پروفایل AVRCP (Audio/Video Remote Control Profile)
- مد کاری SPP Mode: دستور esp_spp_register_callback() ثبت کردن تابع بازخورد برای پروفایل SPP (Serial Port Profile)
- مد کاری GATT Server Mode: دستور esp_ble_gatts_register_callback() ثبت کردن تابع بازخورد برای سرویسها و کاراکتریستیکهای GATT
- مد کاری GATT Client Mode: دستور esp_ble_gattc_register_callback() ثبت کردن تابع بازخورد برای سرویسها و کاراکتریستیکهای GATT به عنوان مشتری
- مد کاری Mesh Mode: دستور esp_ble_mesh_register_prov_callback() ثبت کردن تابع بازخورد برای پروفایل Mesh
- مد کاری Audio Mode: دستور esp_a2d_sink_register_data_callback() ثبت کردن تابع بازخورد برای پروفایل Audio Sink
- مد کاری Camera Mode: دستور esp_camera_init() مقداردهی اولیه و تنظیمات دوربین در حالت عکس برداری و ضبط ویدیو
- مد کاری WiFi Mode: دستور WiFi.begin() شروع اتصال به شبکه WiFi
- مد کاری Access Point (AP) Mode: دستور WiFi.softAP() راه اندازی نقطه دسترسی (Access Point) با تنظیمات مشخص
- مد کاری Station (STA) Mode: دستور WiFi.mode(WIFI_STA) تنظیم واحد بلوتوث به حالت Station (متصل به شبکه WiFi)
- مد کاری Station + Access Point Mode: دستور WiFi.mode(WIFI_AP_STA) تنظیم واحد بلوتوث به حالت همزمان Station و Access Point
- مد کاری Promiscuous Mode: دستور WiFi.promiscuousMode() فعالسازی حالت Promiscuous برای بررسی ترافیک شبکه
- مد کاری NTP Client Mode: دستور NTPClient تنظیم سرور NTP و دریافت زمان همگام با شبکه
توجه داشته باشید که برخی از مدها نیاز به استفاده از کتابخانههای مربوطه و تنظیمات بیشتری دارند. برای استفاده دقیق از هر مد کاری، مستندات رسمی ESP32 و کتابخانههای مربوطه را مطالعه کنید.
بررسی چند مد کاری برای ESP-Cam
بردهای ESP-CAM دارای مدهای کاری مختلفی هستند که به شما امکان کنترل دوربین و ارتباط با سایر دستگاهها را میدهند. در ادامه، چند مثال از مدهای کاری برای ESP-CAM را در ادامه توضیح میدهیم.
1- مد کاری Camera Mode:
- camera_fb_t *fb = esp_camera_fb_get(): دریافت یک فریم تصویر از دوربین.
- esp_camera_fb_return(fb): بازگرداندن فریم تصویر به دوربین.
2- مد کاری Server Mode:
- esp_http_server_init(): راه اندازی سرور HTTP برای دریافت تصاویر از دوربین.
- httpd_register_uri_handler(): ثبت کردن دستگیرهها (handler) برای پردازش درخواستها.
3- مد کاری Capture Mode:
- esp_camera_init(): مقداردهی اولیه و تنظیمات دوربین در حالت عکسبرداری.
- camera_fb_t *fb = esp_camera_fb_get(): دریافت یک فریم تصویر از دوربین برای عکسبرداری.
4- مد کاری Streaming Mode:
- esp_camera_init(): مقداردهی اولیه و تنظیمات دوربین در حالت ضبط ویدیو.
- camera_fb_t *fb = esp_camera_fb_get(): دریافت یک فریم تصویر از دوربین برای ضبط ویدیو.
5- مد کاری Motion Detection Mode:
- esp_camera_init(): مقداردهی اولیه و تنظیمات دوربین در حالت تشخیص حرکت.
- camera_fb_t *fb = esp_camera_fb_get(): دریافت یک فریم تصویر از دوربین برای تشخیص حرکت.
این موارد تنها چند نمونه از مدهای کاری موجود در بردهای ESP-CAM هستند. برای استفاده دقیق از هر مد کاری، مستندات رسمی ESP-CAM و کتابخانههای مربوطه را مطالعه کنید.