עוד פרויקט שלא אגיע אליו: עוזר חכם ובית חכם

האם אתם רוצים מערכת כזו? התשובה מורכבת.

כן, זה נחמד לשבת בעצלנות על הספה ולהגיד "הי גוגל, תדליק לי דוד", או אפילו להדליק אוטומטית את הדוד ברגע שיצאתי מהעבודה ע"י נתינת קואורדינטות של המשרד ליישומון IFTTT ולתת לו להקשיב לGPS.

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

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

  1. יש מיקרופון והמחשב שמאזין לו, מנסה לבטל רעשי רקע ולהתמקד במה שעלול להיות דיבור.
  2. אח"כ תוכנה אחרת שבודקת אם זה אכן דיבור ומתרגמת אותו לטקסט. זה אולי הרכיב הכי מתוחכם במערכת ונחמד שיש אופציה או שתיים ברישיון חופשי (אבל כרגע אני די בטוח שזה עובד רק באנגלית, ולא יעבוד בעברית בקרוב. מקווה שלא תהיה בעיה עם זיהוי מבטא לא ילידי :)
  3. אחרי שיש לנו טקסט אפשר לפענח ממנו את הפקודה גם אם לא נאמרה בצורה תקנית אחת. כלומר "התראה עוד שעה" או "בבקשה כוון לי תזכורת בעוד שעה מעכשיו, תודה" הם שני משפטים שונים למדי אבל המחשב צריך לזהות את שניהם. הרכיב הזה והרכיב הקודם הם הרכיבים שקורים בענן של גוגל או אמאזון או מיקרוסופט שאותם אני רוצה להביא אל תוך הבית.
  4. בשלב הזה אפשר להפעיל מיני תוכנות וסקריפטים (מייקרופט למשל קוראים לזה "כשרונות" והקהילה פיתחה כבר כ-140 כאלו), כאן מגיעה ההתממשקות עם MQTT ורכיבי חומרת Sonoff השונים, או גישה לרשת כדי לדבר עם חשבון הגוגל שלכן כדי לבדוק איש קשר או לדחוף ארוע ליומן, וכיוצא באלו.
  5. לבסוף לאשר או להחזיר משוב למשתמש בצורת רכיב אחר שהופך תשובת טקסט לדיבור, מסנטזים כאלו יש הרבה בשוק – היה לי אפילו על אפפל ][ עם 64K זכרון, לצערי האיכות התפתחה מעט מאוד מאז בתוכנה פתוחה. מקווה שישתפר בעתיד.

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

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

  • יש ארגז כלים נאה (וחופשי! ופתוח!) ללינוקס, זה אומר שזה יכול לרוץ על התחנה הביתית שלי (שהיא גם שרת המדיה) או על מכשיר שיבנה סביב Raspberry Pi וישב עם מיקרופונים בסלון, מטבח, חדר שינה וכיוצא באלו. בצד המנשק האנושי יש את מייקרופט וכלים אחרים, בצד השליטה על Sonoff ורכיבים אחרים של בית חכם יש את Home Assistant, שיודע לעבוד גם עם גוגל הום, אלקסה ודומיהם.
  • עוד לא ברור לי אם הרספי מספיק חזק לנתח דיבור או שהוא צריך להיות מגובה במחשב חזק יותר או שרות מקוון. המטרה שלי בפרויקט היא כמובן לא להוציא פיפס מהבית לשרתים של אחרים, אז אני מתמקד ביכולות שנשארות על הרספי והמחשב הביתי.
  • אני אשמח אם המערכת תדע לזהות קולות שונים של בני הבית ולתת לכל אחד את התזכורות והתשובות שרלוונטיות אליו.
  • מלבד שליפת תשובות מהרשת ולענות על שעה ומזג אוויר, רצוי לבדוק התממשקות לבית חכם. השם הפופולארי בתחום הוא Sonoff, ששולט על כיבוי והדלקה של קווי חשמל 220V, 10A או 16A. יש מכשירים עם דימר, חיישן חום ולחות או הרחבות אחרות. יש התקנים ששולחים IR כדי לשלוט על טלוויזיה או מזגן וכולי.
  • למה Sonoff? הם זולים, זמינים בעלי אקספרס ובכל מקום, ויש להם כמה וכמה קושחות פתוחות ברשת. כשקונים אותם מקבלים אותם עם קושחה שמכוונת לדבר עם שרתי החברה, שזה כמובן BIG nono בסיסי בשבילי, אבל עם קצת מאמץ צורבים קושחה חלופית ותופסים פיקוד.
  • יש פרויקט הפצת עדכוני קושחה לכל הבית החכם בעזרת כלי בשם Resin, אם אתם עוסקים באוטומציה לעננים, אומרים לי שזו המקבילה לPuppet או Chef לעולם ה־IOT.
  • כדי לדבר עם כל ההתקנים האלו, קיים תקן MQTT, שזה מעין שרת תורים מפושט. הפיקוד משאיר להתקן הודעה בתיבת הדואר וההתקן בא לאסוף. שרת MQTT שכזה יכול לרוץ מקומית (למשל בשרת Home-Assistant על הרספי) או ברשת למי שרוצה לעשות את כל זה בממשק על Google Home בלי להתקין סייען פתוח.

קריאה לעומק של תשובות מייקרופט לתומכי הקיקסטארטר ושל תנאי הפרטיות שלהם שכנעה אותי שהם לא עומדים בדרישות הפרטיות שלי בתצורה הנוכחית שלהם. בגדול הם "מתכננים" גרסא מקומית של רכיב ה־STT (דיבור לטקסט) שתרוץ על מחשב לינוקס או חלונות אבל זה עוד לא שם, ובתלות ברכיב שיבחרו, יכול להיות שזה ידרוש GPU חזק כדי לבצע את הניתוח בצורה מהירה ככל הניתן. מנתח ה־STT הנוכחי שלהם לא מספיק טוב והחדש שיכנס בסוף החודש צריך הרבה יותר כוח מחשוב. אז  כדאי לחכות. בעתיד זו תהיה אפליקציה או תמונת Docker מוכנה שנוכל להריץ על שרת PC כעזר לרספברי בלי להסתמך על שרתי החברה.

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