ยินดีต้อนรับสู่ศูนย์นักพัฒนาซอฟต์แวร์ Google Home ซึ่งเป็นจุดหมายใหม่เกี่ยวกับวิธีพัฒนาการดําเนินการสําหรับบ้านอัจฉริยะ หมายเหตุ: คุณจะสร้างการดําเนินการต่างๆ ต่อไปในคอนโซลการดําเนินการ

ทดสอบและแก้ไขข้อบกพร่องของแอป

เราขอแนะนําให้คุณสร้างแอปสําหรับการดําเนินการตามคําสั่งซื้อในท้องถิ่นโดยทําตามขั้นตอนที่อธิบายไว้ก่อนหน้านี้ จากนั้นทดสอบการผสานรวมสมาร์ทโฮมในสภาพแวดล้อมการโฮสต์ของคุณเองโดยทําตามขั้นตอนต่อไปนี้

  1. ในสภาพแวดล้อมการโฮสต์ของคุณเอง ให้แสดงหน้า HTML ที่เรียกใช้แอป Fulfillment ในเครื่อง ข้อมูลโค้ดต่อไปนี้แสดงตัวอย่างไฟล์ HTML แบบคงที่ที่เรียกใช้แอป Fulfillment ในเครื่อง

    <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 แล้วทําขั้นตอนเหล่านี้ซ้ํา

การดําเนินการทดสอบซ้ําดังกล่าวจะทําให้คุณสามารถดูการเปลี่ยนแปลงที่เกิดขึ้นได้อย่างรวดเร็วและง่ายดายยิ่งขึ้น รวมถึงแก้ปัญหาเกี่ยวกับโค้ดของคุณ

ทดสอบการควบคุมอุปกรณ์

ในคอนโซลการทํางาน คุณต้องระบุ URL ของเว็บแอป ซึ่งจะแสดง HTML ที่โหลดในอุปกรณ์ Google Home หรือ Google Nest ในระหว่างการดําเนินการตามคําสั่งซื้อในเครื่อง

หากต้องการทดสอบการควบคุมอุปกรณ์กับการดําเนินการในเครื่อง ให้ทําตามขั้นตอนต่อไปนี้

Chrome

  1. เปิดโปรเจ็กต์บ้านอัจฉริยะในคอนโซล Actions
  2. ในการนําทางด้านซ้าย ให้คลิกการทํางาน
  3. ในส่วนกําหนดค่า SDK เริ่มต้นในเครื่อง (ไม่บังคับ) > ป้อน URL การทดสอบสําหรับ Chrome ให้ระบุ URL ของเซิร์ฟเวอร์การพัฒนาที่แสดง HTML ที่ใช้งานแอปดําเนินการตามคําสั่งซื้อในเครื่อง
  4. คลิกบันทึก Google อาจใช้เวลาถึง 30 นาทีเพื่อเผยแพร่การเปลี่ยนแปลงในคอนโซลของคุณ
  5. รีบูตอุปกรณ์ Google Home หรือ Google Nest ทดสอบ
  6. ออกคําสั่งให้กับอุปกรณ์อัจฉริยะ ตัวอย่างเช่น หากอุปกรณ์ของคุณมีลักษณะเป็น OnOff คุณอาจพูดว่า "Ok Google เปิดไฟ"

Node.js

  1. เปิดโปรเจ็กต์บ้านอัจฉริยะในคอนโซล Actions
  2. ในการนําทางด้านซ้าย ให้คลิกการทํางาน
  3. ในส่วนกําหนดค่า SDK เริ่มต้นในเครื่อง (ไม่บังคับ) > ป้อน URL การทดสอบสําหรับโหนด ให้ระบุ URL ของเซิร์ฟเวอร์การพัฒนาซอฟต์แวร์ที่ให้บริการ JavaScript ที่เรียกใช้แอป Fulfillment ในเครื่อง
  4. คลิกบันทึก Google อาจใช้เวลาถึง 30 นาทีเพื่อเผยแพร่การเปลี่ยนแปลงในคอนโซลของคุณ
  5. รีบูตอุปกรณ์ Google Home หรือ Google Nest ทดสอบ
  6. ออกคําสั่งให้กับอุปกรณ์อัจฉริยะ ตัวอย่างเช่น หากอุปกรณ์ของคุณมีลักษณะเป็น OnOff คุณอาจพูดว่า "Ok Google เปิดไฟ"

สําหรับรายละเอียดเพิ่มเติมเกี่ยวกับรันไทม์ที่อุปกรณ์ของคุณใช้ โปรดดูอุปกรณ์ที่รองรับ

การแก้ไขข้อบกพร่องจาก Chrome

คุณสามารถแก้ไขข้อบกพร่องของแอปสําหรับการดําเนินการตามคําสั่งซื้อในท้องถิ่นได้โดยใช้ Chrome DevTools ก่อนที่จะแก้ไขข้อบกพร่อง โปรดตรวจสอบว่าได้ตั้งค่าสภาพแวดล้อมอย่างถูกต้องแล้ว

  • คุณได้ตั้งค่า URL การพัฒนาในคอนโซลเป็น URL ที่อุปกรณ์ Google Home หรือ Google Nest เข้าถึงได้ (ทั้งในเครือข่ายท้องถิ่นหรืออินเทอร์เน็ต)
  • เครื่องของคุณจะเชื่อมต่อกับเครือข่าย LAN เดียวกันกับ อุปกรณ์ Google Home หรือ Google Nest ที่คุณทดสอบอยู่
  • เครือข่ายไม่บล็อกแพ็กเก็ตระหว่างอุปกรณ์
  • คุณลงชื่อเข้าใช้ด้วยบัญชี Google เดียวกันบนคอนโซล Actions และอุปกรณ์ Google Home หรือ Google Nest
  • คุณได้อัปเดตการตอบสนอง SYNC ใน การเติมเต็มระบบคลาวด์แล้ว ซึ่งควรส่งคืนค่าที่ถูกต้องอย่างน้อย 1 ค่าในช่อง otherDeviceIds
  • คุณป้อนข้อมูลการกําหนดค่าการสแกนที่ถูกต้องในคอนโซลการดําเนินการ

หากต้องการเชื่อมต่อแอปที่ดําเนินการในเครื่องเข้ากับเครื่องซ่อมแซม Chrome DevTools ให้ทําตามขั้นตอนต่อไปนี้

Chrome

  1. ติดตั้งเครื่องเบราว์เซอร์ Google Chrome ในเครื่องพัฒนาซอฟต์แวร์ในเครื่อง
  2. ในช่องที่อยู่ของเบราว์เซอร์ Chrome ให้เปิดเครื่องมือตรวจสอบ Chrome โดยป้อน chrome://inspect#devices คุณควรเห็นรายการอุปกรณ์ในหน้านี้ และไฟล์ HTML ของคุณควรจะแสดงอยู่ใต้ชื่ออุปกรณ์ทดสอบ Google Home หรือ Google Nest ของคุณ
  3. คลิกที่ลิงก์การตรวจสอบสีน้ําเงินใต้ HTML เพื่อเปิด Chrome DevTools เปลี่ยนเป็นแท็บคอนโซล แพลตฟอร์ม Home จะแสดงเอาต์พุตเวอร์ชันแอปและเวอร์ชัน SDK ของ Home ในบันทึกของคอนโซล หากคุณเห็นบันทึก แสดงว่า Google โหลดแอปของคุณสําเร็จและสามารถเชื่อมต่อกับบันทึกแล้ว หากยังไม่ได้รีบูต ให้รีบูตอุปกรณ์ Google Home หรือ Google Nest
  4. รูปที่ 1: แอปติดตามในท้องถิ่นใน chrome://inspect

Node.js

  1. ติดตั้งเครื่องเบราว์เซอร์ Google Chrome ในเครื่องพัฒนาซอฟต์แวร์ในเครื่อง
  2. ระบุที่อยู่ IP ภายในของอุปกรณ์ทดสอบ
  3. ในช่องที่อยู่ของเบราว์เซอร์ Chrome ให้เปิดเครื่องมือตรวจสอบ Chrome โดยป้อน chrome://inspect#devices
  4. เลือกกําหนดค่า... เพื่อเปิดการตั้งค่าการค้นพบเป้าหมาย
  5. รูปที่ 2: การตั้งค่าการค้นพบเป้าหมายใน chrome://inspect
  6. ป้อน DEVICE_IP_ADDRESS:9222 ในรายการและคลิกเสร็จสิ้น
  7. คลิกลิงก์ ตรวจสอบ สีน้ําเงินใต้สคริปต์ของคุณเพื่อเปิด Chrome DevTools เปลี่ยนเป็นแท็บคอนโซล แพลตฟอร์ม Home จะแสดงเอาต์พุตเวอร์ชันแอปและเวอร์ชัน SDK ของ Home ในบันทึกของคอนโซล หากคุณเห็นบันทึก แสดงว่า Google โหลดแอปของคุณสําเร็จและสามารถเชื่อมต่อกับบันทึกแล้ว หากยังไม่ได้รีบูต ให้รีบูตอุปกรณ์ Google Home หรือ Google Nest

สําหรับรายละเอียดเพิ่มเติมเกี่ยวกับรันไทม์ที่อุปกรณ์ของคุณใช้ โปรดดูอุปกรณ์ที่รองรับ

เคล็ดลับในการแก้ไขข้อบกพร่อง

สิ่งสําคัญอื่นๆ ที่ควรทราบในระหว่างการแก้ไขข้อบกพร่องมีดังนี้

  • อย่าลิงก์อุปกรณ์ Google Home หรือ Google Nest หลายเครื่องกับบัญชีทดสอบในเครือข่ายภายในเดียวกัน คุณกําหนดอุปกรณ์ Google Home หรือ Google Nest ที่จะกําหนดเป้าหมายด้วยคําสั่ง Fulfillment ในเครื่องไม่ได้
  • รีเฟรชหน้าใน Chrome DevTools เพื่อโหลดคอนเทนเนอร์แอปสําหรับการดําเนินการตามคําสั่งซื้อซ้ําด้วยโค้ดล่าสุดจาก URL การพัฒนา การดําเนินการนี้จะไม่รีเซ็ตแพลตฟอร์ม Home Home ซึ่งอาจจําเป็นเพื่อทริกเกอร์ Intent ของแพลตฟอร์มอีกครั้ง (เช่น IDENTIFY) ในแอปดําเนินการตามคําสั่งซื้อในเครื่อง หากต้องการรีเซ็ตแพลตฟอร์ม Home Home ให้รีบูตอุปกรณ์ Google Home หรือ Google Nest
  • ตรวจสอบว่าแอป JavaScript โหลดโดยไม่มีข้อผิดพลาด โดยไปที่ส่วนคอนโซลของหน้าเครื่องมือสําหรับนักพัฒนาเว็บ หากมีปัญหา คุณจะเห็นข้อความ เช่น Uncaught TypeError: Cannot read property ‘open’ of null.
  • verificationId จากการตอบกลับ IDENTIFY ต้องตรงกับหนึ่งใน otherDeviceIds จากการตอบกลับ SYNC
  • สําหรับเครื่องจัดการ EXECUTE ให้ตรวจสอบว่าได้รับคําสั่ง HTTP, TCP หรือ UDP และอุปกรณ์ทํางานตามที่คาดไว้
  • อย่าลืมส่งคืน Promise จากเครื่องจัดการ
  • หลีกเลี่ยงการเก็บสถานะทั่วโลกไว้ในหน่วยความจํา ดูวงจรของแอปพลิเคชัน
  • ข้อผิดพลาดที่เกิดจากแอปดําเนินการตามคําสั่งซื้อในเครื่องจะปรากฏในบันทึกข้อผิดพลาดของโปรเจ็กต์

เตรียมและเปิดตัวเวอร์ชันที่ใช้งานจริง

เมื่อคุณพร้อมเปิดตัวสมาร์ทโฮมแล้ว ให้ทําตามขั้นตอนต่อไปนี้

  1. เปิดเทอร์มินัล เรียกใช้คําสั่ง npm run build ในไดเรกทอรีโครงการ คําสั่งนี้จะสร้างกลุ่ม JavaScript ต่อไปนี้สําหรับแอปของคุณภายใต้ไดเรกทอรี dist:
    project-directory/
    └── dist
     ├── web
     │    └── bundle.js
     └── node
          └── bundle.js
    
  2. ในคอนโซล ให้อัปโหลดแอป JavaScript โดยคลิกพัฒนา > การดําเนินการ ในส่วนกําหนดค่า SDK ภายในเครื่อง ให้คลิกอัปโหลดไฟล์ JavaScript
    ภาพที่ 3: อัปโหลดแอป JavaScript
  3. ในกล่องโต้ตอบอัปโหลดไฟล์ ให้อัปโหลดไฟล์แบบกลุ่มที่สร้างไว้ก่อนหน้านี้ อย่าลืมอัปโหลดไฟล์กลุ่มทั้ง 2 เวอร์ชัน (โหนด, เว็บ) เพื่อให้กําหนดค่าการดําเนินการได้อย่างถูกต้องในสภาพแวดล้อมรันไทม์ทั้งหมด ที่รองรับการดําเนินการตามพื้นที่
    1. อัปโหลด JavaScript ที่กําหนดเป้าหมายเป็น Node.js: อัปโหลดไฟล์ bundle.js จากไดเรกทอรี dist/node
    2. อัปโหลด JavaScript ที่กําหนดเป้าหมายเป็น Chrome (เบราว์เซอร์): อัปโหลดไฟล์ bundle.js จากไดเรกทอรี dist/web
  4. ทดสอบการดําเนินการของคุณในอุปกรณ์ที่พร้อมใช้งาน Assistant เพื่อยืนยันว่าการทํางานเป็นไปตามที่คาดหวังในสภาพแวดล้อมการใช้งานจริง ดูข้อมูลเพิ่มเติมได้ที่ทดสอบและแชร์การใช้งานสมาร์ทโฮม
  5. เมื่อพอใจกับวิธีการทํางานของการดําเนินการแล้ว ให้ส่งไปให้ Google นําไปใช้งานโดยทําตามวิธีการในเปิดใช้การดําเนินการสมาร์ทโฮม ซึ่งรวมถึงการทําตามขั้นตอนการทดสอบด้วยตนเองและคําขอใบรับรอง