ESP32
מידע כללי | |
---|---|
השקה | 6 בספטמבר 2016 |
ESP32 הוא שבב מיקרו-בקר מבית Espressif Systems שמיועד לתקשורת אלחוטית, המיקרו בקר מאופיין בחסכוניות בחשמל ובעלות נמוכה. השבב כולל מעבד ליבה כפולה או יחידה במהירות של עד 240 מגה-הרץ ומעבד נוסף לחיסכון באנרגיה. הוא תומך ב-Wi-Fi וב-Bluetooth, מה שמאפשר חיבור למגוון מכשירים אלחוטיים.
בנוסף, ה-ESP32 מכיל מתגי אנטנה מובנים, מגבר מתח, מגבר קליטה ברעש נמוך, מסננים ומודולים לניהול צריכת החשמל. הוא משולב לרוב ב-מעגל מודפס (PCB) ייעודי או בלוחות פיתוח עם חיבורי GPIO ופינים שונים, בהתאם לדגם וליצרן. השבב כולל גם ממשקים כגון UART, SPI, ו-I²C לתמיכה בחיישנים ויכולות אבטחה מתקדמות כמו אתחול מאובטח והצפנה בחומרה.
ה-ESP32 נוצר ופותח על ידי חברת Espressif Systems, חברה סינית שבסיסה בשנגחאי, והוא מיוצר על ידי TSMC. השבב הוא דור ההמשך למיקרו-בקר ESP8266.
תכונות
התכונות של ה-ESP32 כוללות את הדברים הבאים:[1]
- מעבדים:
- מעבד ראשי: מעבד מיקרו 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 ו-Simulink – מאפשרים פיתוח מודלים מתמטיים וסימולציות למיקרו-בקרים.
השילוב הרחב של שפות תכנות, כלים ומסגרות עבודה מאפשר התאמה מדויקת ויעילה של ESP32 למגוון פרויקטים ופיתוחים.
שימושים
- שימושים מסחריים: לדוגמה, הצמיד של קבוצת עליבאבא באירוע השנתי ב-2017, שמשתמש ב-ESP32 לשליטה בתאורת LED בצורה מסונכרנת, מכשיר Pium למפיצי ריח חכם, ונורות ה-LED LIFX Mini.
- שימושים תעשייתיים: מודול Moduino X של חברת TECHBASE ומכשירי NORVI IIOT משתמשים ב-ESP32 למטרות אוטומציה תעשייתית ובקרת מכשור, עם תמיכה בממשקי תקשורת כמו LoRa ו-Nb-IoT.
- שימושים אקדמיים: ה-ESP32 משמש בהוראה ובפרויקטי מחקר, למשל, בפיתוח מערכות חכמות לניהול בית, כולל בקרה על טעינת רכבים חשמליים בהתאם לצריכת האנרגיה בבית.
ה-ESP32 מהווה כלי גמיש ונוח לפיתוח מהיר במגוון סביבות ותעשיות, בזכות התמיכה הרחבה בשפות תכנות וכלים מתקדמים.
ראו גם
קישורים חיצוניים
הערות שוליים
- ^ "ESP32 Datasheet" (PDF). Espressif Systems. 2017-03-06. נבדק ב-2017-03-14.
39879678ESP32