ESP32

ESP32 הוא שבב מיקרו-בקר מבית Espressif Systems שמיועד לתקשורת אלחוטית, המיקרו בקר מאופיין בחסכוניות בחשמל ובעלות נמוכה. השבב כולל מעבד ליבה כפולה או יחידה במהירות של עד 240 מגה-הרץ ומעבד נוסף לחיסכון באנרגיה. הוא תומך ב-Wi-Fi וב-Bluetooth, מה שמאפשר חיבור למגוון מכשירים אלחוטיים.

בנוסף, ה-ESP32 מכיל מתגי אנטנה מובנים, מגבר מתח, מגבר קליטה ברעש נמוך, מסננים ומודולים לניהול צריכת החשמל. הוא משולב לרוב ב-מעגל מודפס (PCB) ייעודי או בלוחות פיתוח עם חיבורי GPIO ופינים שונים, בהתאם לדגם וליצרן. השבב כולל גם ממשקים כגון UART, SPI, ו-I²C לתמיכה בחיישנים ויכולות אבטחה מתקדמות כמו אתחול מאובטח והצפנה בחומרה.

ה-ESP32 נוצר ופותח על ידי חברת Espressif Systems, חברה סינית שבסיסה בשנגחאי, והוא מיוצר על ידי TSMC. השבב הוא דור ההמשך למיקרו-בקר ESP8266.

## תכונות
ממוזער| תרשים בלוקים של פונקציות ESP32.
ממוזער| צילום פנימי של ה-ESP32, שבו רוב שטח השבב מוקדש לרשת הפצת חשמל.
התכונות של ה-ESP32 כוללות את הדברים הבאים:
* מעבדים:
** מעבד ראשי: מעבד מיקרו 32-ביט Xtensa בעל ליבה כפולה (או ליבה אחת), מסדרת LX6, פועל במהירות של 160 או 240 מגה-הרץ ומגיע עד ל-600 DMIPS
** מעבד משני לחיסכון קיצוני בחשמל (ULP)
* זיכרון: 520 קילו-בייט זיכרון RAM, 448 קילו-בייט זיכרון ROM
* קישוריות אלחוטית:
** Wi-Fi בתקן 802.11 b/g/n
** Bluetooth גרסה 4.2 BR/EDR ו-BLE (משתף את האנטנה עם ה-Wi-Fi)
* ממשקים היקפיים:
** 34 GPIOs לתכנות
** ADC מסוג SAR, ברזולוציה של 12 ביט ועד 18 ערוצים
** שני DACs ברזולוציה של 8 ביט
** 10 חיישני מגע (קיבוליים)
** 4 חיבורי SPI
** 2 חיבורי I²S
** 2 חיבורי I²C
** 3 חיבורי UART
** בקר מארח SD/SDIO/CE-ATA/MMC/eMMC
** בקר משועבד SDIO/SPI
** ממשק Ethernet MAC עם DMA ייעודי ותמיכה מתוכננת ב-IEEE 1588
** BUS CAN בתקן 2.0
** בקר אינפרה-אדום (עד 8 ערוצים)
** מונה פולסים (כולל קידוד מרובע מלא)
** PWM למנועים
** PWM לנורות LED (עד 16 ערוצים)
** מגבר אנלוגי לחיסכון קיצוני בחשמל
* אבטחה:
** תמיכה בתכונות אבטחת Wi-Fi לפי תקן IEEE 802.11, כולל WPA, WPA2, WPA3 (בהתאם לגרסה) ו-WAPI
** אתחול מאובטח
** הצפנת זיכרון Flash
** זיכרון OTP של 1024 ביט, עד 768 ביט ללקוחות
** האצת חומרה לקריפטוגרפיה: AES, SHA-2, RSA, קריפטוגרפיה בעקומים אליפטיים (ECC), יוצר מספרים אקראיים (RNG)
* ניהול צריכת חשמל:
** מייצב מתח פנימי מסוג LDO
** מתח עצמאי עבור RTC
** צריכת זרם במצב שינה עמוק של 5 מיקרו-אמפר
** התעוררות מאינטרפט GPIO, שעון זמן, מדידת ADC או חיישן מגע קיבולי

## משפחת ESP32-xx
מאז השקת ה-ESP32 המקורי, הוצגו והוכרזו מספר גרסאות נוספות המהוות את משפחת מיקרו-הבקרים ESP32. שבבים אלה כוללים מעבדים ויכולות שונות, אך כולם תואמים לאותו SDK ולרוב תואמים ברמת הקוד. בנוסף, ה-ESP32 המקורי עבר מספר שיפורים, כמו ESP32 ECO V3, ששיפר את הביצועים והיציבות של השבב המקורי.

## תכנות וסביבות פיתוח
ה-ESP32 נכתב בעיקר בשפת **[[C++]]**, אך תומך גם במגוון שפות תכנות ומסגרות עבודה, המתאימים לצרכים שונים של פרויקטים. להלן השפות ומסגרות העבודה העיקריות הזמינות לפיתוח על ESP32:
* **C++** – השפה העיקרית לפיתוח ישיר על ה-ESP32.
* **ESP-IDF** – מסגרת העבודה הרשמית של Espressif לפיתוח IoT, המותאמת למשפחת ESP32 ומספקת כלים ויכולות אינטגרציה מתקדמות.
* **Arduino-ESP32** – ליבה של Arduino עבור הדגמים השונים, מאפשרת פיתוח ב-Arduino IDE.
* **C** – גם אפשרי ב-ESP-IDF, מספקת שליטה ישירה במעבד.
* **[[פייתון|Python]]** – ניתן לפיתוח דרך MicroPython ו-CircuitPython, גרסאות Python קלות עבור מיקרו-בקרים.
* **[[JavaScript]]** – נתמך דרך Espruino, המדמה את סביבת Node.js.
* **Mongoose OS** – מערכת הפעלה המיועדת למוצרים מחוברים, מאפשרת תכנות ב-JavaScript או C ומומלצת על ידי Espressif, AWS IoT ו-Google Cloud IoT.
* **Lua** – נתמך באמצעות NodeMCU, פלטפורמת פיתוח מבוססת Lua.
* **[[סי שארפ|C#]]** – עם .NET nanoFramework, מציעה פיתוח באמצעות Visual Studio עם תמיכה ב-ESP32.
* **PlatformIO** – סביבה לפיתוח מולטי-פלטפורמית שמתאימה גם ל-ESP32.
* **[[ראסט (שפת תכנות)|Rust]]** – מאפשר פיתוח מודרני עם דגש על בטיחות זיכרון.
* **Swift** – מתאים לפיתוח במיקרו-בקרים וב-IoT.
* **Visual Studio Code** – עם הרחבה ייעודית ל-ESP-IDF, מספקת סביבה נוחה ומתקדמת לפיתוח.
* **Zerynth** – Python ל-IoT ותמיכה במיקרו-בקרים, כולל ESP32.
* **[[MATLAB|Matlab]] ו-Simulink** – מאפשרים פיתוח מודלים מתמטיים וסימולציות למיקרו-בקרים.

השילוב הרחב של שפות תכנות, כלים ומסגרות עבודה מאפשר התאמה מדויקת ויעילה של ESP32 למגוון פרויקטים ופיתוחים.

## שימושים
* **שימושים מסחריים**: לדוגמה, הצמיד של קבוצת עליבאבא באירוע השנתי ב-2017, שמשתמש ב-ESP32 לשליטה בתאורת LED בצורה מסונכרנת, מכשיר Pium למפיצי ריח חכם, ונורות ה-LED LIFX Mini.
* **שימושים תעשייתיים**: מודול Moduino X של חברת TECHBASE ומכשירי NORVI IIOT משתמשים ב-ESP32 למטרות אוטומציה תעשייתית ובקרת מכשור, עם תמיכה בממשקי תקשורת כמו LoRa ו-Nb-IoT.
* **שימושים אקדמיים**: ה-ESP32 משמש בהוראה ובפרויקטי מחקר, למשל, בפיתוח מערכות חכמות לניהול בית, כולל בקרה על טעינת רכבים חשמליים בהתאם לצריכת האנרגיה בבית.

ה-ESP32 מהווה כלי גמיש ונוח לפיתוח מהיר במגוון סביבות ותעשיות, בזכות התמיכה הרחבה בשפות תכנות וכלים מתקדמים.

## ראו גם
* האינטרנט של הדברים

## קישורים חיצוניים

* התנסאות ראשונית של ESP32, באתר אינטרנט ישראל
* מדריך להרצה ראשונית של המיקרו בקר

## הערות שוליים

קטגוריה:מיקרו-בקרים