فهرست مطالب:
- مرحله 1: ویژگی های کلیدی
- مرحله 2: مقایسه بین ESP32 ، ESP8266 و Arduino R3
- مرحله 3: انواع ESP32
- مرحله 4: WiFi NodeMCU-32S ESP-WROOM-32
- مرحله 5: پیکربندی Arduino IDE (Windows)
- مرحله 6: اسکن WiFi
- مرحله 7: کد
- مرحله 8: راه اندازی
- مرحله 9: حلقه کنید
- مرحله 10: فایل ها
تصویری: معرفی ESP32: 10 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:57
در این مقاله ما در مورد 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
مرحله 3: انواع ESP32
ESP32 با تعداد زیادی خواهر و برادر متولد شد. امروز من از اولین مورد از سمت چپ ، Espressif استفاده می کنم ، اما مارک ها و انواع مختلفی وجود دارد ، از جمله صفحه نمایش Oled داخلی. با این حال ، تفاوت ها همه یک تراشه هستند: Tensilica LX6 ، 2 Core.
مرحله 4: WiFi NodeMCU-32S ESP-WROOM-32
این نمودار ESP است که ما در مونتاژ خود از آن استفاده می کنیم. این یک تراشه است که جذابیت و قدرت زیادی دارد. آنها چندین پین هستند که شما انتخاب می کنید آیا می خواهند به عنوان دیجیتال آنالوگ ، دیجیتال آنالوگ یا حتی درب دیجیتال کار کنند.
مرحله 5: پیکربندی 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 بارگیری کنید
توصیه شده:
کلاه ایمنی Covid قسمت 1: معرفی مدارهای Tinkercad !: 20 مرحله (همراه با تصاویر)
کلاه ایمنی Covid قسمت 1: مقدمه ای بر مدارهای Tinkercad !: سلام دوست! در این سری دو قسمتی ، ما نحوه استفاده از مدارهای Tinkercad را یاد می گیریم - یک ابزار سرگرم کننده ، قدرتمند و آموزشی برای یادگیری نحوه عملکرد مدارها! یکی از بهترین راه های یادگیری ، انجام دادن است. بنابراین ، ما ابتدا پروژه شخصی خود را طراحی می کنیم:
معرفی مدارهای IR: 8 مرحله (همراه با تصاویر)
مقدمه ای بر مدارهای IR: IR یک قطعه پیچیده از فناوری است اما کار با آن بسیار ساده است. برخلاف LED ها یا LASER ها ، مادون قرمز با چشم انسان قابل مشاهده نیست. در این دستورالعمل ، من استفاده از مادون قرمز را از طریق 3 مدار مختلف نشان خواهم داد. مدارها شما نیستند
بازی ها!!! - معرفی: 5 مرحله
بازی ها!!! - معرفی: سلام! من به شما نحوه ایجاد سه بازی مختلف در code.org را آموزش می دهم. در زیر هر بازی آموزشی ، من یک قالب ارسال می کنم که می توانید در هنگام تماشای ویدیوی من از آن استفاده کرده و از آن استفاده کنید. امیدوارم اوقات خوشی داشته باشید !! اگر دوست دارید فقط بازی های من را در
معرفی آردوینو: 15 مرحله (همراه با تصاویر)
مقدمه ای بر آردوینو: آردوینو یک برد توسعه میکروکنترلر منبع باز است. به زبان ساده ، می توانید از آردوینو برای خواندن حسگرها و کنترل مواردی مانند موتورها و چراغ ها استفاده کنید. این به شما امکان می دهد برنامه هایی را در این صفحه بارگذاری کنید که می تواند با چیزها ارتباط برقرار کند
معرفی ESP32 لورا OLED صفحه نمایش: 8 مرحله
ESP32 Lora OLED Display: این ویدئوی دیگری در زمینه معرفی ESP32 LoRa است. این بار ، ما به طور خاص در مورد یک صفحه نمایش گرافیکی (128x64 پیکسل) صحبت خواهیم کرد. ما از کتابخانه SSD1306 برای نمایش اطلاعات روی این صفحه نمایش OLED و ارائه نمونه ای از