שְׁאֵלָה:
תכנות Arduino באמצעות Python, ולא C / C ++
JVarhol
2014-02-12 21:31:17 UTC
view on stackexchange narkive permalink

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

ישנן חלופות זוגיות לתכנות Arduino, אחת מהן היא [BitLash] (http://bitlash.net/) ויש [מתורגמן בסיסי] (http://hackaday.com/2012/05/01/arduino- מתורגמן בסיסי באמצעות lcd-keyboard-and-sd /). ישנן כמה אפשרויות כשאתה מחפש באינטרנט, אך לימוד C / C ++ ישתלם בסופו של דבר.
תודה, אני ממש משתפר ב C, פשוט לא טוב כמו שאני עם פייתון.
שאלה כללית יותר קשורה: ["אפשרויות תכנות של Arduino שאינן C ++"] (http://arduino.stackexchange.com/questions/141/programming-options-other-than-c)
האם PI פטל הוא אופציה?
תֵשַׁע תשובות:
#1
+27
Peter Bloomfield
2014-02-12 22:28:12 UTC
view on stackexchange narkive permalink

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

ההימור הטוב ביותר שלך יהיה כנראה למצוא דרך להרכיב סקריפט פייתון לקוד מכונה מקורי (כך עובד C / C ++). אני מאמין שיש פרויקטים לעשות משהו כזה עבור פלטפורמות אחרות, אבל (עד כמה שידוע לי) אף אחד לא עושה זאת בהצלחה עבור Arduino.

אולי תמצא מידע שימושי יותר בשאלה זו ב Stack Overflow: האם יש דרך "להרכיב" קוד פייתון לארדואינו (Uno).

#2
+16
asheeshr
2014-02-12 22:18:02 UTC
view on stackexchange narkive permalink

כן, ניתן (מעט) לתכנת את הארדואינו באמצעות פייתון. פרויקט כזה ב- Github הוא Python Arduino Prototyping API v2. הוא מספק פונקציונליות בסיסית מאוד כמו קלט / פלט דיגיטלי וקלט / פלט אנלוגי.

זה יכול לשמש לפרויקטים פשוטים מאוד.


* פרויקט זה קצת פריצה ל"תכנות "הלוח באמצעות החיבור הסדרתי. זה מעביר את הפקודות על החיבור הסדרתי לשרטוט שעובר על הלוח ואז "מבצע" את פקודת Python.

אז צריך לחבר את הלוח למחשב כדי להריץ את הקוד בפועל?
@JVarhol באופן מוזר, כן.
ובכן, זה די מחורבן. יהיה קל יותר להשתמש ב- Raspberry Pi.
#3
+9
Matthew G.
2014-02-13 20:48:25 UTC
view on stackexchange narkive permalink

יש פרויקט שמביא מכונה וירטואלית של פייתון למיקרו-בקרים, כולל Arduino Mega.

הנה ציטוט מהארדוניו מגה README, שמעניק תחושה לאיך זה יכול להיות (אם כי לא בדקתי את זה!):

להלן הפעלה לדוגמה באמצעות ipm ::

  ipm> import avr, sysipm> avr.ddrA (0xff) ipm> avr.portA (0) # Pins 22-29 all at 0 Vipm> avr.portA (0xa5) ipm> sys.heap ) (2622, 7424)  
#4
+3
nod
2014-12-09 21:00:45 UTC
view on stackexchange narkive permalink

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

זה לא ממש כמו להריץ את הסקריפט ישירות על הארדואינו, אבל עשיתי לא מעט יותר חשבתי שהארדואינו מסוגל להתמודד (ניתוח מוזיקלי כלשהו, ​​להכות ממשק API של REST וכו ').

#5
+3
DaveP
2015-03-05 08:05:49 UTC
view on stackexchange narkive permalink

אפשרות נוספת שיש לקחת בחשבון היא Arduino Yun. בנוסף לשבב ה- AVR שיש לרוב הארדואינו, הוא כולל גם שבב MIPS המריץ לינוקס. מכיוון שמדובר בלינוקס, אתה יכול להריץ בקלות קוד פיתון, וניתן להתקין בקלות כל חבילת פיתון טהור.

עם זאת, כל יכולות הקלט / הפלט המעניינות הן על שבב AVR, ולא על שבב MIPS. פרויקטים כמו Autobahn ו- LininoIO פותרים את הבעיה על ידי הפעלת תוכנית מיוחדת על שבב AVR המבצעת פעולות קלט / פלט בהוראת שבב MIPS.

#6
+1
Boyd
2020-02-04 01:10:06 UTC
view on stackexchange narkive permalink

כן, זה אפשרי עם ה- ArduinoPro H7 החדש החדש שיש לו יכולות להעלות תוכנית כתובה ב- Python ו- JavaScript וזו ליבה כפולה, 32bit.

Javascript? בֶּאֱמֶת? ניסית את זה?
#7
  0
Daniele Mazzei
2015-03-04 22:57:30 UTC
view on stackexchange narkive permalink

אנו יודעים שמדובר בנושא פתוח בתכנות ארדואינו ובעולם המשובץ באופן כללי. קיימים בשוק פתרונות שונים כמו MicroPython אך רובם מוקדשים ללוחות ספציפיים ואינם מאפשרים לשמור על המערכת אמיתית. אנו עובדים על פיתרון! VIPER היא מכונת וירטואלית של Python עבור Arduino DUE וכל ארכיטקטורות ה- ARM 32 סיביות הפועלות על גבי מערכת הפעלה בזמן אמת. פירוש הדבר שתוכל לפתח סקריפטים של Python שניתן להפיק באמצעות Arduino DUE, UDOO, Spark (כל הלוחות) וגם על לוחות ST nucleo החדשים. יתר על כן אם אתה זקוק לביצועים גבוהים ואתה מיומן ב- C, תוכל לפתח מודולים בזמן אמת עבור VIPER שניתן לקרוא ולנהל על ידי סקריפטים של Python. .

תוכלו לראות את VIPER בפעולה כאן http://bit.ly/kickviper

זה לא נושא פתוח. פיתון היא שפת כניסה איומה.
#8
  0
imlucky
2018-06-08 07:11:40 UTC
view on stackexchange narkive permalink

כן. ניתן להשתמש בפייתון לתכנות ארדואינו, פשוט על ידי ייבוא ​​pyfirmata, שיכול לממשק את הארדואינו עם פייתון.

נָכוֹן. אבל זה לא מה שה- OP מבקש.
אני לא מסכים. השימוש ב- firmata הוא "ביעילות" "תכנות ארדואינו" באמצעות פיתון. למעשה הופתעתי לראות שאף אחד אחר לא הציע זאת. מנקודת מבט של מתחילים זה כמעט אותו דבר. אני חושב להשתמש בו בכדי לעזור ללמד את בני תכנות כפייתון הוא מעט קל יותר מ- C.
#9
  0
xrhstos
2019-11-20 19:24:46 UTC
view on stackexchange narkive permalink

אתה יכול ללמוד מ- C (AVR) כיצד חיישנים עובדים, אך זה זקוק להרבה יותר זמן. קוד IDE של ארדואינו וקוד פייתון עבור Arduino משתמשים בפונקציות C קוד כדי להפוך את הדברים לפשוטים. אתה חושב שאתה מקודד לעצמי.



שאלה ותשובה זו תורגמה אוטומטית מהשפה האנגלית.התוכן המקורי זמין ב- stackexchange, ואנו מודים לו על רישיון cc by-sa 3.0 עליו הוא מופץ.
Loading...