هذا برنامج تعليمي يوضح لك كيفية جعل جهاز Google Home الخاص بك يقرأ أحدث بريد صوتي من Google Voice باستخدام Tasker وAutoWeb وAutoVoice.
عندما تم إصدار Google Home لأول مرة، كان (ولا يزال) يفتقر إلى العديد من الميزات. لا يزال ليس لديك طريقة لتعيين أحداث التقويم، وقراءة رسائلك النصية، وإنشاء قائمة مهام، والمزيد. ومع ذلك، إذا كانت لديك النباهة، فيمكنك تنفيذ جميع هذه الميزات تقريبًا بنفسك، وذلك بفضل قوة صوت تلقائي و تاسكر. في محاولة لإظهار مدى إبداعك مع Google Home وAutoVoice، سأوضح لك كيفية الحصول على Google Home الخاص بك قراءة أحدث بريدك الصوتي على Google Voice. قد يبدو الأمر مثل السحر الأسود في الوقت الحالي، ولكن نأمل أن يصبح كل شيء منطقيًا بحلول نهاية هذا البرنامج التعليمي.
باستخدام AutoVoice، يمكنك إرسال أوامر منطوقة من جهاز Google Home الخاص بك إلى هاتفك والذي يقوم بعد ذلك بتفسير هذه الأوامر وتنفيذ بعض الإجراءات من خلال تاسكر. أفضل ما في الأمر هو أنه يمكنك إرسال أوامر اللغة الطبيعية إلى هاتفك بفضل قوة API.ai، بشرط أن تقوم بالتسجيل للحصول على خدمة اشتراك بقيمة 0.99 دولارًا شهريًا في AutoVoice لتعويض تكلفة استضافة خادم API.ai. وهذا يعني أنك لست مضطرًا إلى التحدث بطريقة آلية/دقيقة عند التحدث إلى Google Home، وسيظل AutoVoice يتعرف على الأمر الذي تحاول إرساله.
لفترة من الوقت، كان تكامل AutoVoice مع Google Home في مرحلة تجريبية، ولكن الافراج عن AutoVoice 3.0 يسمح لجميع مستخدمي المكون الإضافي تاسكر بالاستمتاع بتكامل Google Home. الآن بعد أن أصبح AutoVoice متاحًا على نطاق واسع للمستخدمين وتم حل معظم مكامن الخلل فيه، سأبدأ في عرض بعض الأشياء التي قمت بإنشائها باستخدام AutoVoice وTasker. إن أول برنامج تعليمي خاص بي على Google Home، وهو قراءة أحدث بريد صوتي على Google Voice، هو الأكثر تعقيدًا بالنسبة لي شارك، ولكنه مرشح جيد لإظهار أن ما يمكنك فعله باستخدام تاسكر يقتصر فقط على ما يمكنك فعله خيال.
الاستماع إلى أحدث بريدي الصوتي على صفحة Google الرئيسية.
القراءة الموصى بها: تحقق من موقعنا الدروس السابقة، حيث نعرض لك كيفية حل المشكلات الشائعة التي لم يتعامل معها سوى القليل من الآخرين.
متطلبات
يعد AutoVoice متطلبًا بسيطًا حتى يعمل هذا المشروع. يمكنك استخدام IFTTT لتشغيل المهمة، ولكن ذلك سيتطلب منك استخدام حل بديل يتضمن تطبيقًا آخر مثل ينضم أو رصاصة لإرسال الأوامر إلى تاسكر، حيث أن IFTTT لا يتكامل مباشرة مع تاسكر. علاوة على ذلك، فإن التحذير الأكثر أهمية بشأن عدم استخدام AutoVoice، هو أن الأوامر الصوتية ستكون غير مرنة في حالة استخدام IFTTT. وهذا يعني أنه يتعين عليك نطق الأمر بدقة تامة، في كل مرة، وإلا فلن يتم تشغيل الأمر. يمكن أن يكون ذلك مشكلة في المستقبل إذا بدأت في إنشاء الكثير من عمليات تكامل Tasker/Google Home (لدي 28 حاليًا)، مما يعني أنه يتعين عليك حفظ الأوامر التي تريدها وإعادة إنتاجها بالضبط في كل مرة.
سوف تحتاج:
- صوت تلقائي ($2.49)
- اشتراك اللغة الطبيعية AutoVoice (0.99 دولار شهريًا)
- تاسكر ($2.99)
- أوتوويب بيتا
- أوتوكاست بيتا ($0.99)
تحضير
قبل أن نتناول جوهر هذا التكامل الرائع، علينا إجراء بعض الاستعدادات حتى يعمل هذا بشكل صحيح. سأتعامل مع هذا الإعداد في أجزاء.
الجزء 1 - إعداد AutoVoice
لقد كتبت بالفعل بشكل مطول بخصوص كيفية إعداد AutoVoice باستخدام Google Home، لذا من فضلك الرجوع إلى مقالتي السابقة هنا. التغيير الوحيد الذي يجب ملاحظته حقًا هو أنك لم تعد بحاجة إلى الإصدار التجريبي من AutoVoice، حيث يعمل التكامل الآن مع التحديث المستقر AutoVoice. أنصحك أيضًا بقراءة البرنامج التعليمي القصير حول جعل ملف تعريف Tasker يتفاعل مع أمر AutoVoice، حيث أننا سنفعل نفس الشيء هنا. جوهر الأمر هو أن هناك أربعة أشياء رئيسية ستفعلها في عملية الإعداد هذه:
- تمكين خدمة AutoVoice في تطبيق Google Home.
- قم بإعداد حساب API.ai واحصل على مفاتيح API الخاصة بك
- قم بإضافة مفاتيح API هذه إلى إعداد اللغة الطبيعية في AutoVoice
- اشترك في خدمة الاشتراك في AutoVoice Natural Language
مرة أخرى، تم توضيح هذه الخطوات بتفصيل أكبر في مقالتي السابقة، لذا أنصحك بقراءتها.
الجزء 2 – إعداد Google Voice
نحتاج إلى طريقة للوصول إلى رسائل البريد الصوتي الخاصة بك على Google Voice، حتى يتمكن تاسكر من استخراج محتوى البريد الصوتي. الطريقة التي سنحقق بها ذلك هي من خلال إعادة توجيه جميع رسائل البريد الصوتي الخاصة بنا إلى حساب Gmail المرتبط الخاص بك. هذه ميزة أصلية في Google Voice، وكل ما عليك فعله هو تبديل زر واحد في تطبيق Google Voice.
وبمجرد الانتهاء من ذلك، ستبدأ في تلقي جميع رسائل البريد الصوتي الجديدة في بريدك الإلكتروني. كما ترون، يحتوي البريد الإلكتروني على نسخة من البريد الصوتي بالإضافة إلى رابط للصوت الفعلي للبريد الصوتي. سوف نستخدم هذا البريد الإلكتروني لأغراضنا.
الجزء 3 - إعداد AutoWeb
من أجل استخراج محتويات هذا البريد الإلكتروني، نحتاج إلى الوصول إلى محتوى البريد الإلكتروني باستخدام واجهة برمجة تطبيقات جوجل. سنفعل ذلك باستخدام تطبيق AutoWeb الذي تم ربطه بالقرب من البداية. افتح AutoWeb وانقر على "تصفح خدمات الويب". قم بالتمرير لأسفل إلى Gmail API وانقر عليها للاستيراد. بعد الاستيراد، سيطلب منك AutoWeb مصادقة حساب Gmail الذي تريد استخدامه مع واجهة برمجة التطبيقات. حدد نفس حساب Gmail الذي تتم إعادة توجيه رسائل البريد الصوتي إليه.
لقد قمت الآن بربط هاتفك بحساب Gmail الخاص بك من خلال استخدام Gmail API!
الجزء 4 - إعداد AutoCast
قبل أن نتمكن من إرسال البريد الصوتي الصوتي إلى Google Home، نحتاج إلى إعداد AutoCast حتى يتمكن من الاتصال بـ Google Home. افتح AutoCast وحدد "إدارة أجهزة البث". ضرب "+" في الشريط العلوي وحدد جهاز Google Home الخاص بك.
أخيرًا، نحن على استعداد لإعداد هذا الإعداد فعليًا.
قراءة أحدث بريد صوتي من Google Voice على Google Home
صوت تلقائي
أول شيء يتعين علينا القيام به هو إنشاء أمر AutoVoice Natural Language. هذا أمر بسيط إلى حد ما.
- افتح الصوت التلقائي
- اضغط على اللغة الطبيعية
- اضغط على الأوامر
- اضغط على + أيقونة لإضافة أمر جديد
- أدخل قائمة بالأوامر الصوتية، مفصولة بفواصل، وتحتوي على أكبر عدد ممكن من أشكال الأمر الصوتي التي تعتقد أنك قد تتحدث بها لتشغيل هذا الأمر.
- بالنسبة للردود، يمكنك إدخال العديد من الردود، أو لا شيء، التي تريد أن يقرأها Google Home لك عندما تنطق هذا الأمر.
- بمجرد الانتهاء، قم بتسمية هذا الأمر. أي شيء سوف يعمل هنا.
على الرغم من أنك تقوم بإدخال مجموعة متنوعة من الأوامر والاستجابات، فلا داعي للقلق بشأن تذكر نطق هذه الأوامر تمامًا كما هي مكتوبة. ستقوم API.ai تلقائيًا بتحليل كل ما تتحدث به، واستخدام خوارزميات اللغة الطبيعية الخاصة بها سوف يطابق أمرك المنطوق مع أحد الأوامر التي تدرجها هنا.
وبدلاً من ذلك، إذا كنت ترغب فقط في تنزيل الإعداد الخاص بي، فيمكنك القيام بذلك على الرابط التالي. أعتقد أنه في الوقت الحالي، لاستيراده، سيتعين عليك تسجيل الدخول إلى API.ai واستيراده هناك.
قم بتنزيل نية اللغة الطبيعية AutoVoice
لكي نكون صادقين، فإن جزء AutoVoice الفعلي من هذا الإعداد بسيط إلى حد ما، حيث أننا لا نتعامل مع المتغيرات/المعلمات أو السياقات في الأمر المنطوق. الجزء المعقد الفعلي يأتي من الجزء التالي، حيث لدينا تاسكر يتفاعل مع أمر AutoVoice Natural Language.
تاسكر
فيما يلي دليل خطوة بخطوة لما نفعله لإنشاء هذا الملف الشخصي.
- افتح تاسكر واضغط على + أيقونة لإنشاء ملف تعريف جديد.
- انتقل إلى الحدث -> البرنامج المساعد -> الصوت التلقائي -> اللغة الطبيعية.
- اضغط على أيقونة القلم الرصاص لفتح شاشة تكوين AutoVoice.
- اضغط على "الأوامر" وحدد اسم الأمر الذي قمت بإنشائه مسبقًا.
- اضغط على أيقونة علامة الاختيار أعلاه، ثم اضغط على مفتاح الرجوع للعودة إلى شاشة تاسكر الرئيسية.
- سيطلب منك تاسكر إنشاء مهمة جديدة. يمكنك إعطائها اسمًا إذا كنت تريد ذلك، ولكن اضغط على أيقونة علامة الاختيار لإنشاء مهمة جديدة بغض النظر.
بمجرد وصولك إلى شاشة تحرير المهمة، سنقوم بإنشاء المهمة الموضحة أدناه. لإنشاء إجراءات جديدة، اضغط على + أيقونة في الجزء السفلي الأوسط. بالنسبة لأي من محترفي Tasker هنا، يمكنك توسيع زر التبديل أدناه لإظهار الملف الشخصي ووصف المهمة الذي يمكنك اتباعه بنفسك.
الصفحة الرئيسية - قراءة البريد الصوتي
Profile: Home - Read Voicemail (165)
Event: AutoVoiceNaturalLanguage[ Configuration: Commands: read my last voicemail ]
Enter: Read Voicemail (164)
A1: AutoCastSpeak[ Configuration: Device: Bedroom Home Timeout (Seconds):60 ]
A2: AutoWeb Web Service [ Configuration: API: Gmail
API Action: List messages
Include spam trash: false
User ID: me
Search: from:voice-noreply@google.com
MaxResults: 5 Timeout (Seconds):120 ]
A3: Wait[ MS: 0 Seconds: 1 Minutes: 0 Hours: 0 Days: 0 ]
A4: AutoWeb Web Service [ Configuration: API: Gmail
API Action: Get Message
Format: full
UserID: meTimeout (Seconds):120 ]
A5: For [ Variable:%headers Items:1:%payload_headers_name(#) ]
A6: Variable Set [ Name:%referenceTo:%headers Recurse Variables:OffDo Maths:Off Append:Off ] If [ %payload_headers_name(%headers) ~ Subject ]
A7: EndFor
A8: Java Function [ Return: decodedbody Class Or Object:Base64 Function:decode
{byte[]} (String, int) Param:%bodydata(1) Param:8 Param: Param: Param: Param: Param: ]
A9: Java Function [ Return:%body Class Or Object:StringFunction:new
{String} (byte[], String) Param: decodedbody Param: UTF-8 Param: Param: Param: Param: Param: ]
A10: Variable Split [ Name:%body Splitter: https://www.google.com/voice/fm/ Delete Base:Off ]
A11: VariableSplit[ Name:%body2 Splitter:> Delete Base: Off ]
A12: HTTP Get [ Server: Port: https://www.google.com Path:/voice/fm/%body21 Attributes: Cookies: User Agent: Timeout: 10 Mime Type: audio/* Output File:/sdcard/Tasker/voicemail.mp3 Trust Any Certificate: Off ]
A13: Variable Set [ Name:%voicemail To:%payload_headers_value(%reference) Recurse Variables:OffDo Maths:Off Append:Off ]
A14: Variable Split [ Name:%voicemail Splitter: from Delete Base:Off ]
A15: Variable Split [ Name:%voicemail2 Splitter: at Delete Base:Off ]
A16: Test Phone [ Type: Contact Name Data:%voicemail21 Store Result In:%name Continue Task After Error:On ]
A17: Variable Set [ Name:%voicemail To:%voicemail1 from %nameat %voicemail22 Recurse Variables:OffDo Maths:Off Append:Off ] If [ %nameSet ]
A18: Variable Set [ Name:%voicemail To:%voicemail1 from %voicemail21 at %voicemail22 Recurse Variables:OffDo Maths:Off Append:Off ] If [ %name !Set ]
A19: AutoCast Speak [ Configuration: Device: Bedroom Home
Text: %voicemailTimeout (Seconds):60 ]
A20: Wait[ MS: 0 Seconds: 5 Minutes: 0 Hours: 0 Days: 0 ]
A21: AutoCast [ Configuration:
Starting Casting Screen
Persistent Notification: true
Cast Device: Bedroom Home
Screen: Full Screen Media
Audio: /storage/emulated/0/Tasker/voicemail.mp3
Audio Volume: 100
Audio Position: 0
Audio AutoPlay: true Timeout (Seconds):3000 ]
اقرأ أكثر
سيوضح لك الدليل التفصيلي أدناه كيفية تكرار المهمة، كما هو موضح في لقطة الشاشة على اليمين. المهمة هي جوهر هذا الإعداد هنا، وهي معقدة إلى حد ما. آلية العمل هي أنه بمجرد تنشيط الملف الشخصي، تقوم الإجراءات القليلة الأولى (A2-A4) بالبحث والسحب من ملفك الشخصي. حساب Gmail للرسائل الواردة من [email protected]، وهي خدمة البريد الإلكتروني الآلية التي تستخدمها Google صوت. نبحث بعد ذلك عن رأس الموضوع (A5-A7) حتى نتمكن من الحصول على معلومات حول من أرسل البريد الصوتي ومتى. بعد ذلك، نقوم باستخراج نص رسالة Gmail، والتي تم ترميزها في الأساس 64 لذا يتعين علينا استخدام وظيفة Java (A8-A9). بعد استرداد الرسالة التي تم فك تشفيرها، نبحث بعد ذلك عن عنوان URL الذي يربطنا بالملف الصوتي للبريد الصوتي (A10-A11) ونقوم أخيرًا بتنزيل الملف بتنسيق mp3 (A12). يبحث A13-A18 ببساطة عن معلومات الاتصال، إذا كانت موجودة، للرقم الذي ترك البريد الصوتي. أخيرًا، سيقرأ A19-A21 من تم إرسال البريد الصوتي وفي أي وقت بالإضافة إلى صوت البريد الصوتي المسجل.
- البرنامج المساعد -> AutoCast -> AutoCast Speak. جهاز: اختر صفحة جوجل الرئيسية الخاصة بك. (لا يوجد نص ضروري هنا، هذا فقط للاتصال بـ Google Home.)
- البرنامج المساعد -> الويب التلقائي. واجهة برمجة التطبيقات: Gmail. إجراء API: قائمة الرسائل. معرف المستخدم: أنا. يبحث: من: [email protected]. الحد الأقصى للنتائج: 5. انتاج: بطاقة تعريف.
- المهمة -> انتظر. انتظر ثانية واحدة.
- البرنامج المساعد -> الويب التلقائي. واجهة برمجة التطبيقات: Gmail. إجراء API: الحصول على الرسالة. التنسيق: كامل. معرف المستخدم: أنا. معرف الرسالة: المعونة (1). انتاج: بيانات الجسم، اسم رؤوس الحمولة، و قيمة رؤوس الحمولة.
- المهمة --> ل. عامل: %رؤوس. أغراض: 1:%payload_headers_name(#)
- المتغيرات --> مجموعة المتغيرات. اسم: ٪مرجع. ل: %رؤوس. حدد "إذا" واضبطه على "إذا". %payload_headers_name(%headers) ~ الموضوع.
- المهمة --> النهاية لـ.
- الكود-->وظيفة جافا. بالنسبة للفئة/الكائن، حدد قاعدة64. وظيفة: فك التشفير {بايت[]} (سلسلة، كثافة العمليات). المعلمة (سلسلة): % بيانات الجسم (1). المعلمة (كثافة العمليات): 8. يعود: com.decodedbody.
- الكود --> وظيفة جافا. بالنسبة للفئة/الكائن، حدد خيط. وظيفة: جديد {سلسلة} (بايت []، سلسلة). المعلمة (بايت []): com.decodedbody. المعلمة (سلسلة): ترميز UTF-8. يعود: ٪جسم.
- المتغيرات --> تقسيم المتغير. اسم: ٪جسم. الخائن: https://www.google.com/voice/fm/
- المتغيرات --> تقسيم المتغير. اسم: %body2. الخائن: >
- صافي --> الحصول على HTTP. الخادم: المنفذ: https://www.google.com طريق: /voice/fm/%body21 نوع التمثيل الصامت: صوتي/* ملف إلاخراج: /sdcard/Tasker/voicemail.mp3
- المتغيرات --> مجموعة المتغيرات. اسم: % البريد الصوتي. ل: %payload_headers_value(%مرجع)
- المتغيرات --> تقسيم المتغير. اسم: % البريد الصوتي. الخائن: من
- المتغيرات --> تقسيم المتغير. اسم: % البريد الصوتي2. الخائن: في
- الهاتف -> اختبار الهاتف. يكتب: اسم جهة الاتصال. بيانات: % البريد الصوتي21. نتيجة المتجر في: ٪اسم. تأكد من التحقق متابعة المهمة بعد الخطأ.
- المتغيرات --> مجموعة المتغيرات. اسم: % البريد الصوتي. ل: %voicemail1 من %name على %voicemail22. تحقق مما إذا كان في الأسفل واضبطه على إذا تم تعيين %name.
- المتغيرات --> مجموعة المتغيرات. اسم: % البريد الصوتي. ل: %voicemail1 من %voicemail21 على %voicemail22. تحقق مما إذا كان في الأسفل واضبطه على إذا لم يتم تعيين %name.
- البرنامج المساعد -> AutoCast -> التحدث. جهاز: اختر صفحة جوجل الرئيسية الخاصة بك. نص: % البريد الصوتي
- المهمة -> انتظر. انتظر 5 ثوان. هذا ال تأخير شكلي للتأكد من وجود وقت كافٍ دائمًا بين الإعلان عن البريد الصوتي الجديد وصوت البريد الصوتي الذي يتم تشغيله. إذا كان هذا قصيرًا جدًا، فيمكنك زيادته هذه المرة. قم بالتلاعب بهذه القيمة لمعرفة ما يقلل التأخير إلى مستوى مقبول.
- البرنامج المساعد -> أوتوكاست -> أوتوكاست. جهاز الإرسال: اختر Google Home الخاص بك مرة أخرى. يختار الوسائط بملء الشاشة كالشاشة. انتقل إلى عناصر وسائط ملء الشاشة، ثم الصوت، ومن أجل وضع الصوت ("الأغنية المراد تشغيلها"). /sdcard/Tasker/voicemail.mp3. يختار تشغيل تلقائي.
هذا كل شيء! الآن، كل ما عليك فعله لتشغيل هذه المهمة هو إرسال الأمر إلى جهاز Google Home الخاص بك. يمكنك فعل ذلك بالقول "مرحبًا/OK Google، اسمح لي بالتحدث إلى AutoVoice" ثم نطق أحد الأشكال المختلفة للأمر الخاص بك عندما يطلب منك AutoVoice أن تقول الأمر الخاص بك. أو يمكنك قول الأمر الخاص بك دفعة واحدة عن طريق قول "مرحبًا/OK Google، اطلب من AutoVoice [الأمر]"تمامًا كما فعلت في الفيديو الموضح في البداية.
تحميل الملف الشخصي
يمكنك تنزيل ملف تعريف/مهمة تاسكر التي قمت بها على الرابط أدناه. إذا اخترت القيام بذلك، فتأكد من الدخول وتعديل الإجراءين "AutoCast" بحيث يشيران إلى جهاز Google Home الخاص بك. تحقق أيضًا للتأكد من أن أمر اللغة الطبيعية AutoVoice المسمى في ملف التعريف الخاص بي هو نفس الأمر الذي قمت بإنشائه. إذا لم يكن الأمر كذلك، فما عليك سوى تغيير ملف التعريف للإشارة إلى الأمر الخاص بك. ينبغي أن يستغرق بضع ثوان فقط.
قم بتنزيل الصفحة الرئيسية - اقرأ ملف تعريف تاسكر للبريد الصوتي
بمجرد تنزيل ملف XML أعلاه، احفظه في أي مكان على جهازك. افتح تاسكر وقم بتعطيل وضع المبتدئين في التفضيلات. ثم ارجع إلى الشاشة الرئيسية واضغط لفترة طويلة على علامة التبويب "ملفات التعريف" حتى ترى مربعًا منبثقًا به "استيراد" كخيار. اضغط عليه وانتقل إلى المكان الذي حفظت فيه ملف .prf.xml وحدده لاستيراده.
أتمنى أن تجد هذا البرنامج التعليمي مفيدًا. لقد استمتعت بالتعديل على واجهة برمجة التطبيقات (API) وTasker حتى تمكنت من تشغيل الأمور. أعلم أنه ليس أنيقًا للغاية، ولكن هذا في الغالب عبارة عن عرض لمدى قوة دمج Google Home الخاص بك مع خدمات الويب المختلفة وهاتفك. نأمل أن يلهمك هذا لإنشاء شيء لم تعتقد أنه ممكن من قبل!