جدول المحتويات:

مقدمة إلى ESP32: 10 خطوات
مقدمة إلى ESP32: 10 خطوات

فيديو: مقدمة إلى ESP32: 10 خطوات

فيديو: مقدمة إلى ESP32: 10 خطوات
فيديو: ESP32 Cam (01) | مقدمة و عمل مشروع كاميرا لاسلكية 2024, شهر نوفمبر
Anonim
Image
Image
دلائل الميزات
دلائل الميزات

في هذه المقالة سوف نتحدث عن ESP32 ، الذي أعتبره الأخ الأكبر لـ ESP8266. أنا حقًا أحب هذا الميكروكونترولر لأنه يحتوي على شبكة WiFi. فقط حتى تكون لديك فكرة ، قبل وجود ESP ، إذا كنت بحاجة إلى Arduino للحصول على WiFi ، فسيتعين عليك إنفاق ما بين 200 دولار و 300 دولار لشراء محول Wifi. مهايئ كبل الشبكة ليس باهظ الثمن ، ولكن بالنسبة لشبكة WiFi كان دائمًا ولا يزال مكلفًا. لكن لحسن الحظ ، أطلقت Espressif Systems برنامج ESP وهي تعمل على حل حياتنا.

أنا أحب ESP32 بهذا التنسيق الذي يحتوي على منفذ USB. من السهل التعامل مع مخطط NodeMCU لأنه لا يحتاج إلى أي إلكترونيات. ما عليك سوى توصيل الكابل وتشغيل الجهاز وبرمجته. إنه يعمل تمامًا مثل Arduino.

على أي حال ، سنتحدث اليوم عن الجوانب العامة لـ ESP32 وكيفية تكوين Arduino IDE لبرمجة المزيد من الأجهزة من هذا النوع. كما سنقوم بعمل برنامج يبحث في الشبكات ويظهر أيها أقوى.

الخطوة 1: الميزات الرئيسية

شريحة مع WiFi مدمج: معيار 802.11 B / G / N ، يعمل في نطاق 2.4 إلى 2.5 جيجا هرتز

طرق التشغيل: العميل ، نقطة الوصول ، المحطة + نقطة الوصول

معالج دقيق ثنائي النواة Tensilica Xtensa 32 بت LX6

ساعة قابلة للتعديل من 80 ميجا هرتز إلى 240 ميجا هرتز

جهد التشغيل: 3.3 فولت تيار مستمر

لديها ذاكرة SRAM بسعة 512 كيلو بايت

يتميز بذاكرة ROM 448 كيلو بايت

به ذاكرة فلاش خارجية 32 ميجا بايت (4 ميجا بايت)

الحد الأقصى للتيار لكل دبوس هو 12 مللي أمبير (يوصى باستخدام 6 مللي أمبير)

لديها 36 GPIOs

GPIOs مع وظائف PWM / I2C و SPI

مزود بتقنية Bluetooth v4.2 BR / EDR و BLE (Bluetooth منخفضة الطاقة)

الخطوة 2: مقارنة بين ESP32 و ESP8266 و Arduino R3

مقارنة بين ESP32 و ESP8266 و Arduino R3
مقارنة بين ESP32 و ESP8266 و Arduino R3

الخطوة 3: أنواع ESP32

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

وُلد ESP32 مع الكثير من الأشقاء. اليوم أستخدم الأول من اليسار ، Espressif ، ولكن هناك العديد من العلامات التجارية والأنواع ، بما في ذلك Oled Display المدمج. ومع ذلك ، فإن الاختلافات كلها هي نفس الشريحة: Tensilica LX6 ، 2 Core.

الخطوة 4: WiFi NodeMCU-32S ESP-WROOM-32

واي فاي NodeMCU-32S ESP-WROOM-32
واي فاي 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: / Users / [YOUR_USER_NAME] / Documents / Arduino / Hardware / espressif / esp32

ملاحظة: إذا لم يكن هناك دليل "espressif" و "esp32" ، فقم فقط بإنشائهما بشكل طبيعي.

3. افتح الدليل

C: / Users / [YOUR_USER_NAME] / Documents / Arduino / Hardware / espressif / esp32 / tools

قم بتشغيل الملف "get.exe".

4. بعد انتهاء "get.exe" ، قم بتوصيل ESP32 ، وانتظر حتى يتم تثبيت برامج التشغيل (أو التثبيت يدويًا).

جاهز ، ما عليك سوى اختيار لوحة ESP32 في "أدوات >> لوحة" وجمع التعليمات البرمجية الخاصة بك.

الخطوة 6: فحص WiFi

فيما يلي مثال على كيفية البحث عن شبكات WiFi المتاحة بالقرب من ESP-32 ، بالإضافة إلى قوة إشارة كل منها. مع كل عملية مسح ، سنكتشف أيضًا الشبكة التي تتمتع بأفضل قوة إشارة.

الخطوة 7: الكود

لنقم أولاً بتضمين المكتبة "WiFi.h" ، سيكون من الضروري السماح لنا بالعمل مع بطاقة الشبكة الخاصة بجهازنا.

# تضمين "WiFi.h"

فيما يلي متغيرين سيتم استخدامهما لتخزين SSID (الاسم) الخاص بالشبكة وقوة الإشارة.

String networkSSID = "" ؛ int StrengthSignal = -9999 ؛

الخطوة 8: الإعداد

في وظيفة الإعداد () ، سنحدد وضع سلوك WiFi لجهازنا. في هذه الحالة ، نظرًا لأن الهدف هو البحث عن الشبكات المتاحة ، فسنهيئ أجهزتنا للعمل "كمحطة".

إعداد باطل () {// تهيئة المسلسل لتسجيل الدخول في Serial Monitor Serial.begin (115200) ؛

// تكوين وضع تشغيل WiFi كوضع WiFi للمحطة (WIFI_STA) ؛ // WIFI_STA هو ثابت يشير إلى وضع المحطة

// قطع الاتصال من نقطة الوصول إذا كانت متصلة بالفعل بشبكة WiFi. تأخير (100) ؛

// Serial.println ("تم الإعداد") ؛}

الخطوة 9: التكرار

في وظيفة الحلقة () ، سنبحث عن الشبكات المتاحة ثم نطبع السجل في الشبكات الموجودة. سنجري المقارنة لكل شبكة من هذه الشبكات للعثور على الشبكة ذات أعلى قوة إشارة.

حلقة باطلة () {// Serial.println ("بدء المسح") ؛ // يقوم بمسح الشبكات المتاحة

int n = WiFi.scanNetworks () ؛

Serial.println ("إجراء المسح") ؛

// تحقق مما إذا كنت قد وجدت أي شبكة إذا (n == 0) {Serial.println ("لم يتم العثور على شبكة") ؛ } آخر {networkSSID = "" ؛ StrengthSignal = -9999 ؛ Serial.print (ن) ؛ 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 / t القناة:") ؛ Serial.print ((int) WiFi.channel (i)) ؛ Serial.print ("\ t / tMAC:") ؛ Serial.print (WiFi. BSSIDstr (i)) ؛ Serial.println ("\ n / n") ؛ إذا (abs (WiFi. RSSI (i)) <abs (StrengthSignal)) {StrengthSignal = WiFi. RSSI (i) ؛ networkSSID = WiFi. SSID (i) ؛ Serial.print ("الشبكة مع أفضل إشارة موجودة: (") ؛ Serial.print (networkSSID) ؛ Serial.print (") - SIGNAL: (") ؛ Serial.print (StrengthSignal) ؛ Serial.println (")") ؛ } تأخير (10)؛ }} Serial.println ("\ n ------------------------------------------ -------------------------------------------\ن")؛

// فاصل 5 ثوانٍ لإجراء تأخير مسح جديد (5000) ؛ }

"If (abs (WiFi. RSSI (i))"

لاحظ أنه في العبارة أعلاه نستخدم abs () ، تأخذ هذه الوظيفة القيمة المطلقة (أي ليست سالبة) للرقم. في حالتنا ، قمنا بهذا لإيجاد أصغر القيم في المقارنة ، لأن شدة الإشارة تُعطى كرقم سالب وكلما اقتربنا من الصفر كانت الإشارة أفضل.

الخطوة 10: الملفات

قم بتنزيل جميع ملفاتي في: www.fernandok.com

موصى به: