Alexa Pi
עלייתם של ממשקי קול ואינטליגנציה מלאכותית הם אולי הדבר המעניין ביותר בעולם של המחשוב המודרני היום. במדריך זה נלמד על פרויקט פשוט ומהנה אותו תוכל ליישם ללא צורך ברכיבים נוספים (למעט מיקרופון ורמקולים). פרוייקט Alexa Pi יאפשר ל Raspberry Pi לדבר איתך! ובו נעשה שימוש ב Alexa Voice Service (AVS). מדריך זה יסייע לך ללמוד ולהבין קצת יותר את הבסיס והקונספט העומדים מאוחרי הבינה המלכאותית.
** היות בפאי אין חיבור סטנדרטי למיקרופון נעשה שימוש במיקרופון USB ***
פתיחת חשבון מפתח אמזון
במידה ואין לך חשבון מפתח באמזון, כנס לכתובת הבאה: https://developer.amazon.com/ , אמת את החשבון באמצעות הקישור שישלח אליך במייל וסיימת את החלק הראשון.
בשלב הבא נתחבר ל Developer Console:
כעת נכנס לטאב של Alexa שממוקם בסרגל העליון:
כעת נבצע רישום של המכשיר (פרוייקט) אל מול השרותים של אמזון, לצורך זה נלחץ על Register a Product Type ונבחר ב Device.
כעת נרשום מכשיר חדש ונגדיר את הסוג שלו ונלחץ על הבא:
Device Type ID – מזהה פשוט של המכשיר (שם כללי)
Display Name – שם תצוגה של המכשיר בלוח הבקרה של אמזון.
כעת נבחר . ניצור את פרופיל האבטחה בו נשתמש עבור המערכת, לצורך כך לחצו על תיבת הבחירה ובחרו ב Create New Profile:
כאן נמלא שם ותיאור עבור פרופיל האבטחה החדש שיצרנו ונלחץ על הבא, לדוגמה:
- Security Profile Name: Alexa Voice Service Sample App Security Profile
- Security Profile Description: Alexa Voice Service Sample App Security Profile Description
לאחר הלחיצה על Next המערכת תפיק עבורנו Client Id וכן Client Secret.
כעת נעבור לטאב של Web Settings, נבחר את פרופיל האבטחה ונלחץ על Edit:
Allowed Origins – לחץ על add another והכנס את הכתובת הבאה: https://localhost:3000
Allowed Return URLs – לחץ על add another והכנס את הכתובת הבאה: https://localhost:3000/authresponse
בשלב הבא: Device Details נמלא פרטים כלליים:
Image – תמונה אותה ניתן להעלות מהמחשב
Category – אחר
Description – תאור כללי
Do you have plans to make your product available to the general public – לא.
ונלחץ על Next.
הפעלת פרופיל האבטחה:
בשלב ראשון יש לפתוח את הדפדפן ולהכנס לכתובת הבאה: https://developer.amazon.com/lwa/sp/overview.html
בראש הדף יש לבחור את פרופיל האבטחה אותו יצרנו וללחוץ על "Submit".
כעת נתבקש להקליד כתובת של מדיניות הפרטיות שלנו. ניתן להכניס כתובת פקטיבית, לדוגמה www.example.com ונלחץ על שמור.
לצד פרופיל האבטחה של יישום האבטחה של Alexa Voice, לחץ על Show client id and client Secret. פעולה זו תציג את ה Client Id וה- Client Secret. שמור ערכים אלה בצד, אנו נשתמש בהם בשלב התקנת המכשיר.
הכנת המכשיר והתקנת הרכיבים הנחוצים עבור הפעילות התקינה שלה:
תחילה נוריד את ה image העדכני של מערכת ההפעלה מכאן: https://downloads.raspberrypi.org/raspbian_latest חשוב מאוד להוריד את זו עם ה Desktop כי נזדקק לסביבת שולח העבודה עבור סיום ההתקנה וההגדרות.
את הקובץ יש לצרוב על ה Sd card.
שימו לב כי על מנת לאפשר חיבור באמצעות SSH יש ליצור בתיקיית ה root קובץ בשם ssh ללא סיומת.
כעת הכניסו את הכרטיס למכשיר הפאי שברשותכם והפעילו אותו.
על מנת להמשיך יש לשכפל את הפרוייקט מ github על ידי הפקודה הבאה:
cd /opt git clone https://github.com/alexa/alexa-avs-sample-app.git
לאחר מכן נכנס לנתיב שאליו שכפלנו את הפרוייקט ולפני ההתקנה שלו יש לעדכן מספר פרמטרים:
cd /opt/alexa-avs-sample-app nano automated_install.sh
החליפו את הערכים הבאים בערכים האמיתיים אשר יצרנו בשלשב הראשון של המדריך:
Replace YOUR_PRODUCT_ID_HERE with the Device Type ID.
Replace YOUR_CLIENT_ID_HERE with your Client ID.
Replace YOUR_CLIENT_SECRET_HERE with your Client Secret.
לחצו על Ctrl+x ואז על y על מנת לשמור את השינויים ולצאת מהעורך.
כעת התחברו לפאי באמצעות vnc, פתחו את חלון הטרמינל והריצו את סקריפט ההתקנה:
cd /opt/alexa-avs-sample-app automated_install.sh
במהלך הריצה של סקריפט ההתקנה תשאלו מספר שאלות על מנת לאשר את הפרטים שהזנתם. פשוט עקבו אחריהן ותאשרו בהתאם.
בשלב הבא נתבקש לבחור את שפת העבודה מבין מספר אפשרויות. בחרו ב en-us.
לאחר מכן נתבקש לבחור את היציאה שתשמש עבור חיבור הרמקולים, בחרו את המתאימה לכם, האפשרויות הן:
- HDMI
- 3.5mm jack speaker (יציאת סאונד סטנדרטית)
בשלב הבא נתבקש לומר האם אנחנו רוצים להשתמש במנוע Wakeup Word. היות ואנחנו רוצים שהמערכת תפעל כמו Amazon Echo נאשר את השאלה על ידי y ולאחר מכן נלחץ על אנטר וההתקנה תחל לרוץ.
ההתקנה תארך זמן מה.
הגדרת המערכת אל מול שרתי אמזון
כעת כאשר ההתקנה הסתיימה כל שנותר לנו הוא לסיים את הגדרת ה Alexa Pi שלנו והפעלת המערכת. לצורך כך נבצע את הפעולות הבאות.
התחברו למכשיר הפאי באמצעות vnc, הפעילו את חלון הטרמינל והקלידו את הפקודות הבאות:
cd /opt/alexa-avs-sample-app/samples/companionService npm start
במידה והשרות אותחל כראוי נקבל מסך שנראה כך:
כעת פתחו חלון טרמינל במקביל וכתבו את הפקודות הבאות אשר יפעילו אפליקציה מבוססת Java שתשמש לאימות מול אמזון:
cd /opt/alexa-avs-sample-app/samples/javaclient mvn exec:exec
פעולה זו תפתח חלון ותבקש לבצע אימות דרך הדפדפן. לחצו על yes על מנת שהמערכת תפתח את הדפדפן. הודעה נוספת תקפוץ ובה תתבקשו ללחוץ על OK, ניתן להתעלם ממנה כרגע.
בשלב הבא יפתח הדפדפן ותקבלו הודעת אזהרה. לחצו על Advanced Options ואפשרו את הגלישה אל הכתובת
כעת נתבקש להתחבר עם שם המשתמש והסיסמה לשרותי אמזון (אותם פרטים בהם השתמשנו עבור הקמת החשבון בחלק הראשון של המדריך).
ולאחר מכן נלחץ על Okay:
אחרי שנראה בחלון כי ה TOKEN עבור המכשיר מוכן נוכל ללחוץ על OK בחלון השני שקפץ מאפליקציית ה JAVA בתחילת התהליך:
לבסוף ולאחר שסיימנו את ההתקנות נפעיל את מנוע מילת ההערה "Wakeup Word". לצורך כך נפתח חלון טרמינל חדש ונכתוב את הפקודות הבאות:
cd /opt/alexa-avs-sample-app/samples/wakeWordAgent/src ./wakeWordAgent -e kitt_ai
זהו, הכל מוכן. טוב כמעט (: כל שנשאר הוא להכין סקריפט קטן שידאג ש Alexa תדלק ביחד עם הפאי. על מנת לעשות זאת ניצור את הקובץ הבא:
nano /home/pi/alexa_startup.sh
ונכתוב לתוכו את השורות הבאות:
#!/bin/bash lxterminal -t "NPM" --geometry=40x2 --working-directory="/opt/alexa-avs-sample-app/samples/companionService" -e "npm start " & sleep 15 lxterminal -t "JVM" --geometry=40x2 --working-directory="/opt/alexa-avs-sample-app/samples/javaclient" -e "sudo mvn exec:exec" & sleep 30 lxterminal -t "WAKE" --geometry=40x2 --working-directory="/opt/alexa-avs-sample-app/samples/wakeWordAgent/src" -e "./wakeWordAgent -e kitt_ai" &
ונלחץ Ctrl+x ולאחריו y על מנת לשמור את השינויים ולסגור את העורך.
ונעניק לקובץ הרשאות Execute:
chmod 755 /home/pi/alexa_startup.sh
כעת נעדכן את סקיריפט העליה של LXDE’s (Raspbians desktop):
nano /home/pi/.config/lxsession/LXDE-pi/autostart
אתרו את השורה הבאה:
@xscreensaver -no-splash
והחליפו אותה עם השורה הבאה:
#@xscreensaver -no-splash
כעת הוסיפו מתחתיה את השורה הבאה:
@/home/pi/alexa_startup.sh
הקובץ אמור להראות כך:
@lxpanel --profile LXDE-pi @pcmanfm --desktop --profile LXDE-pi #@xscreensaver -no-splash @/home/pi/alexa_startup.sh @point-rpi
כעת לחצו Ctrl+x ולאחריו y על מנת לשמור את השינויים ולסגור את העורך.
ולבסוף הקישו את הפקודה הבאה לצורך אתחול המכשיר:
sudo reboot
שימוש מהנה…
לאן חיברת את המיקרופון?
צודק, שכחתי לציין.
השתמשתי במיקרופון USB פשוט (עולה כ 20-25ש"ח)
האם אתה חושב שזה יכול לעבוד על רפסברי פאי 1?
האמת לא ניסיתי,
לדעתי לא אמורה להיות בעיה