אינטל מראה שהיא אינה אדישה לקהילת המייקרים הגדלה ומציגה לוח פיתוח המשלב את יכולות הארדואינו ביחד עם יכולות חדשות וסביבות פיתוח מרובות
בשנת 2013 אינטל הציגה לראשונה את הלוח Galileo שהכיל מעבד 32 ביט בארכיטקטורה של x86, על בסיס הטכנולוגיה של מעבדי הפנטיום והראשון שהוסמך ע"י Arduino.
לוח ה-Galileo של חברת אינטל פונה בעיקרו לקהילת המייקרים ההולכת וגדלה בארץ ובעולם.
הוא מציע את רוב היתרונות של לוח ה-Arduino ובנוסף מאפשר להריץ מערכת הפעלה כגון לינוקס, בדומה ל-Raspberry Pi ולאחרונה גם חלונות, דבר המעניק למפתח מגוון רחב מאוד של אפשרויות שלא היו קיימות בלוחות פשוטים כדוגמת ה-Arduino.
Galileo 2 הוא הלוח השני בסדרה ואינו מציע שיפור בביצועי המעבד אלא בא לתקן ולשפר מספר נושאים מהגרסה הקודמות לדוגמת תמיכה ספקי מתח בטווח של 7v-15v, שינוי פיזי של חיבור RS232 ממחבר אוזניות 3.5mm לחיבור נפוץ יותר, PoE (ר"ת Power over Ethernet) ועוד.
מה באריזה?
במבט ראשוני על הלוח נוכל לראות שחיבורי הפינים תואמים לחיבורים בלוח ה-Arduino ומאפשרים שימוש בלוחות ההרחבה ל-Arduino (המכונים Arduino Shields).
בין הפינים נוכל לראות את מעבד ה Quark של אינטל. מעבד 32 ביט בעל ליבה אחת במהירות 400MHz המסוגל להריץ יישומי x86. לצד המעבד מצויים שני זיכרונות DDR3 בנפח כולל של 256MB.
חיבור רשת במהירות של 10/100 Mbps התומך ב-PoE המאפשר את הספקת החשמל ללוח ע"ג חיבור הרשת (בהנחה שיש לכם את הציוד המתאים "להזריק" מתח לכבל הרשת) ובכך מאפשר למקם את הלוח במקומות בהם אין לכם שקע חשמל זמין.
הלוח גם מכיל חיבור Mini PCIe x1 המאפשר חיבור של כרטיסי סלולר, WiFi, Bluetooth וכן חיבור USB Host 2.0 לחיבור של התקנים שונים כגון מצלמה, מקלדת, עכבר וכו'.
כניסות ויציאות
בדומה ללוח הארדואינו גם כאן נוכל למצוא את הסידור הסטנדרטי של הפינים כאשר:
- פינים 0 ו 1 משמשים לתקשורת סריאלית
- פינים 0 – 13 כניסות / יציאות דיגיטליות עם תמיכה ב 3.3v או 5v כאשר הזרם המקסימלי הוא 16mA עבור מתח של 5v ו 8mA עבור מתח של 3.3v
- פינים 3,5,6,9,10,11 בעלי יכולת PWM (ר"ת Pulse Width Modulation) ברזולוציה של 8/12bit אשר ניתן להגדרה בקוד.
- פינים A0-A5 כניסות אנלוגיות ברזולוציה של 10/12bit גם כן ניתנים להגדרה בקוד.
- SPI לתקשורת סריאלית מהירה באמצעות חיבור ICSP
- SDA ו SCL עבור פרוטוקול התקשורת I2C
עולם האינטרנט של הדברים (IoT – Internet of Things) מתפתח ותופס תאוצה בשנה-שנתיים אחרונות בזכות חומרה זולה הן במחיר והן בצריכת החשמל, מה שמאפשר לחבר לאינטרנט מוצרים רבים וליצור בית חכם או לנטר סנסורים מרחוק.
Galileo 2 מאפשר חיבור מהיר ופשוט לרשת האינטרנט אם באמצעות כניסת הרשת הקווית עליו או בעזרת כרטיס הרחבה נוסף של WiFi או סלולר.
הלוח מאפשר פיתוח במגוון רחב של כלים ושפות, כך שהוא מתאים לקשת רחבה מאוד של מפתחים בין אם מדובר במפתח חובב שיודע ומכיר רק את סביבת Arduino או בין אם מדובר במפתח מתקדם המסוגל לשלב מספר יכולות בהן Python, JavaScript with Node.js, C++, C# ועוד.
Out of the box הלוח תומך באופן מלא בסביבת הפיתוח של Arduino כאשר יש צורך להוריד סביבה מתאימה ללוחות אינטל. את הסביבה ניתן להוריד ישירות מהאתר של אינטל.
הגרסה הנוכחית 1.5.3, מתאימה כמובן לכל מערכות ההפעלה בדומה לגרסה המקורית.
סיפריית ההרחבה Ethernet תומכת בכרטיס הרשת הנמצא על הלוח ללא כל שינוי וכן סיפריית SD מאפשרת גישה כרטיס ה-microSD על הלוח.
בעזרת הסיפרייה USBHost ניתן להשתמש בחיבור ה-USB המובנה כדי לקרוא פקודות מקלדת/עכבר המחוברים אליו.
במידה ומערכת הפעלה כלשהי רצה על הלוח (בעזרת כרטיס microSD) ניתן להשתמש בפקודה system() כדי להריץ תוכנות ישירות ממערכת ההפעלה.
לדוגמא הצגת הנתונים של כרטיס הרשת על גבי ה Serial Monitor בעזרת פקודה פשוטה: system(כ"ifconfig eth0 > /dev/ttyGS0"); שולחת את הפלט ישירות לפורט הסריאלי של הלוח.
בעמוד ה IoT של אינטל ניתן למצוא כלים, מדריכים וקוד.
כדי לנצל את כל יכולות הלוח יש להתקין עליו מערכת הפעלה המותאמת למערכות משובצות מחשב (Embedded System). אינטל יצרה בעזרת פרויקט Yocto גרסת לינוקס מותאמת ללוח המכילה כבר מספר כלי פיתוח ו API מותקנים מראש.
את ה-Image ניתן לפרוס על כגבי כרטיס microSD. כאשר הלוח יופעל עם הכרטיס בתוכו הוא יזהה אותו וינסה לעשות ממנו בוט. אם ה-Image נפרס בהצלחה מערכת ההפעלה תעלה.
היות וללוח אין יציאת וידיאו כלשהי לא ניתן לחבר אותו למסך, לשם כך יש צורך להשתמש בכבל USB to TTL ולחבר אותו לפינים המיועדים לכך הנמצאים בסמיכות לחיבור הרשת.
שימוש בתוכנת טרמינל פשוטה כגון PuTTY תאפשר לכם לראות מה מתרחש בזמן העלייה של הלוח.
אפשרות נוספת היא לחבר את הלוח לרשת הביתית בעזרת כבל רשת ולהמתין עד שהלוח יופיע ברשימת המחשבים בנתב שלכם. לאחר מכן ניתן יהיה לגשת למערכת ההפעלה בעזרת חיבור ssh גם כן בעזרת PuTTY.
Intel XDK IoT Edition
סביבת פיתוח זו מאפשרת לכתוב אפליקציות ב-JavaScript אשר ירוצו על גבי שרת Node.js בלוח.
הקמת הסביבה פשוטה מאוד ודורשת יצירת חשבון משתמש.
הסביבה מציע מספר דוגמאות קוד בסיסיות איתן ניתן להתחיל לפתח.
ניתן לפתח יישומים המשלבים קריאת נתונים מהסנסורים, יצירת תקשורת מול שרותי ענן או מכשירים ניידים, הרצת יישומים ועוד.
הסביבה נוחה ופשוטה לפיתוח וניתן להגיע לתוצאות מהר מאוד.
Wyliodrin
סביבת פיתוח גראפית דומה ל-scratch המוכרת מלוחות ה-Raspberry Pi.
הסביבה מאפשרת פיתוח באמצעות הדפדפן. זהו כלי מצוין עבור משתמשים מתחילים ולמי שרוצה להשיג תוצאות במהירות.
בנוסף ניתן להוריד את סביבת הפיתוח של Eclipse המכילה כבר API ב C++ לפיתוח עבור Galileo.
שחקן חדש במגרש: Windows for Devices
מיקרוסופט הבינה שהעולם נע לכיוון IoT ולא נשארה אדישה לנושא.
החברה מציעה תוכנית פיתוח עבור IoT ולאחר הרשמה קצרה ניתן להוריד Image המכיל גרסת חלונות מותאמת ל-Galileo. התקנת תוסף ל-Visual Studio מאפשר פיתוח עם אפשרויות Debug בזמן הריצה ישירות מסביבת הפיתוח.
מכיוון שמדובר על חלונות 32 ביט לכל לדבר ניתן לפתח ולהריץ תוכנות המיועדות לחלונות (ללא GUI) בסביבת דוט נט.
באתר ניתן למצוא מספר דוגמאות עבור Galileo ואף מדריך להתקנת Node.js במערכת ההפעלה שלהם עבור משתמשים המעוניינים לנצל את יכולות מערכת ההפעלה חלונות והפשוטות של JavaScript.
הטוב
- תאימות לקוד Arduino סטנדרטי
- יכולת הרצת יישומי x86 עבור לינוקס וחלונות
- מגוון רחב של יכולות פיתוח
- מידע רב על הפלטפורמה ישירות מאינטל ומקהילת המפתחים
- תמיכה בהתקנים חיצוניים רבים
הרע
- מחיר גבוה יחסית ללוחות הנפוצים בשוק (באזור ה 69$)
- מעבד חלש יותר מלוחות מתחרים
- גודל פיזי (פי 2+ מלוח ארדואינו / פי 1.8 מ Raspberry Pi)