- מהי PlatformIO?
- הגדרת PlatformIO עבור Arduino Uno
- תכנות Arduino UNO באמצעות PlatformIO IDE
- תכנות לוח STM32 באמצעות PlatformIO IDE
פיתוח ב- Arduino וב- Arduino IDE תמיד היה קל ומהנה באמצעות ממשק המשתמש הפשוט שלהם. ה- IDE של ארדואינו הוא קוד פתוח וחופשי לשימוש בסביבת הפיתוח עם כל התכונות כמו כתיבה, קומפילציה והעלאת הקוד ללוחות Arduino. הוא מבוסס על Java ופועל על מערכת הפעלה מרכזית כמו Windows, OS X ו- Linux. אך עם כל הפשטות והקהילה הגדולה שלו, אין לו כמה תכונות שיזם מפתח מנוסה לפיתוח מהיר שיכול להפחית את תקופת הפיתוח. קיימות סביבות פיתוח רבות עבור Arduino, אך לכולן יתרונות וחסרונות מסוימים. היום נתחיל בסביבת פיתוח PlatformIO קלה לשימוש והוסיפה תכונות בהשוואה לסביבת Arduino.
מהי PlatformIO?
PlatformIO היא מערכת אקולוגית מבוססת Python עם קוד פתוח לפיתוח IoT ו- IDE חוצה פלטפורמות עם ניפוי מאגים מאוחד פועל על Windows, Mac ו- Linux. PlatformIO מגיע עם מנהל ספריות לפלטפורמות כמו Arduino או תמיכה ב- MBED יחד עם בדיקות יחידות ועדכוני קושחה. PlatformIO תומך במספר פלטפורמות, מסגרות, לוחות כמו Arduino, ESP32, ESP8266 ומגיע עם מספר דוגמאות וספריות. היא אינה תלויה בפלטפורמה בה היא פועלת והיא דורשת רק פייתון המותקן במחשב.
היתרונות של PlatformIO
PlatformIO מציג פיתוח מהיר עם תכונותיו כמו השלמת קוד C / C ++ ו- Code Linter חכם לפיתוח מקצועי מהיר שאינו קיים ב- Arduino IDE. בנוסף לכך, PlatformIO מציע תמיכה בנושא עם צבעים כהים ובהירים לפיתוח בכל עת. זה מגיע גם עם ניווט קוד חכם ועיצוב קוד. תכונות הליבה כוללות מערכת בנייה מרובת פלטפורמות, מנהל ספריות, צג יציאות טוריות וכו '.
ה- Unified Debugger עם תמיכה במספר ארכיטקטורות ופלטפורמות פיתוח מאפשר לבצע ניפוי באגים על לוחות משובצים מרובים באמצעות Zero-Configuration. ל- Debugger המאוחד של PlatformIO יש תכונות כמו נקודות עצירה מותנות, ביטויים ונקודות תצפית, מציג זיכרון, הפעלה מחדש חמה של מושב ניפוי באגים פעיל. ליבת PlatformIO נכתבת בפייתון 2.7 ועובדת על Windows, macOS, Linux, FreeBSD ואפילו מחשבים בגודל כרטיסי אשראי מבוססי ARM כמו Raspberry Pi, BeagleBone, CubieBoard, Samsung ARTIK וכו '. מלבד זאת ל- PlatformIO יש סייר קבצים שעוזר. ארגון הקבצים כאשר הפרויקט גדל לרמה מסוימת והארגון הופך להיות הכרחי.
הגדרת PlatformIO עבור Arduino Uno
השימוש ב- PlatformIO הוא פשוט מאוד ודורש כמה צעדים כדי להתחיל. PlatformIO דורש התקנת Python במחשב שכן כמוסבר לעיל כי הליבה של PlatformIO נכתבה ב- Python 2.7. שים לב ש- PlatformIO אינו תומך ב- Python 3 ולכן מומלץ להתקין את גרסת ה- Python 2 ואז להמשיך בהגדרת PlatformIO IDE. PlatformIO הוא IDE ובנוסף הוא מספק חבילות רשמיות (תוספים, הרחבות) עבור IDEs ועורכי הטקסט הפופולריים ביותר.
היום נתקין את PlatformIO לעורך טקסט כזה כמו Atom ו- Visual Studio Code. בתיעוד הרשמי של Platform IDE נכתב כי PlatformIO IDE עבור קוד VS (קוד Visual Studio) מציע ביצועי מערכת טובים יותר, ומשתמשים התקשו יותר להתחיל. אז נקים את PlatformIO בקוד Visual Studio. קוד VS הוא עורך טקסטים ידוע עם מספר סיומות המאפשר לנו להתפתח בשפות תכנות שונות.
נתחיל בהקמת PlatformIO כדי להתחיל בפיתוח קוד ב- Arduino UNO. ישנם שלבים המעורבים המפורטים להלן:
- ראשית התקן את קוד Visual Studio מהאתר הרשמי שלו. שלבי ההתקנה של קוד Visual Studio לא יוסברו כאן אך תוכלו למצוא אותם באתר VS Code. ישנם צעדים כלליים המעורבים בדיוק כמו התקנת כל תוכנה אחרת במערכת ההפעלה של Windows.
- קוד Visual Studio ייראה כדלקמן כאשר הוא מותקן בהצלחה.
- השלב הבא כולל התקנת PlatformIO באמצעות הרחבות קוד VS. לשם כך עליך לעבור לסמל הרחבות בפינה השמאלית העליונה של קוד VS. יש סמל תיבה מרובע שהוא הסמל החמישי בפינה השמאלית העליונה. פשוט לחץ על זה ותיבת חיפוש אחת תופיע ממש ליד זה, שם תוכל למצוא סיומות רבות לשפות תכנות שונות כמו C / C ++, C #, Python, PHP, Go, JavaScript, TypeScript ו- Node.js וכו '.
- חפש "PlatformIO" בתיבת החיפוש של התוסף ותראה אייקון PlatformIO עם שם ותיאור. פשוט לחץ עליו והתקן אותו. ייתכן שייקח זמן מה בהתקנת שרשראות כלים ותלות אחרות. תלות כוללת סביבת C / C ++ שכן פיתוח Arduino מתבצע בעיקר ב- C / C ++.
- לאחר סיום ההתקנה, תראה את הממשק הבא. הממשק כולל את כל הניווט הדרוש כגון יצירת פרויקט חדש, פרויקט ייבוא ארדואינו, פרויקט פתוח, דוגמאות לפרויקט וכו '. מומלץ להפעיל מחדש את עורך הקוד VS לאחר התקנת PlatformIO.
זה מסיים את שלבי ההתקנה של PlatformIO. כעת PlatformIO מותקן ומוכן לשימוש. בדיוק כמו Arduino IDE, נתחיל בתוכנית Blink וננסה להעלות את תוכנית Blink לאו"ם Arduino.
תכנות Arduino UNO באמצעות PlatformIO IDE
ממשק PlatformIO יוסבר במקביל תוך כדי תכנות Arduino UNO. כאן אנו מתכנתים Arduino להבהוב LED באמצעות PlatformIO. ניתן לעשות זאת באמצעות ארדואינו IDE. בצע את השלבים הבאים להלן כדי ליצור פרויקט חדש להבהוב מהבהב.
- בחר בכרטיסייה "פרויקט חדש" מתפריט הגישה המהירה.
- תן שם לפרויקט (הנה זה 'מצמוץ'). חפש ובחר את הלוח שהוא Arduino UNO. מכיוון שאנו עובדים במסגרת Arduino, כך שהמסגרת שנבחרה תהיה Arduino. לאחר מילוי כל הפרטים פשוט לחץ על סיום.
- הפרויקט יתחיל להיווצר על ידי איסוף משאבים ותלות אחרות.
- כאשר הפרויקט נוצר בהצלחה, תקבל את ההודעה המיידית "הפרויקט בוצע איתחול בהצלחה" עם כל הפרטים המלאים.
- כדי לפתוח את הפרויקט שנוצר, פשוט גלול למטה בתפריט הבית של PlatformIO ותראה את כל רשימת הפרויקטים שנוצרו מההתחלה. בפינה הימנית של הפרויקט שנוצר לחץ על 'פתח' כדי לפתוח את הפרויקט ולהתחיל בעריכה.
- כאשר הפרויקט נפתח, בתחילה הוא ייראה כמוסתר שלו, אך אל דאגה, ל- PlatformIO יש תכונת סייר קבצים בה יימצאו כל הקבצים של הפרויקט הנוכחי. פשוט עבור לפינה השמאלית העליונה ופתח את 'ללא כותרת (מקום עבודה)'. כאשר לוחצים עליו, כל הקבצים יופיעו כתפריט נפתח. כדי למצוא את עורך הטקסט לעריכת 'הקוד', בחר 'src' ופתח 'main.cpp'. מצב עורך הטקסט יופיע על מסך הבית עם פתיחת כרטיסייה חדשה. כאן תוכלו לכתוב את כל הקודים של פרויקט שוטף שוטף.
- כל שעליך לעשות הוא לכתוב את קוד ה- Blink ל- Arduino UNO. שים לב כי ל- PlatformIO אין גישה ברירת המחדל לספריות Arduino, כך שבכל פעם שאתה כותב את הקוד ל- Arduino, כלול תמיד את ספריית Arduino כלומר "# כלול" בתחילת התוכנית.
- השלב הבא יהיה קומפילציה והעלאת הקוד. לשם כך, בואו נסתכל על הפונקציות המסופקות על ידי PlatformIO. כמו כן, PlatformIO בוחר את יציאת ה- COM כברירת מחדל. אבל אתה יכול גם לשנות את היציאה אם זה לא יציאת ה- COM הרצויה. שינוי יציאת ה- COM יוסבר בהמשך הדרכה זו. ל- PlatformIO יש פונקציות כמו Build, Upload, Upload to Device Remote, Clean, Test, Run Task, Serial Monitor, Terminal חדש. את כל הפונקציות ניתן למצוא בפינה השמאלית התחתונה של העורך. כאשר אתה מעביר את העכבר מעל הסמלים, הפונקציות יוצגו.
- לבניית הסקיצה לחץ על 'בנה' וכדי להעלות את הסקיצה לחץ על סמל 'העלה'. לאחר ההעלאה, תוכל לראות את זמן ההעלאה עם כל הפרטים האחרים והודעה "הצלחה". הקוד הועלה בהצלחה ותוכל לראות את מהבהב ה- LED בלוח Arduino.
כדי לבחור או לשנות כל יציאת COM, פשוט עבור למסך הבית של PlatformIO ואז עבור אל ההתקנים, כאן תוכל לראות את כל המכשירים הזמינים המחוברים. בחר יציאת COM מתאימה ופעל לפי אותו הליך להעלאת הסקיצה.
תכנות לוח STM32 באמצעות PlatformIO IDE
לתכנות לוח STM32 יהיו צעדים דומים בדיוק כמו תכנות Arduino UNO שהוסבר לעיל. ההבדל יהיה בחירת הלוח ל- STM32 בעת פתיחת פרויקט חדש ל- STM32. הדבר הטוב ב- PlatformIO הוא שהוא לא זקוק לחבילה חיצונית כלשהי כדי להוריד כל לוח בנפרד, הוא מוריד אוטומטית את כל החבילות ומקל עלינו לבחור לוח וללכת לעורך. נשתמש ב- JLink / JTAG / STLink / מתכנת סדרתי חיצוני כדי להעלות סקיצה ל- STM32. ניתן לתכנת את STM32 גם עם Arduino IDE. המשך בשלבים הבאים כדי לתכנת אותו באמצעות PlatformIO.
- פשוט שם את הפרויקט (הנה זה 'Blink STM32'). לאחר מכן בחר את הלוח עבור STM32 כלומר ' BluePill F103C8 (כללי) '. לאחר מכן בחר מסגרת כארדואינו. לחץ על סיים והמתן זמן מה שכן בתחילה ייקח זמן להוריד את החבילות והתלות עבור לוח STM32.
- לאחר ההגדרה, זמן יצירת הפרויקט הבא יהיה פחות בהשוואה לראשון. עכשיו פשוט עבור אל ללא כותרת (סביבת עבודה) -> src -> main.cpp בסייר הקבצים השמאלי.
- כעת הצעדים הקרובים יהיו חשובים מכיוון שיש להחליט באיזה מתכנת עלינו להשתמש לצורך תכנות לוח STM32. ישנם הרבה מתכנתים זמינים כגון JTAG, STLink, JLink, סידורי וכו '. הכל יעבוד אך עליך להגדיר את דף התצורה או הקובץ' platformio.ini '.
- בפרויקט זה אנו משתמשים מתכנת סדרתי CP210x USB ל- UART Bridge. כבר עשינו תכנות לוח STM32F103C8 באמצעות יציאת USB, o רוב הצעדים יינקטו משם בלבד. תוכלו לבקר בקישור ולמצוא עוד על כך.
- ראשית, חבר מתכנת סדרתי ללוח STM32 עם מיפוי סיכות הבא וחבר אותו למחשב.
מתכנת USB לטורי |
לוח STM32 |
5V |
5V |
Gnd |
Gnd |
Rx |
A9 |
טקס |
A10 |
- עכשיו עבור לחוקר הפרויקט ופתח את דף 'platformio.ini' ושנה את ההצהרה כפי שמוצג בתמונה. Upload_protocol יגיד מה מתכנת צריכה להשתמש (STLink, JLink, סידורי וכו '). ה- upload_port בוחר את יציאת ה- COM. תוכל למצוא על ידי מעבר אל 'התקנים' בדף הבית. שנה את יציאת ה- COM בהתאם ליציאת ה- COM שלך.
- עבור אל 'main.cpp' ושנה את התוכנית לתוכנית Blink . עכשיו פשוט העלו את התוכנית והיא תציג הודעת הצלחה וזמן שנדרש להעלאה. כעת הנורית תתחיל להבהב מחוברת בסיכת PC13 של לוח STM32.
זה מסיים את ההדרכה המלאה על תכנות ה- Arduino UNO וכן לוח STM32 באמצעות PlatformIO. אם נתקלת בקשיים כלשהם בעת ביצוע הצעדים, אנא כתוב לפורום או הערה למטה.