สารบัญ:

Project Oasis: Voice Terrarium: 9 ขั้นตอน (พร้อมรูปภาพ)
Project Oasis: Voice Terrarium: 9 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Project Oasis: Voice Terrarium: 9 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Project Oasis: Voice Terrarium: 9 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: Voice Experiments: Project Oasis 2024, กรกฎาคม
Anonim

Project Oasis คือ Voice Terrarium ที่คุณสามารถพูดคุยด้วยได้ มันเป็นระบบนิเวศปิดแบบพอเพียงที่เลียนแบบสภาพอากาศภายนอก แต่อยู่ในกล่อง คุณสามารถถาม Terrarium เกี่ยวกับ 'Weather in Seattle' เพื่อเป็นคำตอบที่มันอาจเริ่มเทลงในกล่อง สวนขวดยังสามารถสร้างเมฆ หมอก หรือแสงเปลี่ยนเพื่อแสดงสภาพอากาศอื่นๆ

ขั้นตอนที่ 1: แรงจูงใจ

สื่อในการสนทนาของเรากับธรรมชาติเป็นภาพและหลายรูปแบบ ตรงกันข้ามกับสิ่งที่เราทำกับเทคโนโลยีในปัจจุบัน สภาพอากาศบนโทรศัพท์หรือคอมพิวเตอร์ไม่ได้กระตุ้นความรู้สึกเหมือนกับการเห็นหรือสัมผัสอากาศอย่างแท้จริง ฉันคิดเกี่ยวกับสิ่งนี้ในช่วงเวลาที่ฉันอยู่ที่ Google Creative Lab และสร้าง Project Oasis

มันคือสวนขวดที่คุณสามารถพูดคุยกับมันได้โดยใช้ Google Assistant คุณสามารถขอให้สร้างเงื่อนไขบางอย่างหรือแสดงสภาพอากาศในสถานที่เฉพาะ การทดลองนี้ขยายการสนทนาของเรากับเทคโนโลยีและโลกธรรมชาติ เราอาศัยอยู่ระหว่างธรรมชาติกับเทคโนโลยี และตามธรรมเนียมแล้วมองว่าทั้งสองเป็นโลกที่แตกต่างกันมาก โอเอซิสเป็นการสนทนาทางนิเวศวิทยา แต่ในลักษณะที่เป็นธรรมชาติ ไม่ได้ตั้งโปรแกรมไว้หรือวุ่นวาย ต่อไปนี้เป็นขั้นตอนในการสร้าง terrariums ที่ใช้งานอยู่

ขั้นตอนที่ 2: กลไกทั่วไป

สวนขวดดังกล่าวสร้างสภาวะฝน หมอก และแสง ด้านบนของ Terrarium มีไฟ LED, ถาดกันฝน และตู้ขนาดเล็กที่มีเครื่องสะท้อนเสียงเซรามิกเมื่อสัมผัสกับน้ำ แผ่นดิสก์ขนาดเล็กเหล่านี้จะสะท้อนที่ ~ 1-1.7Mhz เพื่อทำให้น้ำกลายเป็นละออง

ด้านล่างของสวนขวดมีปั๊มสูบจ่าย peristaltic สองตัวและอุปกรณ์อิเล็กทรอนิกส์อื่นๆ อ่างเก็บน้ำที่ด้านล่างของสวนขวดถือน้ำส่วนเกิน น้ำถูกนำไปรีไซเคิล/ดัดแปลง และสูบขึ้นไปยังถาดรองน้ำฝนโดยใช้ปั๊มรีดท่อแบบเงียบเครื่องใดเครื่องหนึ่ง

ขั้นตอนที่ 3: การออกแบบสิ่งที่แนบมา

Image
Image

ลิงก์ไปยัง CAD

รายการเครื่องมือ/วัสดุ:

  1. แผ่นอะคริลิค/ลูกแก้ว หนา 0.25" (24" x 18" - จำนวน: 4)
  2. กาวอะคริลิก
  3. ชุดดอกสว่านพร้อมดอกสว่าน 1/4" และดอกสว่านล่างจบระดับ
  4. ตลับเมตร+คาลิปเปอร์
  5. กาวอีพ็อกซี่ (น่ารักประมาณ 15 นาที)
  6. GE Sealant สำหรับงานกันซึม
  7. ท่อพีวีซีใส 1/4" OD + ขั้วต่อมีหนาม

แนวทางการออกแบบสำหรับ terrarium นี้มีกฎเกณฑ์ที่ยืดหยุ่นและไม่ยากและรวดเร็ว ฉันเลือกสร้างแบบที่สามารถเก็บไว้บนโต๊ะทำงานของฉัน หรือแบบที่ดูดีบนเคาน์เตอร์ นอกจากนี้ ฉันมีแนวคิดทั่วไปเกี่ยวกับพื้นที่ที่ใช้อุปกรณ์อิเล็กทรอนิกส์ พืช และอ่างเก็บน้ำของฉัน ฉันตัดสินใจว่าทั้งตู้จะเป็น H:15" W: 6" L: 10"

ขนาด CAD ในรูปด้านบนแสดงการแบ่งทั่วไป อุปกรณ์อิเล็กทรอนิกส์ด้านบนและด้านล่างกว้างๆ แต่ละอันมีความสูง 4 นิ้ว อ่างเก็บน้ำใช้พื้นที่ด้านล่าง 4 นิ้ว L เหลือ 6 นิ้ว L สำหรับอุปกรณ์อิเล็กทรอนิกส์ (เพิ่มเติมเกี่ยวกับอุปกรณ์อิเล็กทรอนิกส์ในภายหลัง)

ฉันตัดสินใจใช้อะคริลิก/ลูกแก้วสำหรับ Terrarium รุ่นนี้ เนื่องจากหาซื้อได้ง่าย ง่ายต่อการตัดเฉือนด้วยเลเซอร์ และสามารถติดกาว/เชื่อมชิ้นส่วนร่วมกับซีเมนต์อะครีลิกได้หลายแบบ แก้วหรือพลาสติกใสเป็นตัวเลือกที่ดี ขึ้นอยู่กับว่าคุณต้องการรูปลักษณ์ภายนอกมากแค่ไหน โดยเฉพาะอย่างยิ่งถ้าสวนขวดจะมีส่วนโค้ง นอกจากนี้ ร้านค้าหลายแห่งยังมีลูกแก้วรุ่นป้องกันรอยขีดข่วน จึงยังคงเป็นตัวเลือกที่เหมาะสมที่สุด

ฉันออกแบบโมเดล 3 มิติสำหรับ Terrarium ของฉันใน Fusion 360 เพียงเพราะฉันอยากจะลองถ่ายดู ไฟล์ CAD สำหรับโครงการนี้จะแนบมากับขั้นตอนนี้ ฉันปรับภาพสเก็ตช์ทั้งหมดเพื่อให้ได้ไฟล์ Laser Machine และกระบวนการตัดเฉือนด้วยเลเซอร์มาตรฐานจะตามมา ตั้งค่าเลเซอร์ (ในกรณีของฉัน Epilog) เปิดไฟล์ใน Corel Draw และเรียกใช้การตัดเฉือน

คุณควรมีชิ้นส่วนอะคริลิกที่จำเป็นสำหรับการประกอบตู้ในขณะนี้ อ้างถึง CAD แล้วเดินจากล่างขึ้นบน ประกอบชิ้นส่วนด้วยอะครีลิคซีเมนต์เข้าด้วยกันเพื่อให้ได้กล่อง โดยมีนั่งร้านอยู่ด้านบน/ล่าง ใช้เครื่องวัดเส้นผ่าศูนย์กลางและแผ่นไม้บรรทัด (เนื่องจากกล่องของคุณโปร่งใส) เป็นแนวทางสำหรับกระบวนการประกอบที่ง่ายขึ้น

ขั้นตอนที่ 4: การออกแบบอุปกรณ์อิเล็กทรอนิกส์

การออกแบบอิเล็กทรอนิกส์
การออกแบบอิเล็กทรอนิกส์
การออกแบบอิเล็กทรอนิกส์
การออกแบบอิเล็กทรอนิกส์
การออกแบบอิเล็กทรอนิกส์
การออกแบบอิเล็กทรอนิกส์

รายการส่วนประกอบ / อิเล็กทรอนิกส์:

  1. แหล่งจ่ายไฟ 5V/10A (จำนวน: 1)
  2. ตัวแปลงบูสต์ 3V-35V (จำนวน: 2)
  3. 12V DC Dosing Peristaltic Pump (จำนวน: 1)
  4. 2200 มล./นาที ปั๊มรีดท่อ (จำนวน: 1)
  5. ความถี่แผ่นเซรามิก Icstation 20 มม. = 113KHz พร้อมแผงไดรเวอร์ (จำนวน: 2)
  6. RGB LED Strip (จำนวน: 1)
  7. ชุดสายไฟ 18 AWG และ 24 AWG
  8. เครื่องทอลวด 1/4"
  9. Raspberry Pi 3 + Google Voice Hat (คุณต้องมีหมวกเสียง + ไมโครโฟนที่นี่และไม่ใช่ลำโพง)
  10. Arduino Nano พร้อมสาย Mini USB
  11. ~3-24V รีเลย์ SSR โหลดแรงดันไฟฟ้าผ่านรู
  12. Protoboard ครึ่งขนาด

คุณต้องใช้แหล่งจ่ายไฟแบบปรับแรงดันไฟฟ้าได้ มัลติมิเตอร์ เตารีดแบบแข็ง และปืนกาวร้อนตลอดกระบวนการนี้

หมายเหตุ: นี่เป็นต้นแบบที่รวดเร็วและมีทางเลือกที่ดีกว่าสำหรับส่วนประกอบและการเชื่อมต่อบางอย่าง หากคุณรู้ว่าคุณกำลังทำอะไรอยู่ อย่าลังเลที่จะเปลี่ยนทางเลือกอื่นที่ทำได้

ฉันแฮ็กแหล่งจ่ายไฟ 5V/10A เอาต์พุตเดี่ยวลงในแหล่งจ่ายไฟแบบมัลติเอาต์พุตโดยถอดปลั๊กออกและเพิ่มสายเคเบิลแบบหลายเกลียวของตัวเองสำหรับส่วนประกอบแต่ละส่วน

  • สาย 5V สำหรับบอร์ดควบคุม Icstation
  • สาย 5V สำหรับ RGB LEDs
  • สาย 5V สำหรับ Raspberry Pi 3
  • สาย 12V (ตัวแปรผ่าน Boost Converter) สำหรับการจ่ายปั๊มรีดท่อ
  • สาย 24V (ตัวแปรผ่าน Boost Converter) สำหรับปั๊มรีดท่อรีดฝนที่มีอัตราการไหลสูง

ฉันนำเส้นแต่ละเส้นมารวมกันในเครื่องทอลวดเพื่อให้ดูเป็นระเบียบเรียบร้อย ฉันยังเพิ่มฝาปิดในสาย 5V เพื่อป้องกันไม่ให้ไฟฟ้ากระเพื่อมเนื่องจากมันเชื่อมต่อกับ Raspberry Pi โดยตรง

การเชื่อมต่อพื้นฐาน:

ฉันเชื่อมต่อหนึ่งในสาย 5V โดยตรงกับ Raspberry Pi -- ด้านหลังของบอร์ดกับ PP1 และ PP6 เพื่อไม่ให้ใช้สาย mini usb เนื่องจากมีพื้นที่จำกัด Pi มี Google Voice Hat อยู่ด้านบน ฉันใช้โปรแกรมที่มีอยู่แล้วสำหรับการสลับอนุกรมและย้ายไปยัง Arduino Nano Nano นี้เชื่อมต่อกับ Pi 3 ผ่านสาย mini USB แบบสั้น Arduino Nano มีการเชื่อมต่อกับโปรโตบอร์ดสำหรับเปิด/ปิดรีเลย์ซึ่งจะเปิด/ปิดเครื่องสูบน้ำ/เครื่องสร้างหมอก

โปรโตบอร์ดมีรีเลย์สามตัวพร้อมสายโหลด 5V, 12V และ 24V แต่ละตัว รีเลย์แต่ละตัวยังเชื่อมต่อกับพินแยกต่างหากบน Arduino (D5, D7 และ D8) อ้างถึงไดอะแกรมรีเลย์เกี่ยวกับวิธีการต่อสายหน้าสัมผัสรีเลย์สำหรับการดำเนินการสลับบางอย่าง A1/A2 จะเป็นสายจาก Arduino ในขณะที่ 13+, 14 จะเป็นสายของคุณเพื่อทำให้วงจรสมบูรณ์สำหรับการโหลด ฉันใช้รีเลย์เพื่อการแยกที่ดี แต่คุณสามารถแทนที่ด้วยทรานซิสเตอร์ได้เช่นกัน จำไว้ว่าต้องมีการต่อลงดินร่วมกันระหว่างโหลดกับ Arduino เพื่อให้วงจรทำงาน

เครื่องสะท้อนเสียงเซรามิก

เซรามิกเรโซเนเตอร์/เพียโซมาพร้อมกับบอร์ดควบคุม ซึ่งคุณสามารถตรวจสอบแยกกันได้บนแหล่งจ่ายไฟแบบแปรผัน พื้นผิวเซรามิกด้านบนต้องสัมผัสกับน้ำจึงจะสร้างหมอกได้ เมื่อคุณทดสอบแผงไดรเวอร์แล้ว ให้ต่อสายไฟ 5V เข้ากับสายไฟโดยตรง โดยมีรีเลย์อยู่ระหว่าง (ดังด้านบน) เมื่อเปิดรีเลย์และวงจรเสร็จสมบูรณ์ คุณจะเห็นว่าน้ำถูกเปลี่ยนเป็นหมอก

ไฟ LED

LED Neopixel จาก Adafruit ถูกควบคุมโดยตรงด้วยสายควบคุมไปยัง Arduino โดยไม่ต้องใช้รีเลย์ใดๆ ฉันตัดแถบยาวนี้ออกเป็นหลายส่วนโดยแต่ละ LED 15 ดวง ดูหน้านี้เกี่ยวกับวิธีการตัดและเชื่อมต่อ LED เหล่านี้ หลังจากสร้าง LED หลายส่วนแล้ว (ดังที่เห็นในภาพ) ฉันเก็บซิลิโคนที่หุ้มไว้และเพิ่มกาวร้อนที่ปลายเพื่อกันน้ำทุกอย่าง ฉันติดแต่ละส่วนไว้ที่ด้านล่างของถาดกันฝนเพื่อการกระจายแสงที่ดีและสม่ำเสมอ

ปั๊มรีดท่อ

ดังที่ได้กล่าวไว้ก่อนหน้านี้ มีปั๊มรีดท่อสองเครื่องในขวดโหลนี้ การจ่ายน้ำแบบเพอริสตัลติกจะส่งน้ำปริมาณเล็กน้อยสำหรับเครื่องกำเนิดหมอก อ่างเก็บน้ำหมอกมีเรโซเนเตอร์เซรามิกสองตัวที่สัมผัสกับน้ำ แต่น้ำไม่ได้หมดเร็วมาก เป็นผลให้ปั๊มนี้ไม่ทำงานบ่อยนักเพื่อเติมน้ำในอ่างเก็บน้ำหมอก (อันที่จริงฉันลงเอยด้วยการลบมันออกจากโค้ดและเพียงแค่เติมอ่างเก็บน้ำหมอกด้วยตนเองในบางครั้งโดยยกฝาด้านบนของ terrarium)

ในทางกลับกัน 24V, 2200mL/min peristaltic ใช้สำหรับฝนและถูกเลือกสำหรับปริมาณที่สูงนี้ แม้ว่า 24V จะสร้างอัตราการไหลที่สูงเกินไปสำหรับสวนขวด คุณสามารถเปลี่ยนแรงดันไฟฟ้าบน Boost Converter เพื่อเปลี่ยนอัตราการไหลของปั๊มนี้เป็นการตั้งค่าที่เหมาะสมที่สุด

ขั้นตอนที่ 5: การประกอบและการทดสอบ

Image
Image

การประกอบ

เจาะ

อุปกรณ์อิเล็กทรอนิกส์ (ปั๊ม Peristaltic 2 ตัว, RPi + Voice Hat/ไมโครโฟน, Nano, Piezo Driver Boards, Relay Protoboard) อยู่ที่ด้านล่างสุด 6 L ของ terrarium ฉันไปประกอบจากล่างขึ้นบนตามโมเดล 3 มิติ สว่าน สองรู (แต่ละอันประมาณ 1/4 นิ้ว) ที่ด้านหลังของส่วนอิเล็กทรอนิกส์ด้านล่าง - รูหนึ่งสำหรับสายไฟของส่วนประกอบทั้งหมด ในขณะที่อีกรูสำหรับท่อของปั๊มรีดท่อ

เจาะรูหนึ่งรูโดยเหลือ 1/4 จากฝาด้านบนเพื่อให้ท่อน้ำฝนเข้ามาได้ เจาะรูเล็กๆ อีกรูหนึ่งเพื่อให้สายไฟ LED ออกมาและเข้าไปในนาโนที่ด้านล่าง ทดสอบอุปกรณ์อิเล็กทรอนิกส์ทั้งหมดเป็นครั้งสุดท้ายก่อน วางไว้ในกล่อง

ตำแหน่งและกันซึม

ถึงตอนนี้ ส่วนอะคริลิกทั้งหมดควรจะติดอยู่กับที่ตั้งแต่ขั้นตอนการออกแบบสิ่งที่แนบมา วางอุปกรณ์อิเล็กทรอนิกส์ที่กล่าวถึงข้างต้นไว้ในกล่องหุ้มด้านล่างแล้วปิดฝา สิ่งสำคัญคือต้องปิดฝานี้อย่างระมัดระวังเพื่อให้กันน้ำได้ ฝาปิดไม่สนิทในกล่องเพื่อให้มีที่ว่างสำหรับกาวที่จะไหลได้ง่ายและปิดช่องว่าง ฉันใช้อีพ็อกซี่ เทลงที่ด้านข้างของฝาแล้วปล่อยให้วิ่งบนนั่งร้านที่ทำขึ้นเพื่อยึดฝา กาวควรวิ่งและปิดช่องว่างได้อย่างราบรื่น ปล่อยให้หมักทิ้งไว้ข้ามคืน จากนั้นจึงทำการป้องกันน้ำอีกชั้นหนึ่งด้วย GE Sealant

ชุดฝนและหมอก

การประกอบถาดรองน้ำฝนพร้อมถังเก็บละอองน้ำ (มีแผ่นเซรามิกอยู่ด้านล่าง) ควรมารวมกันในขั้นตอนการออกแบบตัวเครื่อง ไฟ LED ควรติดที่ด้านล่างของถาดน้ำฝนจากขั้นตอนก่อนหน้า และสายไฟสำหรับเรโซเนเตอร์เซรามิกจะออกมาจากรูตามลำดับที่ด้านบน/ด้านหลังของกล่อง คุณสามารถปล่อยให้ชุดประกอบเครื่องทำฝน + หมอกนั่งบนนั่งร้านที่ด้านบนของกล่อง ก่อนปิดฝาด้านบน ให้นำท่อของปั๊มเข้าไปในรูที่เจาะก่อนหน้านี้เหนือถาดกันฝนเพื่อจุดประสงค์นี้ ตัดส่วนเล็กๆ ของท่อและใช้ขั้วต่อแบบมีหนามเพื่อสร้างช่องจ่ายน้ำหลายช่องเพื่อให้น้ำไหลเข้าถาดได้อย่างทั่วถึง หน้าฝนจะมีลักษณะสม่ำเสมอแบบนี้ใน terrarium คุณสามารถใช้ขวดกดน้ำบีบเพื่อเติมน้ำในถังเก็บละอองน้ำก่อนปิดฝาเพื่อทดสอบเมื่อทุกอย่างอยู่ในกล่อง

การทดสอบ

ฉันเสียบปลั๊กไฟที่ทำให้ RPi ออนไลน์ ก่อนหน้านี้ได้รับการกำหนดค่าให้เชื่อมต่อกับเครือข่าย wifi ในพื้นที่ของฉัน ฉันสามารถสอบถามเครือข่ายสำหรับ IP ของ Pi ได้ หลังจากนั้นฉันใช้การแชร์หน้าจอในตัวบน Mac เพื่อลงชื่อเข้าใช้ Pi ซึ่งช่วยให้ฉันสามารถทดสอบและเรียกใช้สิ่งต่างๆ จากระยะไกล โดยไม่ต้องเสียบสาย HDMI ในกล่อง ฉันใช้โปรแกรมที่ตั้งไว้ล่วงหน้า (ดูขั้นตอนซอฟต์แวร์สำหรับโปรแกรมที่ทำงานบน Pi/Arduino สำหรับส่วนประกอบต่าง ๆ) เพื่อทดสอบทุกอย่างก่อนที่จะดำเนินการในขั้นตอนต่อไป

ขั้นตอนที่ 6: การออกแบบ Terrarium (การจัดสวน)

การออกแบบ Terrarium (การจัดสวน)
การออกแบบ Terrarium (การจัดสวน)

นี่อาจเป็นส่วนที่สนุกที่สุดของกระบวนการทั้งหมด คุณจะได้ออกล่าหรือซื้อพืช! ฉันไปรอบๆ ศูนย์สวนในท้องถิ่น รวมถึงที่โฮมดีโปในท้องถิ่น ร้านขายต้นไม้ในบริเวณใกล้เคียง และแม้แต่เดินในละแวกของฉันซึ่งมีพื้นที่สีเขียวมากมาย เนื่องจากสภาพอากาศชื้น ปิดและเปลี่ยนแปลงอย่างมากภายในสวนขวด ฉันจึงพยายามค้นหาพืชที่มีภูมิอากาศแบบเขตร้อนที่ยืดหยุ่นได้ คุณต้องมีสิ่งต่อไปนี้เพื่อเตรียมเตียงสำหรับปลูก:

  • ดินดำ
  • เพอร์ไลต์
  • กรวด
  • ถ่านกัมมันต์

กรองน้ำผ่านดินลงไปที่อ่างเก็บน้ำเพื่อนำกลับมาใช้ใหม่เป็นฝนอีกครั้ง ใช้ตาข่ายลวดละเอียด (เช่น ตาข่ายไฟเบอร์กลาส) เป็นฐานก่อนวางบนเตียงดิน วางถ่านกัมมันต์เป็นชั้นล่างสุดใน terrarium วิธีนี้จะช่วยป้องกันไม่ให้เชื้อราเติบโตภายในสวนขวดและยังช่วยควบคุมกลิ่นเหม็นอีกด้วย คลุมชั้นนี้ด้วยกรวดเพื่อให้น้ำมีชั้นกรองอีกชั้นหนึ่งและสิ่งสกปรกไม่ไหลลงสู่อ่างเก็บน้ำอย่างอิสระ ผสมดินดำและเพอร์ไลต์ในอัตราส่วน 1:1 เพื่อให้คุณมีสื่อปลูกที่โปร่งสบายและระบายน้ำได้ดี ตอนนี้คุณพร้อมที่จะปลูกแล้ว

หมายเหตุ: หากต้องการทิ้งของทั้งหมดลงในกล่องโดยไม่แตะผนัง ฉันสร้างรูปทรงคล้ายกรวยโดยใช้กระดาษและวัสดุในกล่องผ่านช่องเปิดนั้น และไม่โยนเข้าไปโดยตรง

ฉันเก็บท่อนไม้และตะไคร่น้ำเล็กๆ จากลำต้นของต้นไม้ในละแวกบ้าน และพืชเมืองร้อนขนาดเล็กที่หลากหลายในร้านขายต้นไม้ในท้องถิ่น ฉันพบต้นส้มบอนไซที่เหมาะกับความต้องการด้านรูปลักษณ์และสิ่งที่สามารถอยู่รอดได้ในสภาพอากาศเฉพาะที่ Home Depot ฉันใช้ชีทมอสและมอสสเปน (พบได้ทั่วไปในศูนย์สวน) เพื่อให้มีสีเขียวตามธรรมชาติเหนือดินในสวนขวด

ส่วนเรื่องการปลูก ผมเปลี่ยนจากเล็กไปใหญ่ครับ ฉันใช้แหนบใส่ต้นไม้เล็กๆ และวางตะไคร่น้ำด้วยมือ ก่อนที่ฉันจะได้รูปลักษณ์ที่ในที่สุดฉันก็พอใจ คุณควรรดน้ำสวนขวดหนึ่งครั้งและปล่อยให้มันนั่งสักหนึ่งหรือสองวันเพื่อให้ต้นไม้ปรับตัวและปลูกรากในเตียงใหม่นี้

ขั้นตอนที่ 7: ซอฟต์แวร์

คำแนะนำเหล่านี้ส่วนใหญ่มาจาก github ที่นี่พร้อมรหัสทั้งหมด ฉันจะยังคงทิ้งพวกเขาไว้ที่นี่เพื่อให้เสร็จ ในขณะที่ฉันใช้ Google Assistant ตามที่เห็นในวิดีโอ Terrarium ยังเป็น Google Voice Hat ที่มีไมโครโฟนอยู่ใน Terrarium นั้นเองโดยฟังคำสั่ง คุณสามารถเลือกใช้ AIR Voice Hat ตามคำแนะนำที่นี่

ก่อนคุณเริ่ม

DialogFlow / Actions on Google

ทำตามขั้นตอนที่นี่เพื่อสร้างตัวแทน Dialogflow เราใช้ความตั้งใจต้อนรับที่อนุญาตให้ผู้ใช้เริ่มพูดคุยกับ terrarium มีเจตนาเพิ่มเติมสำหรับผู้ใช้ในการสอบถามเกี่ยวกับสภาพอากาศ ณ สถานที่บางแห่ง เวลา (เช่น: 'แสดงสภาพอากาศในซีแอตเทิล') หรือเรียกใช้การดำเนินการที่ชัดเจน (เช่น: 'ทำให้ฝนตก')

คุณจะต้องปรับใช้ฟังก์ชั่นระบบคลาวด์ของคุณซึ่งถูกแมปกับการกระทำของผู้ใช้

-> ทำตามคำแนะนำที่นี่เพื่อเปิดใช้งานฟังก์ชั่นคลาวด์สำหรับ firebase -> ขั้นตอนในการปรับใช้ฟังก์ชันจาก CLI อยู่ภายใต้ Deploy Your Functions with the Firebase CLI บนลิงก์เดียวกับด้านบน

Cloud PubSub ตั้งค่าโปรเจ็กต์ Cloud PubSub ตามลิงค์นี้

ทำตามขั้นตอนเพื่อสร้างหัวข้อ เราสร้างหัวข้อชื่อ 'สภาพอากาศ' ในโครงการของเรา ซึ่งเราได้เพิ่มการสมัครรับข้อมูลของเรา เราใช้การสมัครสมาชิกแบบดึงเท่านั้นในโปรเจ็กต์นี้ การสมัครสมาชิกคือ terrarium ได้รับการตั้งชื่อว่า weather-detail

จดบันทึกรหัสโปรเจ็กต์สำหรับโปรเจ็กต์นี้ เนื่องจากจะสะดวกต่อการเรียกใช้ไคลเอ็นต์ฟังในภายหลัง

Openweather APIรับคีย์ API ของคุณจาก openweathermap.org เพิ่มคีย์นี้ในฟังก์ชันระบบคลาวด์เพื่อให้ฟังก์ชันเหล่านั้นสามารถ ping เซิร์ฟเวอร์สภาพอากาศเมื่อผู้ใช้ขอข้อมูลเฉพาะ ติดตั้ง NodeJS

ติดตั้ง NodeJS บน RPi. ของคุณ

วิธีเรียกใช้โมดูลเหล่านี้

การปรับใช้ฟังก์ชัน Dialogflow Cloud

ไปที่ไดเร็กทอรีของฟังก์ชันของคุณและรันคำสั่งต่อไปนี้ตามลำดับ

ติดตั้ง $ npm

$ เข้าสู่ระบบ firebase

$ firebase init

และสุดท้าย รันสิ่งต่อไปนี้เพื่อปรับใช้ฟังก์ชันของคุณ:

$ firebase ปรับใช้

ลิงก์ของฟังก์ชันที่ปรับใช้จะกลายเป็น URL ของเว็บฮุคสำหรับ Dialogflow. Cloud PubSub

นำทางไปยังไดเร็กทอรีของไฟล์ subscription.js & package.json และรันการติดตั้ง npm เพื่อติดตั้งการพึ่งพา เมื่อคุณพร้อม ให้เรียกใช้ node subscritpions.js listen-messages weather-detail โดยที่ weather-detail คือการสมัครรับข้อมูลที่คุณสร้างขึ้นจากขั้นตอนที่แล้ว Google Assistant / AIY Voice Kit ทดสอบการใช้งาน

คุณสามารถใช้ Google Home หรือ AIY Voice Kit เพื่อโต้ตอบกับ Terrarium ได้ การตั้งค่าแอพด้านบนยังคงเหมือนเดิมสำหรับทั้งคู่

ทำตามคำแนะนำที่นี่เพื่อทดสอบและทำให้แอปของคุณใช้งานได้บน Google Assistant จากนั้นคุณสามารถใช้ Google Assistant ที่เชื่อมโยงกับบัญชีของคุณโดยพูดคุยกับบัญชีเพื่อกระตุ้น Terrarium และถามเกี่ยวกับสภาพอากาศ

ขั้นตอนที่ 8: เรียกใช้ Terrarium

การติดตามการตั้งค่าทั้งหมดนี้อาจดูยากลำบาก แต่จริง ๆ แล้วสนุกและมีส่วนร่วมในขณะที่ทำงานกับต้นไม้ ถ้าทำถูกในที่สุด ก็น่าจะพูดได้ประมาณ

'Ok Google สภาพอากาศในซีแอตเทิลเป็นอย่างไร', 'Ok Google, Make it Rain' ฯลฯ และดูผลลัพธ์อันมหัศจรรย์ใน Terrarium ของคุณ

เพลิดเพลินไปกับสวนขวดใหม่ของคุณและอวดให้เพื่อนของคุณดู!

ขั้นตอนที่ 9: ผู้มีส่วนร่วม / NOTE

  • สร้างโดย Harpreet Sareen และผองเพื่อนที่ Google Creative Lab
  • โครงการนี้เป็นไปตามหลักเกณฑ์ของชุมชนโอเพ่นซอร์สของ Google อ้างถึงที่นี่สำหรับใบอนุญาตและแนวทางอื่น ๆ
  • หมายเหตุ: นี่ไม่ใช่ผลิตภัณฑ์ Google ที่ได้รับการสนับสนุนอย่างเป็นทางการ

แนะนำ: