สารบัญ:

IOT Water Pistol / Plant Waterer: 20 ขั้นตอน
IOT Water Pistol / Plant Waterer: 20 ขั้นตอน

วีดีโอ: IOT Water Pistol / Plant Waterer: 20 ขั้นตอน

วีดีโอ: IOT Water Pistol / Plant Waterer: 20 ขั้นตอน
วีดีโอ: Water Your Garden with IoT - Soil Moisture Sensors 2024, กรกฎาคม
Anonim
IOT Water Pistol/เครื่องรดน้ำต้นไม้
IOT Water Pistol/เครื่องรดน้ำต้นไม้

นี่เป็นโครงการสนุก ๆ ที่ใช้ Google Home หรือโทรศัพท์เครื่องใดก็ได้ที่มีผู้ช่วยของ Google เพื่อฉีดน้ำใส่ใครบางคนหรือรดน้ำต้นไม้ นอกจากนี้ยังมีศักยภาพในการใช้งานอื่นๆ อีกมาก เช่น ไฟ เครื่องทำความร้อน พัดลม ฯลฯ หากคุณชอบสิ่งนี้ โปรดลงคะแนนให้โครงการนี้ในการแข่งขัน IOT ขอบคุณ.

ขั้นตอนที่ 1: ทรัพยากรที่จำเป็น

ทรัพยากรที่จำเป็น
ทรัพยากรที่จำเป็น

คุณจะต้องมีสิ่งต่อไปนี้:

  • ราสเบอร์รี่ pi (รุ่นใดก็ได้ที่เข้าถึงอินเทอร์เน็ตได้)
  • ปั้มน้ำ12v(อันนี้ผมใช้)
  • แหล่งจ่ายไฟ 12v (ใช้อันนี้หรืออันหนึ่งที่วางอยู่รอบ ๆ)
  • รีเลย์ 5v 2 ช่องสัญญาณ (อันนี้ผมใช้นะครับ)
  • จัมเปอร์ผู้หญิงกับผู้หญิงบางคนนำไปสู่
  • กล่องพลาสติกใส่น้ำ
  • ทางหนึ่งให้น้ำไหลออกจากปั๊ม (ผมงอท่อพลาสติกแต่ใช้หลอดดูดได้)

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

ขั้นตอนที่ 2: Google Assistant

ตรวจสอบให้แน่ใจว่าคุณมีวิธีเข้าถึงผู้ช่วยของ Google คุณสามารถใช้ google home หรือโทรศัพท์

ขั้นตอนที่ 3: การตัดสายไฟ

ตัดสายไฟ
ตัดสายไฟ

ใช้คีมตัดสายไฟเพื่อตัดแล้วดึงปลายของแหล่งจ่ายไฟ 12v และปั๊มออก เพื่อให้สามารถต่อเข้ากับรีเลย์ได้ ตรวจสอบให้แน่ใจว่าได้ถอดปลอกหุ้มเพียงพอเพื่อให้มีการเชื่อมต่อที่แน่นหนา

ขั้นตอนที่ 4: ต่อปั๊มเข้ากับรีเลย์

ต่อปั๊มเข้ากับรีเลย์
ต่อปั๊มเข้ากับรีเลย์
  1. คลายเกลียวขั้วกลางของรีเลย์ทั้งสอง
  2. ใส่สายไฟจากปั๊มน้ำ
  3. เมาอีกแล้ว

ขั้นตอนที่ 5: การต่อพาวเวอร์ซัพพลายเข้ากับรีเลย์

การต่อพาวเวอร์ซัพพลายเข้ากับรีเลย์
การต่อพาวเวอร์ซัพพลายเข้ากับรีเลย์
  1. คลายเกลียวขั้ว
  2. ใส่สายไฟจากแหล่งจ่ายไฟ 12v ใน
  3. ขันกลับเข้าที่

ขั้นตอนที่ 6: เชื่อมต่อ Raspberry Pi กับ Relay

เชื่อมต่อ Raspberry Pi กับรีเลย์
เชื่อมต่อ Raspberry Pi กับรีเลย์

เชื่อมต่อ raspberry pi กับรีเลย์ตามที่แสดงในแผนภาพด้านบน คุณจะต้องเชื่อมต่อรีเลย์กับกราวด์ 5v และ 2 พิน GPIO

ขั้นตอนที่ 7: ยึดปั๊ม

การรักษาความปลอดภัยปั๊ม
การรักษาความปลอดภัยปั๊ม

ใช้บลูแทคหรือเทปพันสายไฟเพื่อยึดปั๊มไว้ในภาชนะพลาสติก

ขั้นตอนที่ 8: กำกับน้ำ

กำกับน้ำ
กำกับน้ำ
กำกับน้ำ
กำกับน้ำ

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

หากคุณต้องการรดน้ำต้นไม้ คุณสามารถเพิ่มหลอดพลาสติกหรือด้านในของปากกา

ขั้นตอนที่ 9: นำทุกอย่างมารวมกัน

รวมทุกอย่างไว้ด้วยกัน
รวมทุกอย่างไว้ด้วยกัน
รวมทุกอย่างไว้ด้วยกัน
รวมทุกอย่างไว้ด้วยกัน
รวมทุกอย่างไว้ด้วยกัน
รวมทุกอย่างไว้ด้วยกัน

ฉันเพิ่มกล่องพลาสติกอีกอันแล้วใส่ราสเบอร์รี่ pi แล้วเสียบเข้าไปเพื่อไม่ให้มันเปียก

ฉันได้รวมแผนภาพวงจรด้านบนเพื่อทำให้วงจรชัดเจนขึ้นเล็กน้อย

ขั้นตอนที่ 10: การทดสอบฮาร์ดแวร์ Works

ในการทดสอบการทำงานของปั๊มให้รันโค้ดต่อไปนี้บน raspberry pi สิ่งนี้ควรปิดปั๊มแล้วเปิดใหม่ (หรือในทางกลับกัน)

จาก gpiozero นำเข้า LED

เวลานำเข้า #สิ่งนี้จะนำเข้าโมดูลที่เกี่ยวข้องที่เราต้องการสำหรับรหัสรีเลย์นี้ = LED(14) รีเลย์2 = LED(15) #กำหนดรีเลย์ LED ในขณะที่ True: relay.on() #คุณเดาได้… เปิดรีเลย์บนรีเลย์.off() #คุณเดาเอาเอง… ปิดรีเลย์ time.sleep(1) #sleeping for 1 วินาที relay.on() #relay on relay.off() #relay off time.sleep(1) #sleeping

ขั้นตอนที่ 11: การนำเข้า Flask

การนำเข้าขวด
การนำเข้าขวด

วิธีที่ง่ายที่สุดในการควบคุม raspberry pi ของ Google Assistant คือการโฮสต์เว็บเซิร์ฟเวอร์ จากนั้นเราจะสามารถให้ Google ไปที่หน้าบนเซิร์ฟเวอร์นั้นเมื่อใดก็ตามที่คุณพูดอะไรบางอย่างและเขียนโค้ด Raspberry Pi เพื่อเปิดและปิดรีเลย์เมื่อมีการเยี่ยมชมเซิร์ฟเวอร์ หากคุณต้องการบทช่วยสอนเชิงลึกเกี่ยวกับขวด: ไปที่บทช่วยสอนนี้โดย raspberry pi

ในราสเบอร์รี่ pi ของคุณนำเข้าโมดูลขวดบน python

  1. ตรวจสอบให้แน่ใจว่าคุณเชื่อมต่อกับอินเทอร์เน็ต
  2. เปิดเทอร์มินัล
  3. พิมพ์ใน:

sudo pip3 ติดตั้งขวด

หากไม่ได้ผล:

  • ตรวจสอบให้แน่ใจว่าคุณเชื่อมต่อกับอินเทอร์เน็ต
  • ดูคู่มือนี้สิ

ขั้นตอนที่ 12: สร้างโฟลเดอร์สำหรับโปรแกรมของเราและไปที่มัน

ทำได้โดยเปิดเทอร์มินัลแล้วพิมพ์ใน:

mkdir webapp

cd webapp

ขั้นตอนที่ 13: การเข้ารหัสเว็บเซิร์ฟเวอร์

  1. เปิดไม่ได้ใช้งาน3
  2. ไฟล์ > สร้างใหม่
  3. บันทึกไว้ในโฟลเดอร์เว็บแอปที่คุณเพิ่งสร้างขึ้น
  4. ใส่รหัสนี้

จากขวดนำเข้า Flask

จาก gpiozero นำเข้า LED เวลานำเข้า #เหล่านี้เป็นโมดูลการนำเข้าที่จำเป็นสำหรับการถ่ายทอดโครงการนี้ = LED(14) รีเลย์2 = LED(15) #กำหนดแอป LED รีเลย์ = Flask(_name_) #กำหนด Flask ชื่อตัวแปรเพื่อให้ง่ายขึ้น เพื่อเรียกใช้โค้ดในภายหลังบน @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') #การปิดรีเลย์ผ่านฟังก์ชั่นด้านล่าง """การปิดรีเลย์ และพิมพ์ hi เพื่อตรวจสอบว่าฟังก์ชั่นทำงานอย่างถูกต้อง""" def off(): print("hi") relay.off() relay2.on() return 'off' @app.route('/go') #running ฟังก์ชัน go """ ฟังก์ชันนี้เปิดรีเลย์เพื่อให้ฉีดน้ำ""" def go(): relay.on() relay2.off() time.sleep(3) relay.off() relay2.on() return ('go') """การเข้าถึงหน้าเว็บผ่านพอร์ตที่เกี่ยวข้อง (ปกติ 8000 จะเป็นบ้าน) และโฮสต์""" ถ้า _name_ == '_main_': แอป 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 ที่คุณควรไปบนอุปกรณ์ใดก็ได้ คัดลอกและส่งอีเมลถึงตัวคุณเองสำหรับขั้นตอนต่อไป

หากไม่ได้ผล:

  1. ตรวจสอบให้แน่ใจว่าขวดกำลังทำงานอยู่
  2. ตรวจสอบให้แน่ใจว่าคุณกำลังเรียกใช้ ngrok ในโฟลเดอร์เดียวกับโปรแกรมขวด
  3. ตรวจสอบให้แน่ใจว่าคุณได้คัดลอกลิงก์ที่ถูกต้อง (จะเปลี่ยนทุกครั้งที่คุณเริ่มโปรแกรมใหม่)

ขั้นตอนที่ 18: IFFF

IFFF
IFFF

IFFF: ถ้าอย่างนั้น นั่นคือโปรแกรมฟรีที่สามารถใช้เพื่อให้หน้าแรกของ Google ของคุณไปที่เว็บเซิร์ฟเวอร์เมื่อพูดอะไรบางอย่างกับมัน

ในการตั้งค่าให้ทำตามขั้นตอนเหล่านี้:

  1. เข้าไปที่ https://ifttt.com/ หรือดาวน์โหลดแอป
  2. สร้างบัญชี
  3. คลิกสร้างแอปเพล็ตใหม่ (บางครั้งภายใต้แอปเพล็ตของฉัน)
  4. คลิกที่นี่
  5. ค้นหา Google แล้วเลือก Google Assistant
  6. คลิกพูดวลีง่ายๆ
  7. ใต้สิ่งที่คุณจะพูดใส่ "เปิดใช้งานปืนฉีดน้ำ" หรืออะไรก็ได้ที่คุณต้องการ
  8. คลิกสร้างทริกเกอร์
  9. คลิกเลย
  10. ค้นหาเว็บ
  11. คลิกเว็บนูค
  12. คลิกสร้างคำขอเว็บ
  13. ภายใต้ URL ให้ป้อน URL ที่ ngrok ให้ไว้ก่อนหน้านี้/go
  14. ภายใต้ วิธี เลือก GET
  15. ภายใต้เนื้อหา เลือกข้อความ/ธรรมดา
  16. คลิกสร้าง
  17. คลิกเสร็จสิ้น

ขั้นตอนที่ 19: เสร็จแล้ว

ตอนนี้เมื่อคุณพูดว่า เฮ้ google (ใส่วลีที่คุณเลือก) ปั๊มควรเปิดขึ้น

หากไม่ได้ผล (ฉันใช้เวลาประมาณ 15 พยายามจึงจะใช้งานได้):

  1. ตรวจสอบให้แน่ใจว่าโปรแกรมทั้งหมดกำลังทำงานอยู่
  2. ตรวจสอบให้แน่ใจว่าลูกค้าเป้าหมายทั้งหมดเชื่อมต่ออยู่
  3. ตรวจสอบให้แน่ใจว่า URL ที่คุณป้อนใน IFTT เป็น URL ล่าสุด
  4. ตรวจสอบให้แน่ใจว่า raspberry pi เชื่อมต่อกับอินเทอร์เน็ต

ขั้นตอนที่ 20: การแข่งขัน IOT

หากคุณชอบบทช่วยสอนนี้ โปรดลงคะแนนให้เราในการแข่งขัน IOT ขอบคุณมาก.

แนะนำ: