תוכן עניינים:

מחולל קוד ESP32 - Wifi, BLE, Bluetooth: 9 שלבים
מחולל קוד ESP32 - Wifi, BLE, Bluetooth: 9 שלבים

וִידֵאוֹ: מחולל קוד ESP32 - Wifi, BLE, Bluetooth: 9 שלבים

וִידֵאוֹ: מחולל קוד ESP32 - Wifi, BLE, Bluetooth: 9 שלבים
וִידֵאוֹ: $5 WiFi Camera Setup | ESP32 Wifi Setup view on Mobile phone 2024, נוֹבֶמבֶּר
Anonim
מחולל קוד ESP32 - Wifi, BLE, Bluetooth
מחולל קוד ESP32 - Wifi, BLE, Bluetooth

מבוא

ESP32 הוא שבב מעבד כפול בעלות נמוכה, עם תמיכה ב- WiFi, Bluetooth Classic ו- BLE (Bluetooth Low Energy). למרות שהשבב יצא כבר מספר שנים, תמיכת הקוד בארדואינו עדיין לא הושלמה (כמו באפריל 2018), אך מחולל קוד ההוראה והקוד הזה ממלא את הפונקציות החסרות של BLE ו- analogWrite.

טיפ: ל- ESP32 אין פונקציית AnalWrite סטנדרטית של Arduino. אולם מחולל קוד זה, יוצר קוד המדמה אותו עבורך

טיפ: התקנת קוד ESP אינה כוללת תמיכה ב- BLE. ההתקנה המתוארת כאן כוללת תמיכה ב- BLE

דף אינטרנט זה יכסה את הגדרת ה- Arduino IDE לתכנת ה- ESP32 לחיבורי BLE, Bluetooth או WiFi. PfodDesigner יוצר קוד לכל אחד מסוגי החיבור הללו וגם יוצר קוד כדי לדמות את הפונקציה analogWrite החסרה.

ESP32 הוא שבב מעבד כפול בעלות נמוכה, עם תמיכה ב- WiFi, Bluetooth Classic ו- BLE (Bluetooth Low Energy). למרות שהשבב יצא כבר מספר שנים, תמיכת הקוד עבור Arduino עדיין לא הושלמה (כמו באפריל 2018), אך הדרכה ומחולל קוד זה ממלאת את הפונקציות החסרות של BLE ו- analogWrite. דף אינטרנט זה יכסה את הגדרת Arduino IDE לתכנת ESP32 לחיבורי BLE, Bluetooth או WiFi. PfodDesigner יוצר קוד לכל אחד מסוגי החיבור הללו וגם יוצר קוד כדי לדמות את הפונקציה analogWrite החסרה.

התוסף Arduino תומך בכ -31 לוחות ESP32. בעת שימוש ב- pfodDesigner, יהיה עליך לבחור חיבורי סיכה התואמים את אלה הזמינים בלוח הספציפי שלך. דבר Sparkfun ESP32 (או נוצת Adafruit HUZZAH32) משמש כאן כדוגמת לוח ESP32, אך תוכל להשתמש בקוד עבור כל אחד מ -31 לוחות ESP32 הנתמכים.

האפליקציה החינמית pfodDesignerV3 משמשת ליצירת תפריט הבקרה (WYSIWYG) ולאחר מכן יצירת הקוד עבור ESP32, לחיבור BLE, WiFi או Bluetooth. לאחר שתכנת את לוח ה- ESP32 שלך תוכל להשתמש באפליקציית Android pfodApp (בתשלום) כדי להתחבר ל- ESP32 שלך (באמצעות BLE או WiFi או Bluetooth) ולהציג את תפריט הבקרה ולשלוט ב- ESP32 שלך. אם אינך מעוניין להשתמש ב- pfodApp, עדיין תוכל להשתמש בקוד המופק כבסיס לחיבורי WiFi, BLE (Nordic UART) או Bluetooth משלך, מכיוון שהוא מספק ממשק זרם (הדפסה/קריאה) לכל אחד מסוגי החיבור הללו..

שלב 1: טיפ: התקנת תמיכת Arduino ל- ESP32 עם תמיכה ב- BLE

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

1 מצא את הנתיב של מדריך המיקומים של Arduino Sketchbook. פתח את Arduino IDE והסתכל תחת קובץ-> העדפות ובחלק העליון של המסך תראה את מיקום Sketchbook.

2 הורד את קובץ ESP32_hardware.zip זה ופתח אותו למיקום Sketchbook. הוא יוצר שם תת-ספריית חומרה. במקרה הבלתי סביר שכבר יש לך ספריית משנה של חומרה במיקום ה- Sketchbook שלך, מיזוג את תוכנו עם קובץ זה.

3 התקן את כלי Xtensa ו- ESP32. הערה: הורדה והתקנה זו לוקחת זמן מה לעבד ~ 0.5Gig של קבצים. עבור לספריית החומרה / espressif / esp32 / tools ואז עבור מכונות Windows הפעל את הקובץ get.exe. עבור משתמשי Mac ו- Linux, הפעל את סקריפט python get.py להורדת הכלים. באמצעות מסוף, נווט אל תיקיית החומרה/espressif/esp32/tools. לאחר מכן הקלד: python get.py סקריפט ה- python "get.py" יוריד את כלי ה- Xtensa GNU ואת ערכת פיתוח התוכנה ESP32 (SDK), ויפתח אותם למיקום הנכון.

אתה אמור לראות כמה תיקיות חדשות בספריית "כלים", כולל "sdk" ו- "xtensa-esp32-elf" ברגע שזה נעשה.

לאחר השלמת הפעולה הזו, סגור ופתח מחדש את Arduino IDE שלך וכעת תהיה לך רשימה ארוכה של לוחות ESP32 לבחירה מתפריט Tool-> לוחות. בחר "SparkFun ESP32 Thing" (או "נוצת Adafruit ESP32")

לאחר מכן תוכל לפתוח את רשימת דוגמאות הקבצים כדי לראות מספר קבצי דוגמה של ESP32

התהליך לעיל מתקין תמונת מצב של קוד github לתמיכת ESP32 ו- BLE אשר אוחדו לקובץ zip יחיד. הקוד שנוצר על ידי pfodDesigner והדוגמאות שלהלן משתמשות בגרסה זו של ספריות אלה. אם אתה רוצה את הגירסה העדכנית ביותר, עם אולי סט של תכונות ובאגים אחרים, הורד את ה- zip של הגירסה העדכנית ביותר של https://github.com/espressif/arduino-esp32 ופתח אותו לחומרה/espressif ושנה את שם ה- תיקייה esp32 ולאחר מכן לקבלת תמיכת BLE הורד קובץ zip של הגרסה העדכנית ביותר של https://github.com/espressif/arduino-esp32 ופרוק אותו לתיקיית esp32/libraries ושנה את שמו ESP32_BLE_Arduino (במידת הצורך).

שלב 2: התקנת ספריות PfodParser עבור ESP32

א) לאחר מכן הורד את ספריית pfodParser.zip V3.23+, pfodDwgControls.zip, ול- ESP32 WiFi, את קובצי ה- pfodESP32BufferedClient.zip, העבר אותם לשולחן העבודה שלך או לתיקיה אחרת שתוכל למצוא בקלות.

ב) לאחר מכן השתמש באפשרות Arduino 1.8.2 בתפריט IDE סקיצה → ייבוא ספרייה → הוסף ספרייה כדי להתקין אותם. (אם Arduino לא מאפשר לך להתקין אותה מכיוון שהספרייה כבר קיימת, מצא ומחק את התיקיות הישנות יותר pfodParser, pfodCmdParser או pfodCHAP וכו 'ולאחר מכן ייבא אותן)

ג) עצור והפעל מחדש את Arduino IDE ותחת קובץ-> דוגמאות כעת אתה אמור לראות pfodParser, pfodDwgControls ו- pfodESP32BufferedClient ומספר דוגמאות.

שלב 3: שימוש ב- PfodDesignerV3 עבור ESP32

אפליקציית pfodDesignerV3 (V3291+) החינמית תומכת ביצירת קוד לשבב ESP32 לחיבור באמצעות BLE, WiFi או Bluetooth Classic ל- pfodApp (בתשלום).

יש הרבה הדרכות קיימות כיצד ליצור פקדים לנייד אנדרואיד שלך לשליטה במגוון רחב של לוחות באמצעות pfodDesignerV3. עם pfodDesignerV3 אתה יכול ליצור פקדים שמפעילים/כבים את הפלטים או דופקים אותם, שולטים ביציאות באמצעות PWM, מציגים מצב של ערך קלט או ערך אנלוגי, נתוני יומן ועלילה ותפריטי משנה ועוד.

טיפ: תמיכת ה- ESP32 Arduino כוללת תמיכה בכ -31 לוחות ESP32 שונים. PfodDesignerV3 נותן לך גישה לכל סיכות ה- I/O של ESP32 אך לא כל הלוחות מחברים את כל סיכות ה- ESP32 לסיכות הלוח. בדוק את תיעוד הלוח שעבורו סיכות זמינות ועיין בקובץ pins_arduino.h מתחת לספריית החומרה / espressif / esp32 / variants של הלוח שלך.

רשימת הסיכות pfodDesignerV3 כוללת הערות לגבי זמינות וסיכות שימוש מיוחדות עבור Sparkfun ESP32 Thing ו- Adafruit HUZZAH32 - לוחות נוצות ESP32.

דוגמאות אלה משתמשות בלוח הדברים של Sparkfun ESP32 ויוצרות מחוון לשליטה על בהירות נורית הלוח המשולבת המחוברת לפין 5 מהנייד אנדרואיד. אם אתה משתמש בלוח Adafruit HUZZAH32 - ESP32 במקום זאת, ה- LED המשולב מחובר לפין 13. התמיכה ב- ESP32 Arduino המותקנת למעלה אינה תומכת ישירות ב- analogWrite של Arduino. במקום זאת יש ל- ESP32 16 ערוצי PWM שתוכלו לשלוט ולחבר לכל אחד מהיציאות. PfodDesignerV3 מייצר את כל הקוד הדרוש להקצאת הערוץ ולחיבורו לפלט שבחרת. התקן את pfodDesignerV3 (V3291+) החינמי מ- Google Play.

שלב 4: מחולל קוד BLE ESP32

מחולל קוד BLE ESP32
מחולל קוד BLE ESP32
מחולל קוד BLE ESP32
מחולל קוד BLE ESP32
מחולל קוד BLE ESP32
מחולל קוד BLE ESP32
מחולל קוד BLE ESP32
מחולל קוד BLE ESP32

התחל תפריט חדש

לחץ על כפתור היעד כדי לשנות את מכשיר היעד.

היעד הראשון לדוגמא יהיה ESP32 BLE אז לחץ על הלחצן Bluetooth Low Energy.

בחר ESP32 המחובר באמצעות BLE ולאחר מכן לחץ על כפתור הגב של הנייד כדי לחזור למסך הראשי.

שלב 5: עיצוב התפריט - ההנחיה

עיצוב התפריט - ההנחיה
עיצוב התפריט - ההנחיה
עיצוב התפריט - ההנחיה
עיצוב התפריט - ההנחיה
עיצוב התפריט - ההנחיה
עיצוב התפריט - ההנחיה

בדוגמה פשוטה זו תהיה רק פקודה ושליטה אחת. לחץ על הלחצן ערוך הודעה ולאחר מכן על הלחצן ערוך טקסט בקשה כדי להגדיר את טקסט ההנחיה.

כאן ההנחיה מוגדרת ל- "ESP32 Led". לחץ על כפתור הסימון כדי לשמור לך עריכות ולחזור למסך הקודם. לאחר מכן לחץ על הגדר צבע רקע כדי לבחור את כל הצבעים בתפריט הפקדים.

אתה יכול לבחור צבעים שונים לכל פקד. קיימים פורמטים שונים אחרים לבקשה. כאן הרקע מוגדר לכחול וגודל הגופן הוא +5 והטקסט מודגש. תצוגה מקדימה של הפקודה המעוצבת מוצגת בתחתית מסך שורת העריכה.

שלב 6: עיצוב התפריט - PWM LED Control

עיצוב התפריט - PWM LED Control
עיצוב התפריט - PWM LED Control
עיצוב התפריט - PWM LED Control
עיצוב התפריט - PWM LED Control
עיצוב התפריט - PWM LED Control
עיצוב התפריט - PWM LED Control
עיצוב התפריט - PWM LED Control
עיצוב התפריט - PWM LED Control

השתמש בלחצן הגב של הנייד כדי לחזור לתפריט הראשי ולאחר מכן לחץ על הוסף פריט תפריט כדי להוסיף פקד או פריט תצוגה.

בחר את הפריט PWM Output. בראש המסך מוצגת תצוגה מקדימה של הפקד.

טיפ: ל- ESP32 אין פונקציית AnalWrite סטנדרטית של Arduino. אולם מחולל קוד זה, יוצר קוד המדמה אותו עבורך

לחץ על הלחצן ערוך טקסט מוביל ושנה את "הגדרת PWM" ל- "Led" שים לב למרחב הנגרר כדי להפריד בין "Led" לחיווי %.

לחץ על כפתור הסימון כדי לשמור את העריכה ולאחר מכן גלול מטה אל הלחצן "לא מחובר לסיכת קלט/פלט".

לחץ על כפתור זה כדי להציג רשימה של סיכות שיכולות לשמש פלט.

זה מציג את סיכות השימוש המיוחדות ללוחות הנוצות של Sparkfun ESP32 Thing ו- Adafruit HUZZAH32. בחר את סיכה 5 כך שבקרת המחוון תשלוט על בהירות הלדים המשולבת של Sparkfun ESP32 Thing. אם אתה משתמש בלוח נוצות Adafruit HUZZAH32, בחר במקום זאת סיכה 13. ללוחות אחרים בדוק את תיעוד הלוחות שלך ואת קובץ pins_arduino.h מתחת לספריית החומרה / espressif / esp32 / varianter של הלוח שלך.

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

שלב 7: צור את קוד ESP32

צור את קוד ESP32
צור את קוד ESP32
צור את קוד ESP32
צור את קוד ESP32

חזור לתפריט הראשי וגלול מטה אל הלחצן צור קוד.

לחץ על הלחצן צור קוד ולאחר מכן לחץ על הלחצן כתוב קוד לקובץ כדי ליצור את הקוד

צא מה- pfodDesignerV3 והעבר את הקוד ב- /pfodAppRawData/pfodDesignerV3.txt מהנייד למחשב שלך. ראה pfodAppForAndroidGettingStarted.pdf דרכים לעשות זאת. אפליקציית העברת הקבצים wifi על ידי smarterDroid היא אחת הדרכים לבצע את ההעברה.

באמצעות כפתור "שנה יעד" במסך צור קוד, תוכל לעבור בין ESP32 באמצעות BLE, ESP32 באמצעות Bluetooth ו- ESP32 באמצעות WiFi

שלב 8: הפעלת הדוגמאות

הפעלת הדוגמאות
הפעלת הדוגמאות

באמצעות כפתור "שנה יעד" במסך צור קוד, תוכל לעבור בין ESP32 באמצעות BLE, ESP32 באמצעות Bluetooth ו- ESP32 באמצעות WiFi

כך נוצרו שלוש הסקיצות הבאות מהעיצוב לעיל.

הפעלת הדוגמה pfodESP32_BLE

הגדרת היעד ל- ESP32 באמצעות BLE מייצרת את הקוד ב- pfodESP32_LED_BLE.ino סקיצה זו זמינה גם תחת קובץ-> דוגמאות-> pfodParser. פתח את הדוגמה הזו, לאחר מכן, לאחר שתכנת את Sparkfun ESP32 Thing (או לוח ESP32 אחר), לאחר מכן עליך להגדיר חיבור אליו ב- pfodApp (ראה pfodAppForAndroidGettingStarted.pdf לפרטים) ולהתחבר ולהיות מסוגל להתאים את בהירות ה- לוח הוביל.

טיפ: ESP32 משתמש באותה כתובת Bluetooth הן ל- BLE והן ל- Bluetooth, כך שאם הגדרת בעבר חיבור Bluetooth ESP32 ב- pfodApp, עליך למחוק את חיבור ה- Bluetooth של pfodApp לפני הגדרת חיבור BLE, מכיוון ש- pfodApp מסנן חיבורים קיימים (על ידי כתובת) מרשימת התצוגה של המכשירים הזמינים. ייתכן שיהיה עליך גם לפתוח את ההגדרה של הנייד שלך 'לשכוח' את חיבור ה- Bluetooth ESP32 ולאחר מכן לכבות את ה- Bluetooth של הנייד ולהפעיל מחדש את הטלפון שלך כדי לנקות את ערימת ה- Bluetooth

טיפ: ספריית ESP32_BLE_Arduino של ניל קולבן אינה תואמת את הספרייה BLEPeripheral מ- Sandeep Mistry המשמשת כמה יעדי BLE אחרים שנוצרו על ידי pfodDesigner. אז אתה צריך להסיר את ספריית BLEPeripheral, (אם היא קיימת), ממדריך Arduino/libraries שלך כדי לאסוף סקיצות ESP32 BLE.

הפעלת הדוגמה pfodESP32_Bluetooth

הגדרת היעד ל- ESP32 באמצעות Bluetooth מייצרת את הקוד ב- pfodESP32_LED_Bluetooth.ino סקיצה זו זמינה גם תחת קובץ-> דוגמאות-> pfodParser. פתח את הדוגמה הזו ותתכנת את ה- Sparkfun ESP32 Thing (או לוח ESP32 אחר). עליך להתאים את ה- ESP32 לטלפון שלך, אין צורך במספר סיכה. לאחר מכן הגדר חיבור אליו ב- pfodApp (ראה pfodAppForAndroidGettingStarted.pdf לפרטים) והתחבר ותוכל להתאים את בהירות הלוח הלד.

הפעלת הדוגמה pfodESP32_WiFi

הגדרת היעד ל- ESP32 באמצעות WiFi מייצרת את הקוד ב- pfodESP32_LED_WiFi.ino סקיצה זו זמינה גם תחת קובץ-> דוגמאות-> pfodParser. פתח את הדוגמה הזו והכנס את שם הרשת והסיסמה שלך ובחר IP סטטי למכשיר זה. לאחר מכן, לאחר שתכנת את Sparkfun ESP32 Thing (או לוח ESP32 אחר), עליך להגדיר חיבור אליו ב- pfodApp (ראה pfodAppForAndroidGettingStarted.pdf לפרטים) ולהתחבר ולהיות מסוגל להתאים את בהירות הלוח הלד.

שלב 9: אבטחת WiFi

אם מתחברים ל- ESP32 באמצעות האינטרנט (באמצעות wifi), אבטחה חשובה. אתה לא רוצה שרק מישהו יוכל לפתוח את דלת המוסך שלך, למשל. מחולל הקוד וספריית pfodParser תומכים באבטחת 128 סיביות. אבטחה זו אינה מצפינה את ההודעות אלא מוסיפה חשיש קריפטוגרפי לכל הודעה כדי להגן מפני חיבור ושליטה בלתי מורשים. עיין באתגר ותגובה מאובטחים של SipHash לקבלת פרטים על אופן יישום אבטחה זו.

הוספת אבטחה של 128 ביט

אבטחה כנגד משתמשים שאינם מורשים לגישה למכשיר שלך דרך האינטרנט היא פשוטה כמו עריכה#define pfodSecurityCode "" להוספת קוד סודי משלך. (עד 32 ספרות משושה)

למשל כדי להגדיר קוד אבטחה של 173057F7A706AF9BBE65D51122A14CEE היית משתמש ב#define pfodSecurityCode "173057F7A706AF9BBE65D51122A14CEE" כמובן שאתה צריך להשתמש בקוד סודי משלך. הגדרת קוד משלך בחיבור pfodApp מאפשרת לך, ולאף אחד אחר, להתחבר.

קוד אקראי ארוך נחוץ לביטחון טוב. pfodApp תומך בעד 128 ביט כמו ספרות 32Hex.

כדי ליצור קוד סודי משלך תוכל להוריד מחולל מפתחות סוד אקראי מכאן מחולל מפתחות סודי מכאן. בנוסף ליצירת מפתחות אקראיים, תוכנית זו כותבת אותם כקודי QR, כך שתוכל להגדיר אותם בקלות ובדייקנות בחיבור ה- pfodApp שלך.

אתה יכול להדפיס את קוד ה- QR ולצרף אותו ל- pfodDevice שלך. לאחר מכן לחץ על לחצן Scan QR במסך החיבור של pfodApp WiFi כדי לקרוא את הסיסמה.

עיין ב- WiFi פשוט/Arduino pfodDevice ™ עם אבטחת 128 סיביות לקבלת דוגמה מפורטת של שימוש בגנרטור המפתחות וקוד ה- QR.

סיכום

הדרכה זו הראתה כיצד להגדיר את Arduino IDE לתכנת ה- ESP32. לאחר מכן היא השתמשה באפליקציית pfodDesigner החינמית לעיצוב תפריט לשליטה על בהירות קוד ה- LED המשולב והנוצר לחיבור ל- ESP32 באמצעות BLE, Bluetooth או WiFi. אם לאחר מכן תחבר באמצעות האפליקציה pfodApp apppfodApp תראה את התפריט שעיצבת ותוכל לשלוט על בהירות הלד באמצעות מחוון. ה- pfodDesigner מייצר את כל קוד ה- Arduino, כולל הדמיה של AnalWrite של Arduino. לא נדרש קידוד Arduino. ה- pfodApp דואג לכל צד האנדרואיד, אין צורך בקידוד אנדרואיד.

מוּמלָץ: