آزمایش و اشکال‌زدایی برنامه

توصیه می‌کنیم برنامه اجرای محلی‌تان را بااستفاده از مراحل شرح‌داده‌شده در بالا بسازید، سپس ادغام خانه هوشمندتان را در محیط میزبانی خودتان بااستفاده از مراحل زیر آزمایش کنید:

  1. در محیط میزبانی خودتان، صفحه HTML را که برنامه تحقق محلی شما را اجرا می‌کند ارائه دهید. قطعه کد زیر نمونه‌ای از فایل HTML ایستا را نشان می‌دهد که برنامه تحقق محلی شما را اجرا می‌کند.

    <html>
      <head>
        <!-- Local Home SDK -->
        <script src="//www.gstatic.com/eureka/smarthome/smarthome_sdk.js"></script>
        <!-- Local app under development -->
        <script src="local_execution.js"></script>
      </head>
    
    </html>
  2. کنترل دستگاه آزمایشی.

  3. اشکال‌زدایی از Chrome. از نقاط توقف و گزارش‌ها برای عیب‌یابی ادغام استفاده کنید.

  4. کد TypeScript خود را اصلاح و کامپایل کنید، سپس این مراحل را تکرار کنید.

با تکرار این فرایند ساخت و آزمایش، می‌توانید تغییرات خود را به‌سرعت در عمل ببینید تا به شما در اشکال‌زدایی مشکلات کدتان کمک کند.

کنترل دستگاه آزمایشی

در Google Home Developer Console، باید نشانی وب برنامه وب خود را مشخص کنید که HTML بارشده در دستگاه Google Home یا Google Nest را درطول اجرای محلی ارائه می‌دهد.

برای آزمایش کنترل دستگاه با اجرای محلی، این مراحل را دنبال کنید:

Chrome

  1. در صفحه راه‌اندازی و پیکربندی ادغام «ابر به ابر» در Google Home Developer Console، به اجرای محلی پیمایش کنید و تنظیم را روشن کنید.
  2. در بخش نشانی‌های وب آزمایشی > نشانی وب آزمایشی برای Chrome، نشانی وب سرور توسعه را که HTML اجراکننده برنامه برآورده‌سازی محلی شما را ارائه می‌دهد مشخص کنید.
  3. روی ذخیره کلیک کنید. ممکن است تا ۳۰ دقیقه طول بکشد تا Google تغییرات کنسول شما را منتشر کند.
  4. دستگاه Google Home یا Google Nest آزمایشی را بازراه‌اندازی کنید.
  5. فرمانی به دستگاه هوشمندتان بدهید. برای مثال، اگر دستگاهتان ویژگی OnOff را اجرا می‌کند، می‌توانید بگویید «Ok Google، چراغ‌ها را روشن کن».

Node.js

  1. در صفحه راه‌اندازی و پیکربندی Google Home Developer Console، به اجرای محلی پیمایش کنید و تنظیم را روشن کنید.
  2. در بخش نشانی‌های وب آزمایشی > نشانی وب آزمایشی برای Node، نشانی وب سرور توسعه را که جاوا اسکریپت اجراکننده برنامه تحقق محلی شما را ارائه می‌دهد مشخص کنید.
  3. روی ذخیره کلیک کنید. ممکن است تا ۳۰ دقیقه طول بکشد تا Google تغییرات کنسول شما را منتشر کند.
  4. دستگاه Google Home یا Google Nest آزمایشی را بازراه‌اندازی کنید.
  5. فرمانی به دستگاه هوشمندتان بدهید. برای مثال، اگر دستگاهتان ویژگی OnOff را اجرا می‌کند، می‌توانید بگویید «Ok Google، چراغ‌ها را روشن کن».

برای جزئیات بیشتر درباره اینکه دستگاهتان از کدام زمان اجرا استفاده می‌کند، به دستگاه‌های پشتیبانی‌شده مراجعه کنید.

اشکال‌زدایی از Chrome

می‌توانید برنامه اجرای محلی‌تان را بااستفاده از Chrome DevTools اشکال‌زدایی کنید. قبل‌از اشکال‌زدایی، مطمئن شوید که محیط شما به‌درستی راه‌اندازی شده است:

برای متصل کردن برنامه اجرای محلی به اشکال‌زدای Chrome DevTools، این مراحل را دنبال کنید:

Chrome

  1. در ماشین توسعه نرم‌افزار محلی‌تان، مرورگر Google Chrome را نصب و راه‌اندازی کنید.
  2. در فیلد نشانی مرورگر Chrome، بازرس Chrome را با وارد کردن chrome://inspect#devices راه‌اندازی کنید. باید فهرستی از دستگاه‌ها را در صفحه ببینید و فایل HTML شما باید تحت نام دستگاه آزمایشی Google Home یا Google Nest شما فهرست شده باشد.
  3. روی پیوند آبی‌رنگ بازرسی در زیر HTML کلیک کنید تا Chrome DevTools راه‌اندازی شود. به برگه کنسول بروید. پلاتفرم Local Home نسخه برنامه شما و نسخه کیت توسعه نرم‌افزار Local Home را در گزارش کنسول خروجی می‌دهد. اگر گزارش را می‌بینید، یعنی Google برنامه‌تان را با موفقیت بار کرده است و می‌تواند به آن متصل شود. اگر نه، دستگاه Google Home یا Google Nest را بازراه‌اندازی کنید.
  4. شکل ۱: برنامه اجرای محلی در chrome://inspect.

Node.js

  1. در ماشین توسعه نرم‌افزار محلی‌تان، مرورگر Google Chrome را نصب و راه‌اندازی کنید.
  2. نشانی IP محلی دستگاه آزمایشی‌تان را تعیین کنید.
  3. در فیلد نشانی مرورگر Chrome، بازرس Chrome را با وارد کردن chrome://inspect#devices راه‌اندازی کنید.
  4. پیکربندی… را انتخاب کنید تا تنظیمات کشف هدف باز شود.
  5. شکل ۲: تنظیمات کشف هدف در chrome://inspect.
  6. DEVICE_IP_ADDRESS:9222 را در فهرست وارد کنید و روی تمام کلیک کنید.
  7. روی پیوند آبی‌رنگ بازرسی در زیر اسکریپت کلیک کنید تا Chrome DevTools راه‌اندازی شود. به برگه کنسول بروید. پلاتفرم Local Home نسخه برنامه شما و نسخه کیت توسعه نرم‌افزار Local Home را در گزارش کنسول خروجی می‌دهد. اگر گزارش را می‌بینید، یعنی Google برنامه‌تان را با موفقیت بار کرده است و می‌تواند به آن متصل شود. اگر این‌طور نیست، دستگاه Google Home یا Google Nest را بازراه‌اندازی کنید.

برای جزئیات بیشتر درباره اینکه دستگاهتان از کدام زمان اجرا استفاده می‌کند، به دستگاه‌های پشتیبانی‌شده مراجعه کنید.

نکته‌های اشکال‌زدایی

برخی‌از موارد دیگری که باید درطول اشکال‌زدایی درنظر داشته باشید عبارتند از:

  • چند دستگاه Google Home یا Google Nest را به حساب آزمایشی‌تان در یک شبکه محلی پیوند ندهید. نمی‌توانید کنترل کنید که کدام دستگاه Google Home یا Google Nest با فرمان‌های اجرای محلی هدف قرار گیرد.
  • صفحه را در Chrome DevTools بازآورید تا محفظه برنامه اجرای محلی‌تان با جدیدترین کد از نشانی وب توسعه‌تان مجدداً بار شود. این کار پلاتفرم Local Home را بازنشانی نمی‌کند، که ممکن است برای راه‌اندازی مجدد هدف‌های پلاتفرم (مانند IDENTIFY) در برنامه اجرای محلی شما ضروری باشد. برای بازنشانی پلاتفرم Local Home، دستگاه Google Home یا Google Nest خود را بازراه‌اندازی کنید.
  • بررسی کنید که برنامه جاوا اسکریپت شما بدون خطا بارگیری شود. برای انجام این کار، بخش کنسول صفحه DevTools را بررسی کنید. اگر مشکلی وجود داشته باشد، پیامی مانند این خواهید دید: «Uncaught TypeError: Cannot read property 'open' of null.»
  • verificationId از پاسخ IDENTIFY باید با یکی از otherDeviceIds از پاسخ SYNC مطابقت داشته باشد.
  • برای گرداننده EXECUTE، مطمئن شوید دستگاهتان می‌تواند فرمان‌های HTTP،‏ TCP، یا UDP را دریافت کند و طبق انتظار کار کند.
  • حتماً Promise را از گرداننده‌ها برگردانید.
  • از حفظ وضعیت سراسری در حافظه خودداری کنید. چرخه حیات برنامه را ببینید.
  • خطاهای ایجادشده توسط برنامه اجرای محلی شما در گزارش‌های خطای پروژه شما نشان داده خواهد شد.

آماده‌سازی و راه‌اندازی برای تولید

وقتی برای راه‌اندازی «کنش» خانه هوشمندتان آماده بودید، این مراحل را دنبال کنید:

  1. پایانه‌ای را باز کنید. در فهرست راهنمای پروژه، فرمان npm run build را اجرا کنید. این فرمان دسته‌های جاوا اسکریپت زیر را برای برنامه‌تان در دایرکتوری dist تولید می‌کند:
    project-directory/
    └── dist
     ├── web
     │    └── bundle.js
     └── node
          └── bundle.js
    
  2. در صفحه راه‌اندازی و پیکربندی Google Home Developer Console، به تحقق محلی پیمایش کنید و تنظیم را روشن کنید.
  3. بااستفاده از دکمه‌های بارگذاری جاوا اسکریپت، فایل‌های دسته‌ای را که قبلاً تولید کرده‌اید بارگذاری کنید.
    شکل ۳: برنامه جاوا اسکریپت خود را بارگذاری کنید.
    حتماً هر دو نسخه فایل‌های بسته (Node، وب) را بارگذاری کنید تا «کنش» شما برای عملکرد صحیح در همه محیط‌های زمان اجرا که اجرای محلی پشتیبانی می‌کند پیکربندی شود.
    1. بارگذاری Node.js هدف‌گذاری جاوا اسکریپت: فایل bundle.js را از فهرست راهنمای dist/node بارگذاری کنید.
    2. جاوا اسکریپت خود را که Chrome (مرورگر) را هدف قرار می‌دهد بارگذاری کنید: فایل bundle.js را از دایرکتوری dist/web بارگذاری کنید.
  4. «کنش» خود را در دستگاهی که «دستیار» در آن فعال است آزمایش کنید تا مطمئن شوید که در محیط تولید طبق انتظار عمل می‌کند. برای کسب اطلاعات بیشتر، آزمایش و هم‌رسانی «کنش خانه هوشمند» را ببینید.
  5. وقتی از نحوه عملکرد «کنش» خود راضی بودید، آن را برای استقرار تولید به Google ارسال کنید. برای این کار، دستورالعمل‌های موجود در راه‌اندازی کنش خانه هوشمند را دنبال کنید. این شامل تکمیل مراحل خودآزمایی و درخواست گواهینامه است.