สารบัญ:
- ขั้นตอนที่ 1: ทรัพยากรที่จำเป็น
- ขั้นตอนที่ 2: Google Assistant
- ขั้นตอนที่ 3: การตัดสายไฟ
- ขั้นตอนที่ 4: ต่อปั๊มเข้ากับรีเลย์
- ขั้นตอนที่ 5: การต่อพาวเวอร์ซัพพลายเข้ากับรีเลย์
- ขั้นตอนที่ 6: เชื่อมต่อ Raspberry Pi กับ Relay
- ขั้นตอนที่ 7: ยึดปั๊ม
- ขั้นตอนที่ 8: กำกับน้ำ
- ขั้นตอนที่ 9: นำทุกอย่างมารวมกัน
- ขั้นตอนที่ 10: การทดสอบฮาร์ดแวร์ Works
- ขั้นตอนที่ 11: การนำเข้า Flask
- ขั้นตอนที่ 12: สร้างโฟลเดอร์สำหรับโปรแกรมของเราและไปที่มัน
- ขั้นตอนที่ 13: การเข้ารหัสเว็บเซิร์ฟเวอร์
- ขั้นตอนที่ 14: การทดสอบโค้ดทำงาน
- ขั้นตอนที่ 15: การขุดอุโมงค์
- ขั้นตอนที่ 16: การติดตั้ง Ngrok
- ขั้นตอนที่ 17: ทดสอบ Ngrok
- ขั้นตอนที่ 18: IFFF
- ขั้นตอนที่ 19: เสร็จแล้ว
- ขั้นตอนที่ 20: การแข่งขัน IOT
วีดีโอ: Ok Google Plant Waterer/ปืนฉีดน้ำ: 20 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:05
นี่เป็นโครงการสนุก ๆ ที่ใช้ Google Home หรือโทรศัพท์เครื่องใดก็ได้ที่มีผู้ช่วยของ Google เพื่อฉีดน้ำใส่ใครบางคนหรือรดน้ำต้นไม้ นอกจากนี้ยังมีศักยภาพในการใช้งานอื่นๆ อีกมาก เช่น ไฟ เครื่องทำความร้อน พัดลม ฯลฯ หากคุณชอบสิ่งนี้ โปรดลงคะแนนให้โครงการนี้ในการแข่งขัน IOT ขอบคุณ.
ขั้นตอนที่ 1: ทรัพยากรที่จำเป็น
คุณจะต้องมีสิ่งต่อไปนี้:
- ราสเบอร์รี่ pi (รุ่นใดก็ได้ที่เข้าถึงอินเทอร์เน็ตได้)
- ปั้มน้ำ12v(อันนี้ผมใช้)
- แหล่งจ่ายไฟ 12v (ใช้อันนี้หรืออันหนึ่งที่วางอยู่รอบ ๆ)
- รีเลย์ 5v 2 ช่องสัญญาณ (อันนี้ผมใช้นะครับ)
- จัมเปอร์ผู้หญิงกับผู้หญิงบางคนนำไปสู่
- กล่องพลาสติกใส่น้ำ
- ทางหนึ่งให้น้ำไหลออกจากปั๊ม (ผมงอท่อพลาสติกแต่ใช้หลอดดูดได้)
เราใช้รีเลย์เนื่องจากช่วยให้สามารถเปิดเครื่องจากระยะไกลด้วย Raspberry Pi แทนที่จะต้องอยู่ที่นั่นเพื่อเปิดเครื่องเหมือนกับที่คุณทำหากเป็นเพียงสวิตช์
ขั้นตอนที่ 2: Google Assistant
ตรวจสอบให้แน่ใจว่าคุณมีวิธีเข้าถึงผู้ช่วยของ Google คุณสามารถใช้ google home หรือโทรศัพท์
ขั้นตอนที่ 3: การตัดสายไฟ
ใช้คีมตัดสายไฟเพื่อตัดแล้วดึงปลายของแหล่งจ่ายไฟ 12v และปั๊มออก เพื่อให้สามารถต่อเข้ากับรีเลย์ได้ ตรวจสอบให้แน่ใจว่าได้ถอดปลอกหุ้มเพียงพอเพื่อให้มีการเชื่อมต่อที่แน่นหนา
ขั้นตอนที่ 4: ต่อปั๊มเข้ากับรีเลย์
- คลายเกลียวขั้วกลางของรีเลย์ทั้งสอง
- ใส่สายไฟจากปั๊มน้ำ
- เมาอีกแล้ว
ขั้นตอนที่ 5: การต่อพาวเวอร์ซัพพลายเข้ากับรีเลย์
- คลายเกลียวขั้ว
- ใส่สายไฟจากแหล่งจ่ายไฟ 12v ใน
- ขันกลับเข้าที่
ขั้นตอนที่ 6: เชื่อมต่อ Raspberry Pi กับ Relay
เชื่อมต่อ raspberry pi กับรีเลย์ตามที่แสดงในแผนภาพด้านบน คุณจะต้องเชื่อมต่อรีเลย์กับกราวด์ 5v และ 2 พิน GPIO
ขั้นตอนที่ 7: ยึดปั๊ม
ใช้บลูแทคหรือเทปพันสายไฟเพื่อยึดปั๊มไว้ในภาชนะพลาสติก
ขั้นตอนที่ 8: กำกับน้ำ
หากคุณต้องการให้น้ำพุ่งไปที่ใบหน้าของใครบางคน จะต้องถูกชี้นำ ในการทำเช่นนี้ ฉันใช้ปืนความร้อนเพื่อดัดท่อพลาสติกให้เป็นรูปร่างที่แสดงด้านบน จากนั้นฉันก็ปิดฝาปากกาไว้ด้านบน หรือคุณสามารถใช้ฟาง
หากคุณต้องการรดน้ำต้นไม้ คุณสามารถเพิ่มหลอดพลาสติกหรือด้านในของปากกา
ขั้นตอนที่ 9: นำทุกอย่างมารวมกัน
ฉันเพิ่มกล่องพลาสติกอีกอันแล้วใส่ราสเบอร์รี่ pi แล้วเสียบเข้าไปเพื่อไม่ให้มันเปียก
ฉันได้รวมแผนภาพวงจรด้านบนเพื่อทำให้วงจรชัดเจนขึ้นเล็กน้อย
ขั้นตอนที่ 10: การทดสอบฮาร์ดแวร์ Works
ในการทดสอบการทำงานของปั๊มให้รันโค้ดต่อไปนี้บน raspberry pi สิ่งนี้ควรปิดปั๊มแล้วเปิดใหม่ (หรือในทางกลับกัน)
จาก gpiozero นำเข้า LED
เวลานำเข้า #นี้จะนำเข้าโมดูลที่เกี่ยวข้องที่เราต้องการสำหรับรหัสนี้
รีเลย์ = LED(14)
รีเลย์2 = LED(15) #กำหนดรีเลย์ LED
ในขณะที่จริง:
relay.on() #คุณเดาได้… เปิดรีเลย์รีเลย์ ปิด() #คุณเดาได้… ปิดรีเลย์ time.sleep(1) #sleeping for 1 วินาที relay.on() #relay on relay.off () #รีเลย์ปิด time.sleep(1) #sleeping
ขั้นตอนที่ 11: การนำเข้า Flask
วิธีที่ง่ายที่สุดในการควบคุม raspberry pi ของ Google Assistant คือการโฮสต์เว็บเซิร์ฟเวอร์ จากนั้นเราจะสามารถให้ Google ไปที่หน้าบนเซิร์ฟเวอร์นั้นเมื่อใดก็ตามที่คุณพูดอะไรบางอย่างและเขียนโค้ด Raspberry Pi เพื่อเปิดและปิดรีเลย์เมื่อมีการเยี่ยมชมเซิร์ฟเวอร์ หากคุณต้องการบทช่วยสอนเชิงลึกเกี่ยวกับขวด: ไปที่บทช่วยสอนนี้โดย raspberry pi
ในราสเบอร์รี่ pi ของคุณนำเข้าโมดูลขวดบน python
- ตรวจสอบให้แน่ใจว่าคุณเชื่อมต่อกับอินเทอร์เน็ต
- เปิดเทอร์มินัล
- พิมพ์ใน:
sudo pip3 ติดตั้งขวด
หากไม่ได้ผล:
- ตรวจสอบให้แน่ใจว่าคุณเชื่อมต่อกับอินเทอร์เน็ต
- ดูคู่มือนี้สิ
ขั้นตอนที่ 12: สร้างโฟลเดอร์สำหรับโปรแกรมของเราและไปที่มัน
ทำได้โดยเปิดเทอร์มินัลแล้วพิมพ์ใน:
mkdir webapp
cd webapp
ขั้นตอนที่ 13: การเข้ารหัสเว็บเซิร์ฟเวอร์
- เปิดไม่ได้ใช้งาน3
- ไฟล์ > สร้างใหม่
- บันทึกไว้ในโฟลเดอร์เว็บแอปที่คุณเพิ่งสร้างขึ้น
- ใส่รหัสนี้
จากการนำเข้าขวด นำเข้าขวดจาก gpiozero เวลานำเข้า LED #เหล่านี้คือการนำเข้าโมดูลที่จำเป็นสำหรับการถ่ายทอดโครงการนี้ = LED(14) รีเลย์2 = LED(15) #กำหนดแอป LED ให้รีเลย์ = ขวด(_name_) #กำหนดชื่อตัวแปรให้ขวด เรียกใช้โค้ดได้ง่ายขึ้นในภายหลังใน @app.route('/', methods=['GET']) #doing a GET บนหน้าเว็บ """ฟังก์ชันนี้จะส่งคืนสิ่งที่แสดงบนหน้าหลัก """ def index(): return 'Main page' @app.route('/on') #turning on the relays through the function below """เปิดรีเลย์และพิมพ์ hi เพื่อตรวจสอบว่าฟังก์ชันทำงานอย่างถูกต้อง" "" def on(): print("hi") relay.on() relay2.off() return 'on' @app.route('/off') #shutting off the relays through the function below """เปลี่ยน ปิดรีเลย์และพิมพ์ hi เพื่อตรวจสอบว่าฟังก์ชั่นทำงานอย่างถูกต้อง""" def off(): print("hi") relay.off() relay2.on() return 'off' @app.route('/go') #running ฟังก์ชั่น go """ฟังก์ชั่นนี้เปิดรีเลย์เพื่อให้ฉีดน้ำ""" def go(): relay.on() r elay2.off() time.sleep(3) relay.off() relay2.on() return ('go') """การเข้าถึงหน้าเว็บผ่านพอร์ตที่เกี่ยวข้อง (ปกติ 8000 จะเป็นบ้าน) และโฮสต์""" ถ้า _name_ == '_main_': app.run(debug=True, port = 8000, host='0.0.0.0')
ความคิดเห็นอธิบายสิ่งที่เกิดขึ้นในรหัส
ขั้นตอนที่ 14: การทดสอบโค้ดทำงาน
เปิดเว็บเบราว์เซอร์ของคุณและป้อน URL
คุณควรเห็นหน้าจอสีขาว แต่ควรจะได้ยินเสียงคลิกของรีเลย์ที่กำลังดำเนินอยู่ หรือหากเสียบปลั๊กปั๊มอยู่ ก็ควรทำงานต่อไป
ในการปิดปั๊มไปที่
หมายเหตุ: 127.0.0.1 หมายถึง 'บ้าน' เช่น คอมพิวเตอร์เครื่องนี้:5000 หมายถึง 'พอร์ต 5000' ซึ่งเป็นพอร์ตที่เว็บเซิร์ฟเวอร์ทำงานอยู่ หากวิธีนี้ได้ผล คุณสามารถก้าวไปอีกขั้นโดย:
1. ค้นหาที่อยู่ IP ราสเบอร์รี่ pis ของคุณโดยพิมพ์ใน:
ชื่อโฮสต์ -I
2. บนคอมพิวเตอร์เครื่องใดก็ได้ที่เชื่อมต่อกับ wifi เดียวกันกับ pi ของคุณไปที่ pisipadress/on
สิ่งนี้ควรเปิดรีเลย์
นี่แสดงให้เห็นว่าคุณสามารถควบคุม raspberry pi ของคุณจากคอมพิวเตอร์เครื่องใดก็ได้ที่เชื่อมต่อกับ wifi เดียวกันกับ raspberry pi ของคุณ
ขั้นตอนที่ 15: การขุดอุโมงค์
ดังนั้นหน้าแรกของ Google สามารถเยี่ยมชมเว็บไซต์นี้ได้ คุณจะต้องสร้างอุโมงค์ข้อมูลเพื่อให้คอมพิวเตอร์ที่ไม่ได้เชื่อมต่อกับที่อยู่ IP เดียวกัน เนื่องจากคุณยังคงสามารถปิดและเปิดรีเลย์ได้ คุณสามารถทำได้ด้วย ngrok นี่คือโปรแกรมที่คุณสามารถติดตั้งบน raspberry pi ที่จะช่วยให้คุณเยี่ยมชมเว็บไซต์ของขวดจากคอมพิวเตอร์เครื่องใดก็ได้
เยี่ยมชมเว็บไซต์ของพวกเขาสำหรับข้อมูลเพิ่มเติม:
ขั้นตอนที่ 16: การติดตั้ง Ngrok
ป้อนลิงก์นี้บน raspberry pi ของคุณ: https://ngrok.com/download และทำตามคำแนะนำเพื่อดาวน์โหลดและตั้งค่า ngrok
ขั้นตอนที่ 17: ทดสอบ Ngrok
ตรวจสอบให้แน่ใจว่าเซิร์ฟเวอร์ขวดของคุณกำลังทำงานอยู่ เปิดเทอร์มินัลอื่นแล้วพิมพ์ cd webapp
จากนั้นเริ่ม ngrok โดยพิมพ์
./ngrok http 5000
นี่ควรแสดง URL ที่คุณควรไปบนอุปกรณ์ใดก็ได้ คัดลอกและส่งอีเมลถึงตัวคุณเองสำหรับขั้นตอนต่อไป
หากไม่ได้ผล:
- ตรวจสอบให้แน่ใจว่าขวดกำลังทำงานอยู่
- ตรวจสอบให้แน่ใจว่าคุณกำลังเรียกใช้ ngrok ในโฟลเดอร์เดียวกับโปรแกรมขวด
- ตรวจสอบให้แน่ใจว่าคุณได้คัดลอกลิงก์ที่ถูกต้อง (จะเปลี่ยนทุกครั้งที่คุณเริ่มโปรแกรมใหม่)
ขั้นตอนที่ 18: IFFF
IFFF: ถ้าอย่างนั้น นั่นคือโปรแกรมฟรีที่สามารถใช้เพื่อให้หน้าแรกของ Google ของคุณไปที่เว็บเซิร์ฟเวอร์เมื่อพูดอะไรบางอย่างกับมัน
ในการตั้งค่าให้ทำตามขั้นตอนเหล่านี้:
- เข้าไปที่ https://ifttt.com/ หรือดาวน์โหลดแอป
- สร้างบัญชี
- คลิกสร้างแอปเพล็ตใหม่ (บางครั้งภายใต้แอปเพล็ตของฉัน)
- คลิกที่นี่
- ค้นหา Google และเลือก Google Assistant
- คลิกพูดวลีง่ายๆ
- ใต้สิ่งที่คุณจะพูดใส่ "เปิดใช้งานปืนฉีดน้ำ"
- คลิกสร้างทริกเกอร์
- คลิกเลย
- ค้นหาเว็บ
- คลิกเว็บนูค
- คลิกสร้างคำขอเว็บ
- ภายใต้ URL ให้ป้อน URL ที่ ngrok ให้ไว้ก่อนหน้านี้/go
- ภายใต้ วิธี เลือก GET
- ภายใต้เนื้อหา เลือกข้อความ/ธรรมดา
- คลิกสร้าง
- คลิกเสร็จสิ้น
ขั้นตอนที่ 19: เสร็จแล้ว
ตอนนี้เมื่อคุณพูดว่า เฮ้ google (ใส่วลีที่คุณเลือก) ปั๊มควรเปิดขึ้น
หากไม่ได้ผล (ฉันใช้เวลาประมาณ 15 พยายามจึงจะใช้งานได้):
- ตรวจสอบให้แน่ใจว่าโปรแกรมทั้งหมดกำลังทำงานอยู่
- ตรวจสอบให้แน่ใจว่าลูกค้าเป้าหมายทั้งหมดเชื่อมต่ออยู่
- ตรวจสอบให้แน่ใจว่า URL ที่คุณป้อนใน IFTT เป็น URL ล่าสุด
- ตรวจสอบให้แน่ใจว่า raspberry pi เชื่อมต่อกับอินเทอร์เน็ต
ขั้นตอนที่ 20: การแข่งขัน IOT
หากคุณชอบบทช่วยสอนนี้ โปรดลงคะแนนให้เราในการแข่งขัน IOT ขอบคุณมาก.
แนะนำ:
Arduino Plant Monitor พร้อม Soil Capacitive Sensor - บทช่วยสอน: 6 ขั้นตอน
Arduino Plant Monitor พร้อม Soil Capacitive Sensor - บทช่วยสอน: ในบทช่วยสอนนี้ เราจะเรียนรู้วิธีตรวจจับความชื้นในดินโดยใช้เซ็นเซอร์ความชื้นแบบ capacitive พร้อมจอแสดงผล OLED และ Visuino ดูวิดีโอ
Smart Indoor Plant Monitor - รู้ว่าเมื่อใดที่พืชของคุณต้องการการรดน้ำ: 8 ขั้นตอน (พร้อมรูปภาพ)
Smart Indoor Plant Monitor - รู้ว่าเมื่อใดที่พืชของคุณต้องการการรดน้ำ: สองสามเดือนที่ผ่านมา ฉันทำแท่งตรวจสอบความชื้นในดินที่ใช้พลังงานจากแบตเตอรี่และสามารถติดอยู่ในดินในกระถางต้นไม้ในร่มของคุณ เพื่อให้ข้อมูลที่เป็นประโยชน์เกี่ยวกับดินแก่คุณ ระดับความชื้นและไฟ LED แฟลชเพื่อบอกคุณเมื่อต้องก
Touch Me Glow Plant!: 5 ขั้นตอน
Touch Me Glow Plant!: สวัสดีทุกคน หากคุณเป็นคนที่รักต้นไม้ในร่มและโคมไฟสร้างบรรยากาศ คุณกำลังต้องการของอร่อย ฉันจะแสดงให้คุณเห็นว่าการทำ "touch me glow plant" ของคุณเองนั้นง่ายเพียงใด ทำจาก Arduino ตัวต้านทานและลวดที่ทำหน้าที่เป็นฝาครอบ
IOT Water Pistol / Plant Waterer: 20 ขั้นตอน
IOT Water Pistol/plant Waterer: นี่เป็นโครงการสนุก ๆ ที่ใช้ Google Home หรือโทรศัพท์เครื่องใดก็ได้ที่มีผู้ช่วยของ Google เพื่อฉีดน้ำใส่ใครบางคนหรือรดน้ำต้นไม้ นอกจากนี้ยังมีศักยภาพในการใช้งานอื่นๆ อีกมาก เช่น ไฟ เครื่องทำความร้อน พัดลม ฯลฯ ถ้าคุณชอบสิ่งนี้
Servo Squirter - ปืนฉีดน้ำ USB: 5 ขั้นตอน
Servo Squirter - ปืนฉีดน้ำ USB: ปืนฉีดน้ำเซอร์โวแบบควบคุมด้วย USB เหมาะอย่างยิ่งสำหรับการยิงใส่ผู้สัญจรโดยที่ไม่สงสัย หรือทำให้ผู้คนมีคำถามที่น่ารำคาญที่อ่าว โปรเจ็กต์นี้เป็นเครื่องสูบน้ำขนาดเล็กที่ติดตั้งอยู่บนเซอร์โวสำหรับการยิงแบบมีทิศทาง สิ่งทั้งหมดถูกขับเคลื่อนโดยไมโคร