BinaryVision

פיתוח Mokonnect

מאת בתאריך 05/06/09, תחת כללי

מבוא

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

קווים מנחים

כמובן שלא מתחילים לכתוב תוכנה בלי שיודעים איזה בעיות היא צריכה לפתור, ואיזה אפשרויות צריך שיהיה לה…

  • שימוש קל כשרוצים לעשות משהו פשוט
  • אפשרות לשימוש בכל אחת משיטות החיבור
  • שימוש מתקדם אפשרי למי שרוצה בכך
  • אפשרות לשמור מצבים ולהחליף ביניהם בצורה מהירה

Mockup

תמונות שציירתי עוד לפני שהתחלתי לפתח (כדי לראות איך זה יראה, ואם זה נוח לשימוש):

מסך ראשי

מסך ראשי


רשת USB

רשת USB


Wifi

Wifi


ניתוב

ניתוב

שיטות שימוש

התחברות לרשת אלחוטית פעם אחת

פותחים את התוכנה, לוחצים על Wifi, מכוונים את ההגדרות, לוחצים על Apply, מחכים שהוא יתחבר ויציג פלט, ויוצאים מהתוכנה

התחברות לרשת אלחוטית יותר מפעם אחת

פותחים את התוכנה, לוחצים על Wifi, מכוונים את ההגדרות, לוחצים על Apply, מחכים שהוא יתחבר ויציג פלט, בתפרטי הראשי מסמנים את Wifi, ולוחצים על Save Profile, כותבים את שם הפרופיל ותיאור קצר, שומרים ויוצאים.
בפעם הבאה שנכנסים ורוצים להתחבר לאותה רשת, לוחצים פשוט על Select Profile בוחרים את שם הפרופיל וזה עושה הכל לבד.

התחברות לGPRS וניתוב האינטרט לחיבור USB

פותחים את התוכנה, מגדירים את החיבור USB, לוחצים Apply, כנ"ל גם החיבור GPRS, לוחצים Apply,
הולכים לRoute, מגדירים שם מי החיבור הראשי, מאיפה לוקחים DNS, ומי נמצא בNAT וכאלה, לוחצים Apply,
בתפריט הראשי שומרים את הפרופיל, ופעם הבאה ההגדרות האלה יהיו במרחק בחירת פרופיל מתוך רשימה.

סביבת פיתוח

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

סביבת הפיתוח

סביבת הפיתוח

  • VMWare Workstation – כי זה מהיר מאד בWindows, ונוח…
  • Slackware 12.2 – אם יש כלי פיתוח כלשהו שצריך ומשתמשים בו בעולם, אז הוא קיים בהתקנה הבסיסית של Slackware.

דברים שהתקנתי ובעיות שפתרתי:

  • Enlightment DR17 – החדש שהמוקו מריץ (בעזרת סרקריפט easy_e17.sh שלוקח לו שנים לרוץ)
  • Illume-SHR Profile – ערכת נושא והגדרות לillume (מתוך הGIT של הפרוייקט)
  • הגדרת DPI נכונה – ההגדרה צריכה להיות פי 2 יותר קטנה מהDPI הנוכחי. (בתוך הX11 כבר)
  • e17 Python Bindings – אני רוצה לבנות את התוכנה בPython (מתוך המקור של e17)

עכשיו יש לי סביבת פיתוח שמדמה איך הדברים יראו ובערך יעבדו המוקו.

התקדמות

תמונת מסך: מסך ראשי

תמונת מסך: מסך ראשי


מי שרוצה לראות את הקוד בצורה יפה: http://code.assembla.com/shrdev/subversion/nodes/Mokonnect/trunk
קישור לSVN למי שרוצה: http://subversion.assembla.com/svn/shrdev/Mokonnect/trunk
כפי ששמתם לב אני משתמש בAssembla לצרכי שמירת הקוד שלי, ואולי גם אשתמש בWiki שם לצורך תיעוד.
בכל מקרה המצב של הקוד כרגע לא משהו.
יש GUI, בערך קרוב למה שתכננתי, ויש גם את ההגדרות של USB Network,
כל השאר לא פעיל בינתיים.
בתוך ההגדרות של USB Network, אני נלחם עם Apply בצורה חכמה,
תמונת מסך: USB

תמונת מסך: USB


כך שבזמן שאני עושה פעולות הוא לא יתקע את הGUI ויעדכן אותו עם הודעות התקדמות.
זה יותר קשה משציפיתי בגלל שהToolkit לא תומך בThreads יותר מדי.
בכל מקרה, עד כאן להיום.

תשאירו תגובות, הערות, הצעות לשיפור, או בכלל אם יש לכם משהו להגיד.

:, , , ,
9 תגובות:
  1. spdr

    אחלה פוסט\GUI 🙂 מקווה שיצא לי להשתמש בה בקרוב

  2. TAsn

    פייט, אם אני לא טועה יש ב elementary פעולות לא סינכרוניות, תשאל בIRC שלהם, אני 99% בטוח, יש בחור בשם dos1 בערוץ של המוקו, תשאל אותו.

    חוץ מזה, הכל נראה מעולה 🙂 מחכה לזה.

    ד"א, ברור שלסקריפט הזה לוקח שנים, הוא מקמפל מ 0 את כל e17 והספריות שלו, ועוד קימפלת בתוך ה vm, אז בכלל…

  3. guest

    מה עם EXEDA של COMPULAB ?
    האם מכיר ?
    יש כבר גירסת LINUX ?
    תוצרת הארץ !!!

  4. Fate

    פעם ראשונה שאני שומע על Exeda.
    זה לא נראה כמו משהו מוכר יותר מדי….
    גירסת לינוקס?

  5. TAsn

    לא מוכר בכלל (Exeda) אבל נראה חמוד (ממה שראיתי)
    קצת חבל שאין טאץ (בנוסף למקלדת) העכבר נראה קצת מסורבל… וגם, לא ראיתי usb-host שזה ממש חבל ואחד מהפיצרים הטובים של המוקו.

    אבל, עוד פלאפון קוד פתוח הרי זה מבורך 🙂

  6. קינן

    איך אני משיג עברית לניאו? באיזה רשת אתה עובד איתו? (900\1800\1900?

  7. Fate

    בקשר לעברית, תדבר עם TAsn, זה גם תלוי בהפצה שמשתמשים בה.
    ובקשר לGSM, בארץ זה 900\1800…
    http://www.worldtimezone.com/gsm.html

  8. קינן

    A7..פשוט עברתי קצת על הwiki שלהם ויש להם הרבה חורים במידע.
    אתה משתמש במוקו או באנדרויד כמערכת הפעלה ?

  9. Fate

    אני משתמש בSHR.

השאר תגובה

מחפש משהו?

תשתמש בטופס למטה כדי לחפש באתר: