สารบัญ:

IoT Moisture Sensor: 12 ขั้นตอน
IoT Moisture Sensor: 12 ขั้นตอน

วีดีโอ: IoT Moisture Sensor: 12 ขั้นตอน

วีดีโอ: IoT Moisture Sensor: 12 ขั้นตอน
วีดีโอ: Arduino ESP8266 Blynk IOT - ทดลอง Sensor วัดความชื้นในดิน Soil Moisture Sensor มี Code ตัวอย่าง!! 2024, พฤศจิกายน
Anonim
เซ็นเซอร์วัดความชื้น IoT
เซ็นเซอร์วัดความชื้น IoT
เซ็นเซอร์วัดความชื้น IoT
เซ็นเซอร์วัดความชื้น IoT
เซ็นเซอร์วัดความชื้น IoT
เซ็นเซอร์วัดความชื้น IoT

ฉันต้องการเซ็นเซอร์ความชื้นที่จะแจ้งให้เราทราบเมื่อพืชในร่มต้องการน้ำ ฉันต้องการบางอย่างที่ฉันสามารถใช้สำหรับการเริ่มเพาะเมล็ดและสำหรับพืชในร่มที่โตเต็มที่ ฉันกังวลอยู่เสมอว่าฉันอยู่เหนือหรือใต้น้ำ

ฉันใช้เวลาทำงานเล็กน้อยกับซอฟต์แวร์ IoT สำหรับอุปกรณ์ Arduino โดยใช้ซอฟต์แวร์ของคนอื่น ฉันมีความคิดที่ดีเกี่ยวกับข้อกำหนดของฉัน

  1. ฉันต้องการบางอย่างที่สามารถแฟลชไปยังอุปกรณ์หลายเครื่องและกำหนดค่าผ่าน wifi ได้ ฉันไม่ต้องการเปลี่ยนไฟล์กำหนดค่าทุกครั้งที่ฉันอัปโหลดไปยังอุปกรณ์ใหม่ ฉันยังไม่ต้องการใส่ข้อมูลประจำตัวหรือข้อมูลเฉพาะอื่นๆ ในโค้ด เนื่องจากฉันตั้งใจจะแชร์รหัสนี้เสมอ
  2. ฉันยังต้องการเฟรมเวิร์กของซอฟต์แวร์ที่ค่อนข้างแข็งแกร่งซึ่งฉันสามารถปรับแต่งสำหรับโครงการในอนาคตได้ นี่คือเซ็นเซอร์ความชื้น ฉันอาจสร้างเซ็นเซอร์ตรวจจับการเคลื่อนไหว/แสง/เสียง/การสั่นสะเทือน/การเอียงและฉันต้องการใช้ซอฟต์แวร์เดียวกันสำหรับสิ่งนั้น
  3. สุดท้ายนี้ ฉันต้องการให้เครื่องนี้ใช้พลังงานจากแบตเตอรี่ และด้วยเหตุนี้ ฉันจึงต้องการให้มีอายุการใช้งานยาวนาน ฉันใช้เวลาพอสมควรในการหาโหมด Deep Sleep ที่อุปกรณ์จะใช้เวลาส่วนใหญ่ในสถานะอยู่เฉยๆ

เสบียง

Wemos D1 Mini

เซ็นเซอร์วัดความชื้นแบบ Capacitive

แบตเตอรี่ 18650

ขั้วต่อแบตเตอรี่บวกและลบ

สวิตช์สไลด์

การเข้าถึงเครื่องพิมพ์ 3 มิติก็จำเป็นเช่นกัน แม้ว่าคุณจะสามารถหาวิธีอื่นในการเชื่อมต่อและจัดวางชิ้นส่วนต่างๆ ได้

นี่คือลิงค์ไปยังโพสต์ Thingiverse ของฉันพร้อมโมเดลทั้งหมดที่ฉันสร้างขึ้น

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

รับซอฟต์แวร์
รับซอฟต์แวร์

ฉันเผยแพร่ซอฟต์แวร์ของฉันไปที่ GITHUB มันถูกสร้างขึ้นโดยใช้ PlatformIO

  1. ทำตามคำแนะนำบนเว็บไซต์ PlatformIO เพื่อติดตั้ง VSCode และ PlatformIO
  2. ดาวน์โหลดเฟิร์มแวร์จาก repo GITHUB ของฉัน คลิก Clone หรือดาวน์โหลดและดาวน์โหลด ZIP
  3. แตกไฟล์และเปิดโฟลเดอร์ใน VSCode
  4. เชื่อมต่อ Wemos D1 กับคอมพิวเตอร์ของคุณผ่าน micro USB
  5. ใน VSCode คลิกเอเลี่ยนเพื่อเปิดแผง PlatformIO
  6. คลิกสร้างและอัปโหลดเพื่ออัปโหลดเฟิร์มแวร์ไปยังบอร์ด Wemos

ขั้นตอนที่ 2: ตั้งค่าโครงการ Blynk เพื่อให้เซ็นเซอร์ของคุณคุยกับ

ตั้งค่าโครงการ Blynk เพื่อให้เซ็นเซอร์ของคุณคุยกับ
ตั้งค่าโครงการ Blynk เพื่อให้เซ็นเซอร์ของคุณคุยกับ
ตั้งค่าโครงการ Blynk เพื่อให้เซ็นเซอร์ของคุณคุยกับ
ตั้งค่าโครงการ Blynk เพื่อให้เซ็นเซอร์ของคุณคุยกับ
ตั้งค่าโครงการ Blynk เพื่อให้เซ็นเซอร์ของคุณคุยกับ
ตั้งค่าโครงการ Blynk เพื่อให้เซ็นเซอร์ของคุณคุยกับ
ตั้งค่าโครงการ Blynk เพื่อให้เซ็นเซอร์ของคุณคุยกับ
ตั้งค่าโครงการ Blynk เพื่อให้เซ็นเซอร์ของคุณคุยกับ

ฉันมุ่งเน้นไปที่บริการสองประเภท MQTT และ Blynk ซึ่งเป็นทางเลือก

Blynk เป็นแพลตฟอร์ม IOT ที่ใช้งานง่ายและราคาไม่แพง คุณสามารถสร้างแอปได้เป็นส่วนใหญ่โดยใช้เครดิตส่วนประกอบที่คุณได้รับฟรี หากเครดิตหมด คุณสามารถซื้อเพิ่มเพื่อใช้ในการซื้อแอป

  1. ติดตั้งแอพ Blynk บนโทรศัพท์ของคุณ
  2. สร้างบัญชี
  3. สร้างโครงการใหม่
  4. ตั้งชื่อและเลือก Wemos D1 เป็นอุปกรณ์
  5. รับ Blynk Key จากอีเมลของคุณ ซึ่งจะใช้ในการกำหนดค่าอุปกรณ์ในภายหลัง
  6. ไปข้างหน้าและแตะที่ใดก็ได้บนแดชบอร์ดโครงการของคุณเพื่อเพิ่มส่วนประกอบ
  7. เลือก LCD Display ในตอนนี้ แต่คุณสามารถเปลี่ยนเป็นแผนภูมิหรือส่วนประกอบอื่นๆ ได้ในภายหลัง Blynk ให้คุณรีไซเคิลส่วนประกอบต่างๆ ดังนั้นคุณจึงไม่ต้องกังวลกับการสูญเสียเครดิต
  8. แตะที่จอ LCD และตั้งหมุด เฟิร์มแวร์ใช้หมุดเสมือนสองตัว ไม่สำคัญว่าคุณจะใช้อันไหนตราบเท่าที่คุณใช้แอพเดียวกันกับเฟิร์มแวร์ของคุณในภายหลัง

ขั้นตอนที่ 3: ตั้งค่าบริการ MQTT (Home Assistant)

ฉันใช้ Home Assistant สำหรับระบบอัตโนมัติในบ้านอยู่แล้ว และวางแผนที่จะตั้งค่าการแจ้งเตือนสำหรับโรงงานที่แห้งหรือเซ็นเซอร์ที่หยุดการรายงาน (แบตเตอรี่หมด)

คุณสามารถค้นหาข้อมูลเพื่อตั้งค่า HA ได้ที่นี่ หากคุณต้องการหรือเพียงแค่ตั้งค่า Mosquitto Service สำหรับ MQTT

ไม่ว่าในกรณีใด คุณจะต้องการทราบที่อยู่ IP, ID ผู้ใช้ และรหัสผ่านของคุณ

หากคุณใช้ Home Assistant คุณจะต้องตั้งค่าเซ็นเซอร์บนแพลตฟอร์ม MQTT แต่คุณจะต้องใช้ชิปปิด เฟิร์มแวร์จะเผยแพร่ข้อความในหัวข้อ [chip id]/moisture พร้อมค่าของการอ่านค่าความชื้น

นี่คือตัวอย่างการกำหนดค่าเซ็นเซอร์สำหรับ Home Assistant

state_topic: "ESP6e4bac/ความชื้น/"

device_class: ความชื้น

ขั้นตอนที่ 4: กำหนดค่าเฟิร์มแวร์

กำหนดค่าเฟิร์มแวร์
กำหนดค่าเฟิร์มแวร์
  1. เมื่อบอร์ดรีเซ็ต มันจะสตาร์ท wifi access point WifiMoisture
  2. เชื่อมต่อโดยใช้โทรศัพท์หรือคอมพิวเตอร์
  3. เปิดเบราว์เซอร์และไปที่ 192.168.4.1
  4. คุณจะเห็นเว็บฟอร์ม
  5. เพิ่มข้อมูลรับรอง wifi ของคุณ
  6. คุณสามารถตั้งค่าช่วงเวลาพักเครื่องเป็นนาที แต่ฉันแนะนำให้คุณปล่อยไว้เป็นค่าเริ่มต้น (ค่าสูงสุดสำหรับอุปกรณ์ของคุณ)
  7. เพิ่ม Blynk Key และ/หรือการตั้งค่า MQTT
  8. กดส่ง

คุณสามารถป้อนคีย์ Blynk และหรือ MQTT ขึ้นอยู่กับว่าคุณต้องการติดตามความชื้นอย่างไร มันควรจะใช้งานได้ แต่ฉันวางแผนที่จะใช้ทั้งคู่

ฉันใช้ Home Assistant สำหรับระบบอัตโนมัติในบ้าน และจะตั้งค่าการแจ้งเตือนตาม MQTT แต่ฉันก็ใช้กราฟใน Blynk เพื่อติดตามสิ่งต่างๆ แบบเรียลไทม์ด้วย

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

ขั้นตอนที่ 5: การพิมพ์ชิ้นส่วน

ชิ้นส่วนการพิมพ์
ชิ้นส่วนการพิมพ์

ไปที่โพสต์ Thingiverse ของฉัน รับชิ้นส่วนและพิมพ์ข้อมูลล่าสุด (v2 ในขณะที่เขียน)

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

ขั้นตอนที่ 6: วางสายทุกอย่างขึ้น

วางสายทุกอย่างขึ้น
วางสายทุกอย่างขึ้น

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

ขั้นตอนที่ 7: เริ่มต้นด้วยแบตเตอรี่

ชุดแบตเตอรี่สร้างขึ้นจากที่ยึดที่พิมพ์ออกมา ขั้วต่อบวกและลบ สายไฟสีดำสองเส้น และสีแดงหนึ่งเส้น

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

พลิกที่ใส่แบตเตอรี่กลับด้าน พับแถบออกแล้วเติมบัดกรีลงไป

บิดปลายสายสีดำสองเส้นเข้าด้วยกันแล้วบัดกรีด้วยบัดกรี

ดีบุกปลายลวดสีแดงด้วยบัดกรี

จากนั้นประสานสายสีดำเข้ากับขั้วต่อเชิงลบ (อันที่มีสปริง) และสายสีแดงเข้ากับขั้วต่อบวก

สุดท้ายพับแท็บให้ราบกับด้านข้างของที่ใส่แบตเตอรี่

ขั้นตอนที่ 8: ประกอบสวิตช์

เฟิร์มแวร์นี้มีขึ้นเพื่อใช้แบตเตอรี่ให้เกิดประโยชน์สูงสุดโดยใช้ชิปโหมด Deep Sleep

อุปกรณ์ที่ตื่นขึ้นจะใช้เวลาและเผยแพร่การอ่านแล้วกลับสู่โหมดสลีป เพื่อให้ชิปปลุกตัวเองขึ้น มีการเชื่อมต่อระหว่าง D0 และ RST

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

ฉันยังพบว่าบางครั้งฉันต้องยกเลิกการเชื่อมต่อ D0-RST เพื่อแฟลชเฟิร์มแวร์เวอร์ชันใหม่ สวิตช์ก็ใช้งานได้เช่นกัน

การเดินสายสวิตช์ทำได้ง่าย โดยนำด้านหนึ่งไปยังพิน RST และนำตรงกลางไปยังพิน D0 ก่อนที่จะบัดกรีสิ่งนี้ให้เลื่อนบล็อกสวิตช์ที่พิมพ์ลงบนสวิตช์

ขั้นตอนที่ 9: ประสานการเชื่อมต่อที่เหลือ

เมื่อต่อสายชุดแบตเตอรี่และชุดสวิตช์แล้ว ก็ถึงเวลาต่อการเชื่อมต่ออื่นๆ ทั้งหมด

  1. บัดกรีสายสีแดงจากแบตเตอรี่เข้ากับพิน 3.5v บน Wemos
  2. บัดกรีสายไฟสีดำเส้นใดเส้นหนึ่งจากแบตเตอรี่เข้ากับหมุดกราวด์บน Wemos
  3. บัดกรีลวดด้วยปลายทั้งสองข้างที่เสียบเข้ากับขา A0 เราจะเชื่อมต่อสิ่งนี้กับตะกั่วสีเหลืองบนเซ็นเซอร์
  4. บัดกรีลวดสีแดงโดยให้ปลายทั้งสองข้างต่อกับพิน D1 บน Wemos เฟิร์มแวร์จะปรับให้สูงเพื่อให้พลังงานแก่เซ็นเซอร์

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

ขั้นตอนที่ 10: ใส่ทุกอย่างลงในกล่อง

ใส่ทุกอย่างลงในกล่อง
ใส่ทุกอย่างลงในกล่อง
ใส่ทุกอย่างลงในกล่อง
ใส่ทุกอย่างลงในกล่อง

ฉันพยายามทำให้ทุกอย่างพอดีแต่อย่าออกแรงมากเกินไป แต่งานพิมพ์แต่ละชิ้นมีความแตกต่างกันเล็กน้อย

  1. ใส่ Wemos ดันปลาย usb เข้าไปก่อน ตรวจสอบให้แน่ใจว่าเรียงกันอย่างสวยงาม ถ้าคุณไม่เข้าโค้ง แบ็กเอนด์จะไม่เข้าง่ายๆ
  2. จากนั้นใส่เซ็นเซอร์ เมื่อต่อสายไฟแล้ว ให้เลื่อนเข้ามุม และเมื่ออยู่ในตำแหน่งที่ถูกต้อง ให้กดลง กล่องควรยึดเข้ากับโครงยึดสายไฟ
  3. จากนั้นใส่ที่ใส่แบตเตอรี่เข้าที่ คุณอาจต้องงอผนังกล่องเล็กน้อย ใช้ประโยชน์จากความจริงที่ว่าด้านหนึ่งของมันเปิดอยู่ (ฉันอาจทำให้ทั้งสองฝ่ายเปิดในการแก้ไขครั้งต่อไป) หาแผ่นกลมสองแผ่นที่ด้านล่างของกล่องแล้วกดที่ใส่แบตเตอรี่เข้าไป
  4. สุดท้ายวางสวิตช์เข้าที่จากด้านในของกล่อง ขันสกรู 1.7 มม. x 8 มม. สองตัวจากด้านนอก ตรวจสอบให้แน่ใจว่าได้ออกแรงกดบนบล็อกสวิตช์ที่พิมพ์ออกมา สกรูควรจับบนบล็อกที่พิมพ์ แต่จำไว้ว่าชิ้นส่วนที่พิมพ์นั้นนุ่มและสกรูจะดึงรูออกได้ง่าย

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

ขั้นตอนที่ 11: เพิ่มพลังและอ่านครั้งแรกของคุณ

สุดท้าย ตรวจสอบให้แน่ใจว่าได้พลิกสวิตช์เพื่อเชื่อมต่อพิน D0 และ RST และใส่แบตเตอรี่

ใส่ฝาปิดแล้วขันสกรู 6 ตัวเพื่อยึดให้เข้าที่

อุปกรณ์ควรอ่านค่าทันที เข้าสู่โหมดสลีปตามเวลาที่กำหนด จากนั้นใช้เวลาอื่น

เมื่อคุณเริ่มใช้งานแล้ว คุณสามารถตั้งค่าแผนภูมิใน Blynk ตั้งค่าการแจ้งเตือนใน HomeAssistant หรือตัวเลือกอื่นๆ มากมายเพื่อติดตามความชื้นและทำให้พืชของคุณมีชีวิตอยู่

ขั้นตอนที่ 12: การวนซ้ำถัดไป

ในอนาคต ฉันอาจจะอัปเดตซอฟต์แวร์ MQTT ให้มากกว่าแค่การอ่านข้อมูลดิบ หมุด blynk ตัวหนึ่งเผยแพร่การตีความ อย่างน้อยฉันก็ต้องการเพิ่มสิ่งนั้นใน MQTT ฉันยังต้องรวมสุดท้าย

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

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

ในที่สุดก็มีบอร์ดอื่นๆ นอกเหนือจาก Wemos D1 Mini ที่มีที่ใส่แบตเตอรี่และ/หรือที่ชาร์จในตัว การใช้สิ่งเหล่านี้อาจช่วยประหยัดพื้นที่บางส่วนและทำให้ฉันไม่ต้องเปิดเคสในภายหลัง

แนะนำ: