Alexa Pi -הענק לפאי שלך בינה מלאכותית

Alexa PI - Techblog - Install Amazon Echo on raspberry pi

 Alexa Pi

עלייתם של ממשקי קול ואינטליגנציה מלאכותית הם אולי הדבר המעניין ביותר בעולם של המחשוב המודרני היום. במדריך זה נלמד על פרויקט פשוט ומהנה אותו תוכל ליישם ללא צורך ברכיבים נוספים (למעט מיקרופון ורמקולים). פרוייקט Alexa Pi יאפשר ל Raspberry Pi לדבר איתך! ובו נעשה שימוש ב Alexa Voice Service (AVS). מדריך זה יסייע לך ללמוד ולהבין קצת יותר את הבסיס והקונספט העומדים מאוחרי הבינה המלכאותית.

** היות בפאי אין חיבור סטנדרטי למיקרופון נעשה שימוש במיקרופון USB ***

 פתיחת חשבון מפתח אמזון

במידה ואין לך חשבון מפתח באמזון, כנס לכתובת הבאה: https://developer.amazon.com/ , אמת את החשבון באמצעות הקישור שישלח אליך במייל וסיימת את החלק הראשון.

בשלב הבא נתחבר ל Developer Console:

Amazon Developer - Login or Register

כעת נכנס לטאב של Alexa שממוקם בסרגל העליון:

Alexa Pi - Alexa Tab

כעת נבצע רישום של המכשיר (פרוייקט) אל מול השרותים של אמזון, לצורך זה נלחץ על Register a Product Type ונבחר ב Device.

Alexa Pi - Register your Device

 

כעת נרשום מכשיר חדש ונגדיר את הסוג שלו ונלחץ על הבא:
Device Type ID – מזהה פשוט של המכשיר (שם כללי)
Display Name –
שם תצוגה של המכשיר בלוח הבקרה של אמזון.

 

כעת נבחר . ניצור את פרופיל האבטחה בו נשתמש עבור המערכת, לצורך כך לחצו על תיבת הבחירה ובחרו ב Create New Profile:

TechBlog - Tomer Klein - Alexa Pi - Set security profile

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

  • Security Profile Name: Alexa Voice Service Sample App Security Profile
  • Security Profile Description: Alexa Voice Service Sample App Security Profile Description

Alexa Pi - Security profile info

לאחר הלחיצה על Next המערכת תפיק עבורנו Client Id וכן Client Secret.

כעת נעבור לטאב של Web Settings, נבחר את פרופיל האבטחה ונלחץ על Edit:
Alexa Pi- Profile web settings

Allowed Origins – לחץ על add another והכנס את הכתובת הבאה: https://localhost:3000

Allowed Return URLs – לחץ על add another והכנס את הכתובת הבאה: https://localhost:3000/authresponse

Alexa Pi - Allowed Origins - TechBlog

בשלב הבא: 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".
 Alexa-Pi-Select-a-Security-Profileכעת נתבקש להקליד כתובת של מדיניות הפרטיות שלנו. ניתן להכניס כתובת פקטיבית, לדוגמה 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

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

EchoPi - update automated_install script

בשלב הבא נתבקש לבחור את שפת העבודה מבין מספר אפשרויות. בחרו ב en-us.

לאחר מכן נתבקש לבחור את היציאה שתשמש עבור חיבור הרמקולים, בחרו את המתאימה לכם, האפשרויות הן:

  1. HDMI
  2. 3.5mm jack speaker (יציאת סאונד סטנדרטית)

בשלב הבא נתבקש לומר האם אנחנו רוצים להשתמש במנוע Wakeup Word. היות ואנחנו רוצים שהמערכת תפעל כמו Amazon Echo נאשר את השאלה על ידי y ולאחר מכן נלחץ על אנטר וההתקנה תחל לרוץ.
ההתקנה תארך זמן מה.

הגדרת המערכת אל מול שרתי אמזון

כעת כאשר ההתקנה הסתיימה כל שנותר לנו הוא לסיים את הגדרת ה Alexa Pi שלנו והפעלת המערכת. לצורך כך נבצע את הפעולות הבאות.

התחברו למכשיר הפאי באמצעות vnc, הפעילו את חלון הטרמינל והקלידו את הפקודות הבאות:

cd /opt/alexa-avs-sample-app/samples/companionService
npm start

במידה והשרות אותחל כראוי נקבל מסך שנראה כך:

Alexa Pi - Companion Service

כעת פתחו חלון טרמינל במקביל וכתבו את הפקודות הבאות אשר יפעילו אפליקציה מבוססת Java שתשמש לאימות מול אמזון:

cd /opt/alexa-avs-sample-app/samples/javaclient
mvn exec:exec

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

Echo Pi - Register or Authenticate

בשלב הבא יפתח הדפדפן ותקבלו הודעת אזהרה. לחצו על Advanced Options ואפשרו את הגלישה אל הכתובת

 Echo Pi - allow unsafe browsing

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

Echo Pi - Login to amazin devrloper account

ולאחר מכן נלחץ על Okay:

Echo Pi - Confirm Authentication

אחרי שנראה בחלון כי ה TOKEN עבור המכשיר מוכן נוכל ללחוץ על OK בחלון השני שקפץ מאפליקציית ה JAVA בתחילת התהליך:

Alexa Pi - Tecgblog.co.il

לבסוף ולאחר שסיימנו את ההתקנות נפעיל את מנוע מילת ההערה "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

שימוש מהנה…

 

4 Comments

Leave a Reply

כתובת האימייל שלך לא תפורסם


*