فهرست مطالب:

معرفی ESP32: 10 مرحله
معرفی ESP32: 10 مرحله

تصویری: معرفی ESP32: 10 مرحله

تصویری: معرفی ESP32: 10 مرحله
تصویری: همه چیز در مورد ESP32 CAM - قسمت اول - سخت افزار 2024, جولای
Anonim
Image
Image
ویژگی های کلیدی
ویژگی های کلیدی

در این مقاله ما در مورد ESP32 صحبت می کنیم ، که من آن را برادر بزرگتر ESP8266 می دانم. من این میکروکنترلر را خیلی دوست دارم چون وای فای دارد. فقط برای داشتن ایده ، قبل از وجود ESP ، اگر برای داشتن WiFi به آردوینو نیاز داشتید ، باید بین 200 تا 300 دلار برای خرید یک آداپتور Wifi هزینه کنید. آداپتور کابل شبکه چندان گران نیست ، اما برای WiFi همیشه گران بوده و هنوز هم گران است. اما خوشبختانه Espressif Systems ESP را راه اندازی کرده است و زندگی ما را حل می کند.

من ESP32 را با این فرمت که دارای پورت USB است دوست دارم. این طرح NodeMCU به راحتی قابل دستکاری است زیرا نیازی به وسایل الکترونیکی ندارد. فقط کابل را وصل کرده ، دستگاه را تغذیه کرده و برنامه ریزی کنید. درست مثل آردوینو کار می کند.

به هر حال ، امروز ما در مورد جنبه های کلی ESP32 و نحوه پیکربندی Arduino IDE برای برنامه ریزی دستگاه های بیشتر از این نوع صحبت خواهیم کرد. همچنین ما برنامه ای ایجاد می کنیم که شبکه ها را جستجو می کند و نشان می دهد کدام یک قدرتمندتر است.

مرحله 1: ویژگی های کلیدی

تراشه با WiFi داخلی: استاندارد 802.11 B / G / N ، در محدوده 2.4 تا 2.5GHz کار می کند

روش های کار: مشتری ، نقطه دسترسی ، ایستگاه + نقطه دسترسی

ریزپردازنده دو هسته ای Tensilica Xtensa 32 بیتی LX6

کلاک قابل تنظیم از 80 مگاهرتز تا 240 مگاهرتز

ولتاژ کار: 3.3 VDC

SRAM 512 کیلوبایت دارد

دارای رام 448 کیلوبایت

دارای فلش مموری خارجی 32 مگابایت (4 مگابایت)

حداکثر جریان در هر پین 12mA است (توصیه می شود از 6mA استفاده کنید)

دارای 36 GPIO است

GPIO با عملکردهای PWM / I2C و SPI

دارای بلوتوث v4.2 BR / EDR و BLE (بلوتوث کم مصرف)

مرحله 2: مقایسه بین ESP32 ، ESP8266 و Arduino R3

مقایسه بین ESP32 ، ESP8266 و Arduino R3
مقایسه بین ESP32 ، ESP8266 و Arduino R3

مرحله 3: انواع ESP32

انواع ESP32
انواع ESP32

ESP32 با تعداد زیادی خواهر و برادر متولد شد. امروز من از اولین مورد از سمت چپ ، Espressif استفاده می کنم ، اما مارک ها و انواع مختلفی وجود دارد ، از جمله صفحه نمایش Oled داخلی. با این حال ، تفاوت ها همه یک تراشه هستند: Tensilica LX6 ، 2 Core.

مرحله 4: WiFi NodeMCU-32S ESP-WROOM-32

WiFi NodeMCU-32S ESP-WROOM-32
WiFi NodeMCU-32S ESP-WROOM-32

این نمودار ESP است که ما در مونتاژ خود از آن استفاده می کنیم. این یک تراشه است که جذابیت و قدرت زیادی دارد. آنها چندین پین هستند که شما انتخاب می کنید آیا می خواهند به عنوان دیجیتال آنالوگ ، دیجیتال آنالوگ یا حتی درب دیجیتال کار کنند.

مرحله 5: پیکربندی Arduino IDE (Windows)

پیکربندی Arduino IDE (Windows)
پیکربندی Arduino IDE (Windows)
پیکربندی Arduino IDE (Windows)
پیکربندی Arduino IDE (Windows)

در اینجا نحوه پیکربندی Arduino IDE است تا بتوانیم برای ESP32 کامپایل کنیم:

1. فایلها را از طریق پیوند بارگیری کنید:

2. فایل را از حالت فشرده خارج کرده و محتویات را در مسیر زیر کپی کنید:

C: / کاربران / [YOUR_USER_NAME] / اسناد / Arduino / سخت افزار / espressif / esp32

توجه: اگر فهرست "espressif" و "esp32" وجود ندارد ، فقط آنها را به طور معمول ایجاد کنید.

3. فهرست را باز کنید

C: / کاربران / [YOUR_USER_NAME] / اسناد / Arduino / سخت افزار / espressif / esp32 / tools

فایل "get.exe" را اجرا کنید.

4. پس از اتمام "get.exe" ، ESP32 را وصل کنید ، منتظر بمانید تا درایورها نصب شوند (یا به صورت دستی نصب شوند).

آماده باشید ، اکنون فقط برد ESP32 را در "tools >> board" انتخاب کرده و کد خود را کامپایل کنید.

مرحله 6: اسکن WiFi

در اینجا مثالی از نحوه جستجوی شبکه های WiFi موجود در نزدیک ESP-32 و همچنین قدرت سیگنال هر یک از آنها آمده است. با هر بار اسکن ، خواهیم فهمید که کدام شبکه دارای بهترین قدرت سیگنال است.

مرحله 7: کد

ابتدا اجازه دهید کتابخانه "WiFi.h" را وارد کنیم ، لازم است به ما اجازه دهید با کارت شبکه دستگاه خود کار کنیم.

#شامل "WiFi.h"

در اینجا دو متغیر وجود دارد که برای ذخیره SSID شبکه (نام) و قدرت سیگنال استفاده می شود.

رشته شبکهSSID = ""؛ int powerSignal = -9999؛

مرحله 8: راه اندازی

در تابع setup () ، حالت رفتار WiFi دستگاه خود را تعریف می کنیم. در این مورد ، از آنجا که هدف جستجو برای شبکه های موجود است ، ما دستگاه خود را پیکربندی می کنیم تا به عنوان "ایستگاه" کار کند.

void setup () {// Initialize Serial برای ورود به سریال Serial.begin (115200)؛

// پیکربندی حالت عملکرد WiFi به عنوان ایستگاه WiFi.mode (WIFI_STA) ؛ // WIFI_STA ثابت است که حالت ایستگاه را نشان می دهد

// در صورت اتصال WiFi از قبل ، نقطه اتصال را قطع کنید. disconnect ()؛ تأخیر (100) ؛

// Serial.println ("راه اندازی انجام شد")؛}

مرحله 9: حلقه کنید

در تابع loop () ، شبکه های موجود را جستجو کرده و سپس log را در شبکه های پیدا شده چاپ می کنیم. برای هر یک از این شبکه ها مقایسه ای انجام می دهیم تا شبکه ای را که دارای بالاترین قدرت سیگنال است پیدا کنیم.

void loop () {// Serial.println ("شروع اسکن") ؛ // اسکن شبکه های موجود را انجام می دهد

int n = WiFi.scanNetworks ()؛

Serial.println ("اسکن انجام شد") ؛

// بررسی کنید که آیا شبکه ای (n == 0) {Serial.println ("شبکه ای یافت نشد") پیدا کرده اید یا خیر. } else {networkSSID = ""؛ powerSignal = -9999؛ Serial.print (n)؛ Serial.println ("شبکه ها یافت / n")؛ برای (int i = 0 ؛ i <n؛ ++ i) {// چاپ روی مانیتور سریال هر یک از شبکه های یافت شده Serial.print ("SSID:") ؛ Serial.println (WiFi. SSID (i)) ؛ // نام شبکه (ssid) Serial.print ("SIGNAL:")؛ Serial.print (WiFi. RSSI (i)) ؛ // قدرت سیگنال Serial.print ("\ t / tCHANNEL:")؛ Serial.print ((int) WiFi.channel (i)) ؛ Serial.print ("\ t / tMAC:")؛ Serial.print (WiFi. BSSIDstr (i)) ؛ Serial.println ("\ n / n")؛ if (abs (WiFi. RSSI (i)) <abs (powerSignal)) {powerSignal = WiFi. RSSI (i) ؛ networkSSID = WiFi. SSID (i)؛ Serial.print ("شبکه با بهترین سیگنال پیدا شده: (") ؛ Serial.print (networkSSID) ؛ Serial.print (") - SIGNAL: (") ؛ Serial.print (powerSignal) ؛ Serial.println (")")؛ } تأخیر (10) ؛ }} Serial.println ("\ n ----------------------------------------- ---------------------------------------------- / n ") ؛

// فاصله 5 ثانیه برای انجام تأخیر اسکن جدید (5000) ؛ }

"اگر (abs (WiFi. RSSI (i))"

توجه داشته باشید که در عبارت بالا از abs () استفاده می کنیم ، این تابع مقدار مطلق (یعنی منفی) عدد را نمی گیرد. در مورد ما ما این کار را برای پیدا کردن کوچکترین مقادیر در مقایسه انجام دادیم ، زیرا شدت سیگنال به عنوان یک عدد منفی داده می شود و هرچه به صفر نزدیک شود ، سیگنال بهتر است.

مرحله 10: فایل ها

همه فایل های من را در www.fernandok.com بارگیری کنید

توصیه شده: