תוכן עניינים:
- שלב 1: פריטים דרושים
- שלב 2: אנדרואיד G1 עם פלט סידורי מופעל
- שלב 3: התקן את סביבת ה- Scripting של Android (ASE) באמצעות Python
- שלב 4: העתק והפעל את הסקריפט Cellbot.py להפעלת תוכנית Python
- שלב 5: Telnet לתוך ה- G1 ובדיקת שליחת פקודות
- שלב 6: חבר מחליף רמה של 3.3V עד 5V ל- Arduino
- שלב 7: טען את תוכנית Cellbots ב- Arduino
- שלב 8: הפעל את כל התהליך
וִידֵאוֹ: סדרת אנדרואיד G1 לרובוט Arduino: 8 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:18
למד כיצד הטלפון הסלולרי של Android יכול לשלוט ברובוט באמצעות לוח Arduino. הטלפון מקבל פקודות באמצעות telnet מטלפון אחר או ממחשב, כך שתוכל לשלוט על הרובוט מרחוק. פרויקט זה לא ישנה את ה- G1 אחרת, כך שתוכל להמשיך להשתמש בו כטלפון הרגיל שלך לאחר ביטול העגינה שלו. על ידי שימוש ברכיבים אלקטרוניים זולים כגון לוחות ארדואינו, תוכל לשייך אותם לטלפון של 400 $ כדי ליצור רובוט מדהים. זה יעלה מאות דולרים להוסיף GPS, LCD, חיישני תנועה, Wi-Fi, חיבורים סלולריים, רמקולים ועוד לבוט תחביב, אבל לטלפון שלך יש כבר כאלה! יחד, לוח Android G1 ו- Arduino מאפשרים לך להשתמש באלקטרוניקה לא יקרה כגון סרווס וחיישנים פשוטים, כדי לבנות מכשירים רבי עוצמה כגון רובוטים, טלפרזנס מרחוק או צעצועים מהנים לילדים. מידע נוסף ב- Cellbots.com. שים לב: פרויקט זה דורש כרגע Android G1 עם גישה לשורש כדי להשתמש בפלט סידורי מהטלפון אל הרובוט Arduino. אתה יכול להוסיף מודול BlueTooth של 20 $ ללוח ה- Arduino שלך כדי שהטלפון ידבר איתו באמצעות BlueTooth טורי אם אתה רוצה להשתמש בתוכנת האנדרואיד המסחרית. תודה מיוחדת: יש לנו את ההאקר דוג'ו ב- Mountain View, קליפורניה להודות על כך שיצרת איתנו קשר, עזר בכמה בעיות מסובכות באמצעות רשימת התפוצה של החברים המדהימים, ועל כך שיש 74LS04 שבבים במלאי. רוב ההרכבה נעשתה בחנות הטק שופ במנלו פארק.
שלב 1: פריטים דרושים
כדי להשלים את ההדרכה תצטרך את הדברים הבאים: חומרה: - טלפון אנדרואיד G1 Dev (או מכשיר אנדרואיד אחר עם גישה לשורש ופלט סדרתי) - Arduino (אני משתמש ב- Freeduino SB אבל כל אחד צריך לעשות) - 3.3v עד 5v ממיר אם אינך משתמש בארדואינו 3.3 וולט (אני משתמש בשבב 74LS04 בפחות מ- $ 1 אך אפשרויות אחרות זמינות) - לוח פריצת USB מסוג HTC ל- G1 - ציוד הלחמה לשני חיבורים מהירים - גוף רובוט עם סרוו מיקרו (קרטון, אקריליק, דריכות, גלגלים, כל דבר יעשה) תוכנה: - סביבת סקריפט אנדרואיד (ASE) - לקוח Telnet למחשב האישי שלך (אני משתמש ב- PuTTY ב- Windows) - סביבת פיתוח Arduino - (אופציונלי) לקוח סידורי עבור המחשב האישי שלך (אני משתמש גם ב- PuTTY ב- Windows לשם כך) - (אופציונלי) Android SDK אם תוכל לעקוב אחר ההוראות תוכל להשלים הדרכה זו עם מעט ידע בפייתון, ארדואינו, אנדרואיד או אלקטרוניקה. אתה תרצה לדעת את הדברים האלה אם אתה רוצה לחרוג מנורית מהבהבת אבל זה יתחיל אותך.
שלב 2: אנדרואיד G1 עם פלט סידורי מופעל
G1's אינם שולחים את היכולת לשלוח פקודות טוריות מיציאת ה- USB ואין אפשרות מקורית להפעיל אותה. אם אתה משתמש אנדרואיד SDK מתקדם תוכל ליצור מבנה משלך אך בחרתי להשתמש ב- Cyanogenmod 4.2.13. אם ידוע לך על מכשירי אנדרואיד אחרים עם סידורי פועל, הוסף אותם להערות.
לחלופין, תוכל לעקוב אחר הקישורים שם למדריך זה בנושא שיחה עם ה- G1 שלך באמצעות USB מהמחשב. חיבור סידורי ל- USB אינו נדרש להדרכה זו, אך השתמשתי בו כבדיקת שפיות טובה כדי לוודא שהטלפון שולח החוצה סידורי. אם אינך משתמש באפשרות הניתנת להשגה האחרת כדי לוודא שהפלט הסידורי פועל, תוכל לנסות בדיקה פשוטה זו: 1. פתח את אפליקציית הטרמינל ב- G1 (מגיע עם ציאנוגן אך הורד אחד מהשוק אם יש לך תמונה אחרת) 2. נווט לספרייה/dev/על ידי הקלדת cd/dev/3. הקלד ls (זה L) וחפש ttyMSM2 ברשימה שהוחזרה סקריפט ה- Python שבה נשתמש שולח פקודות מאוחר יותר אל '/dev/ttyMSM2' ב- להורות להם לצאת מהחיבור הטורי. מכיוון שזה דורש גישה לשורש, יהיה עליך לשנות את ההרשאות לכך בכל פעם שאתה מפעיל את הטלפון מחדש. לשם כך: 1. פתח את אפליקציית הטרמינל בטלפון 2. הזן 'chmod 777 /dev /ttyMSM2' ואז תוכל להריץ את סקריפט ה- Python מהעריכה של Android Scripting בשלב הבא ותהיה לו גישה לשלוח פלט סדרתי.
שלב 3: התקן את סביבת ה- Scripting של Android (ASE) באמצעות Python
התסריטים שבהם נשתמש כדי ליצור חיבור שקע פתוח בטלפון ולשלוח פקודות החוצה כתוב ב- Python. כדי להפעיל את זה ב- G1 נצטרך את סביבת ה- Scripting של Android. אם אינך רואה אותו בשוק תוכל להוריד אותו על ידי סריקת הברקוד בדף זה המקשר לקובץ ה- apk בדף זה.
לאחר שתתקין ותפעיל את ASE תרצה להוסיף על מודול Python מהתפריט: 1. פתח את ASE וודא שיש לך חיבור אינטרנט פועל (wi-fi או 3G) 2. לחץ על לחצן התפריט בטלפון ובחר מתורגמנים 3. לחץ שוב על תפריט ובחר הוסף 4. בחר Python (כרגע v2.6.2 נכון לכתיבת זאת) וזה יוריד כמה קבצי zip שתרצה לבחון סקריפטים של יצירה, פתיחה, עריכה והרצה כדי להכיר את Python באמצעות ASE אבל זה לא חובה.
שלב 4: העתק והפעל את הסקריפט Cellbot.py להפעלת תוכנית Python
הדרכה זו משתמשת בתסריט של פייתון כדי להיות "המוח" של הרובוט. קבל את הקוד העדכני ביותר מפרויקט קוד הקוד שלנו של Google Code. אתה רק צריך את הקובץ cellbot.py אבל אחרים עשויים לעזור בדברים שונים שאתה רוצה לחקור. פשוט חיברתי את הטלפון לחיבור ה- USB של המחשב שלי והרכבתי את הכונן לפני העתקת הקובץ ל-/sdcard/ase/scripts.
התוכנית יוצרת חיבור שקע פתוח כדי לקבל הפעלת טלנט נכנסת. הוא גם מדפיס את הפקודות שהתקבלו למסך תוך שליחתן מהיציאה הטורית. שים קובץ זה בכרטיס ה- SD של הטלפון בספריית/ase/scripts/directory. שלבים מפורטים לטעון ולהריץ את הסקריפטים: 1. העתק את הסקריפט cellbot.py ל/ase/scripts/directory של כרטיס ה- SD 2. הקפד להוריד. את כרטיס ה- SD מהמחשב אם העתקת אותם כך מכיוון שהטלפון אינו יכול לגשת לקבצים במקביל למחשב האישי שלך. 3. פתח את האפליקציה Android Scripting Environment 4. לחץ על cellbot.py כדי להפעיל אותה אתה אמור לראות אישור שהמכשיר מוכן בשלב זה לקבל הפעלות טלנט נכנסות ביציאה 9002. טיפ: הקפד להפעיל את "chmod 777" /dev/ttyMSM2 "פקודה משלב מס '3 תחילה. עיין בשלב מס '5 למציאת כתובת ה- IP של הטלפון.
שלב 5: Telnet לתוך ה- G1 ובדיקת שליחת פקודות
הטלפון צריך להיות מוכן עבורך להתקשר אליו ולשלוח אליו פקודות מהמחשב האישי שלך. הוא ידפיס אותם למסך הטלפון כדי לאשר את מה שהוא מקבל. השתמשתי ב- PuTTY ב- Windows אך אישרנו ש- minicom עובד מצוין במחשבי מקינטוש כפי שמתואר בהוראה זו.
תחילה יהיה עליך למצוא את כתובת ה- IP של הטלפון שלך. זה זמין על ידי מעבר לתפריט> הגדרות> פקדים אלחוטיים> הגדרות Wi-Fi ולאחר מכן לחיצה על החיבור הפעיל כרגע. הודעת טוסט מוקפצת תעלה עם כתובת ה- IP הנוכחית ברשת המקומית. כתוב זאת כפי שתשתמש בו בכל פעם שתרצה לפתוח הפעלת טלנט מהמחשב האישי שלך. הקצאות IP בדרך כלל פוגות לאחר מספר ימים מסוים, כך שתצטרך לבדוק זאת שוב. הערה: הדרכה זו מניחה שהמחשב והטלפון שלך נמצאים באותה רשת מקומית. ניתוב לטלפון מחוץ לרשת המקומית צריך להיות אפשרי אך אינו מכוסה כאן. פתח את לקוח הטלנט המועדף עליך והתחבר ל- IP של הטלפון ביציאה 9002. משורת פקודה אתה עושה זאת כ- "telnet 192.168.1.1 9002" באמצעות ה- IP בפועל של הטלפון. הקלד כמה תווים ולחץ על Enter כדי לראות אותם מופיעים על מסך הטלפון. אתה יכול להקליד q כדי לגרום לסקריפט Python להיגמל, מה שאמור לסגור את הפגישה הטרמינלית שלך. אם מסיבה כלשהי אינך יכול להתחבר באמצעות telnet ואתה צריך להרוג את התוכנית, אתחול פשוט של הטלפון אמור לעשות את העבודה. משתמשים מתקדמים עשויים לרצות למצוא את מזהה התהליך באמצעות ps ולאחר מכן להשתמש ב- kill כדי לעצור אותו. מתקדם: גרסה עתידית של זה עלולה להריץ שרת אינטרנט מקומי מהטלפון במקום לקבל פקודות באמצעות telnet. אנו גם בוחנים את XMPP כדי לשוחח עם הרובוט שלך.
שלב 6: חבר מחליף רמה של 3.3V עד 5V ל- Arduino
ה- Arduino המשמש במדריך זה הוא דגם 5V ולכן עלינו להמיר את האות 3.3v היוצא מה- G1 באמצעות משמרת רמה. זה אמור להיות אפשרי להתחבר ישירות ל- Arduino 3.3v אבל זה לא היה משהו שבדקתי.
ישנן מספר דרכים להתייחס לכך, אך נשתמש בשבב 74LS04 בדוגמה זו. אתה יכול לחפש אחד כאן והם כנראה מתחת ל -1 $. טים ואני אספנו את שלנו מהאקר דוג'ו במאונטיין וויו, קליפורניה, אך אלה נפוצים מאוד וצריכים להיות בשפע בכל מקום שבו צ'יפס נמכר או נתרם. ברמה גבוהה אנו פשוט שולחים את אות ה- TX מלוח הפריצה USB מסוג HTS אל סיכה 1 של שבב 74LS04. כדי לגרום לזה לעבוד אנחנו עוברים על השבב פעמיים ויוצאים את סיכה 4 לסיכה RX של ה- Freeduino SB (הסיכה הסידורי שלך עשוי להיות שונה אם יש לך לוח אחר של Arduino אבל כולם צריכים לתמוך בזה). בצע את השלבים הבאים כדי לחבר את מחליק הרמות ולחבר את לוח ה- USB של HTC (אל תחבר אותו עדיין לטלפון ונתק את החשמל מהארדואינו): 1. הכנס את שבב 74LS04 ללוח הלחם שלך. וודא שהשבב מכשיל את המרכז לשבור כך שהסיכות לא יקצרו (מהלך מטופש שעשיתי בהתחלה) 2. חוטי שני חוטים ללוח ה- USB של HTC כמתואר בהנחיה זו, אך נשתמש רק בסיכות 7 (קרקע) ו- 8 (TX0) מכיוון שאנו עושים שידור חד כיווני בלבד להדרכה זו. 3. חבר את הקצה השני של חוט הקרקע (סיכה 7) לקרקע בלוח הלחם (שאמור להיות מחובר לקרקע על הארדואינו שלך) 4. חבר את הקצה השני של חוט TX0 (סיכה 8) ללוח הלחם שבו הוא נתקל בסיכה 1 של שבב 74LS04. (בצע חיפוש תמונות של תרשים מלא של השבב) 5. השתמש בחוט לחיבור סיכה 2 ו -3 של השבב 6. חבר את סיכה 4 של השבב לנקודת ה- RX של Arduino (סיכה 0 ב- Freeduino SB ו- Arduino Duemilanove) 7. חבר את סיכה 7 (GND) שבב לקרקע של לוח הלחם שלך (המתחבר גם לקרקע הארדואינו) 8. חבר את סיכה 14 (VCC) לחשמל 5V בלוח הלחם שלך (שמקבל את הכוח מהארדואינו פלט 5V) כעת אתה אמור להיות מוכן לחבר את לוח ה- USB-break-out של HTC לתחתית הטלפון ולהפעיל את ה- Arduino. בדוק אם יש ניצוצות וריחות וגע בדברים כדי לוודא שהם מגניבים. הערה: קוד הסלולר הנוכחי מדליק נורית #13 כאשר מנועי הסרוו של הרובוט אמורים לפעול. אם עדיין אין לך רובוט אתה יכול לבדוק אם הנורית נדלקת ולכבות כדי לאשר שהוא פועל.
שלב 7: טען את תוכנית Cellbots ב- Arduino
קבל את קוד המקור של Arduino מאתר הפרויקטים שלנו ב- Google Code. פתח את תוכנית Cellbots.pde Arduino בעורך Arduino. לאחר מכן דחוף אותו ללוח ה- Arduino שלך.
אתה יכול לבדוק דיבור עם קוד Arduino על ידי פתיחת הצג הטורי בעורך Arduino. זוהי דרך מצוינת לבדוק את הרובוט או המכשיר שלך על ידי שיחה ישירה עם הארדואינו לפני חיבור הכל לטלפון. הקוד שולח פקודות טוריות בחזרה לצג הסדרתי כדי לאשר מה הוא עושה גם אם עדיין לא בנה את הרובוט שלך. הערה: לא ניתן לטעון תוכניות על ה- Arduino בזמן שהחוט מחובר לפין הקלט הטורי RX. אז אולי תרצה לשים את המתג הזה אבל פשוט ניתקתי אותו מהחשמל כשהייתי צריך לטעון תוכנית חדשה.
שלב 8: הפעל את כל התהליך
אתה אמור להיות מסוגל לחבר את לוח ה- USB של HTC לטלפון, להפעיל את הקובץ cellbot.py ב- ASE ולפתוח הפעלות מסוף לטלפון. הקלד "H" כדי שהטלפון יגיד שלום או כל פקודה אחרת מהקובץ README.txt.
"Q" יעזוב את סקריפט ה- Python בטלפון ויסגור את שקע הטרמינל. להלן סיכום כיצד הכל עובד: 1. סקריפט ה- Python פותח שקע לקבלת חיבורי טלנט נכנסים והדהוד הפקודות החוצה מהיציאה הטורית 2..אנחנו מתחברים מהמחשב שלנו לטלפון באמצעות telnet ביציאה 9002 ושולחים לו פקודות שאנו רואים על המסך 3. לוח ה- HTS USB מתממשק עם יציאת ה- USB של G1 ושולח את האות 3.3v לפין 74LS04 1. 4. האות יוצא מהשבב על סיכה 2, חוזר על סיכה 3 ויוצא שוב על סיכה 4 ב -5 וו 5. הארדואינו שלנו מקבל את האות הטורי על פין 0 RX ומעבד אותו באמצעות התוכנית Cellbot.pde 6. אנו תוכל להקליד 'q' כדי להרוג את סקריפט Python ולסגור את חיבור הטלנט כעת לאחר שהשלמת את התהליך המסובך הזה מאוד לשלוח פקודות בסיסיות לרובוט ארדואינו, הגיע הזמן שתפרוץ אותו שיהיה מדהים יותר! עדיין אין לנו עבודה סדרתית דו-כיוונית כך שהארדואינו לא יכול לשלוח פקודות חזרה לטלפון אבל אנחנו עובדים על זה. הישאר מעודכן על ידי הרשמה לבלוג שלנו ב- Cellbots.com. אודות המחברים: טים הית 'חוקר מוביל שהרכיב לראשונה את התהליך הזה בחנות הטק שופ במנלו פארק, שם הוא חבר. מתכנת Ryan Hickman שעבד על קוד Python ו- Arduino וניהל את ההוראה הזו.
מוּמלָץ:
מגדל טיפוס עוזר לרובוט V1 - שליטה דו -רגליים, RF, BT עם אפליקציה: 22 שלבים (עם תמונות)
Tower Climb Helping Robot V1 - שליטה דו -רגליים, RF, BT עם אפליקציה: כשאני רואה לטאות על קירות אני מתכנן לעשות רובוט כמוהו. זהו רעיון לטווח ארוך, אני מחפש הרבה מאמרים אחר אלקטרו-דבקים ובודק בדרך כלשהי את כושר ההחזקה שלו. כרגע אני מתכנן לעשות את זה באמצעות אלקטרומגנט כדי
כיצד להפוך אדם לרובוט בעקבות ארדואינו: 3 שלבים
איך לגרום לאדם רובוט עוקב אחר עם ארדואינו: האדם עוקב אחר הרובוט וחושב אחרי האדם
עיצוב PCB לרובוט מבוקר סלולרי: 10 שלבים
עיצוב PCB עבור רובוט מבוקר סלולרי: עשיתי את הפרויקט הזה עוד בשנת 2012 כפרויקט הקטין שלי. פרויקט זה קיבל השראה מהצורך בשיטה לנטרול איומים ללא התערבות ישירה של בני אדם. זה היה הזמן שהמדינה שלי נפגעה קשות מאלימות שהניעה אותי להתפתח
IOT123 - הרכבת סדרת JIG סדרת תוכנת ATTINY85 SOFTW85: 4 שלבים
IOT123 - הרכבה של סדרת JIG של תוכנת ATTINY85 SOFTWARE: השתמשתי ב- ATTINY85 למעשי חיישנים בעלי הספק נמוך. במקור חשבתי שאין דרך לאתר באגים בשבבים אלה באמצעות קונסולה והשתמשתי בכמה " בחוץ " שיטות להציץ מה קורה בזמן ריצה. ואז נתקלתי ב- SoftwareSeria
תיקון תקלה בעיצוב קל עם סדרת 4300 - 5000 סדרת Dell: 5 שלבים
תיקון תקלה קלה בעיצוב עם סדרת Dell Dimension 4300 - 5000: אז אני מסתובב בתוך ממד ה- 5000 שלי ומחליט מה עלי לעשות בנוגע לשדרוגי RAM, מכיוון שהמעבד מהיר כפי שהוא ודס מובוסים אינם. ניתן לשעון יתר או שניתן לשנות אותו. שרפתי את ידי על גוף הקירור המסיבי של המעבד והר