สารบัญ:

เซ็นเซอร์ความชื้นในดิน ESP32 WiFi: 5 ขั้นตอน
เซ็นเซอร์ความชื้นในดิน ESP32 WiFi: 5 ขั้นตอน

วีดีโอ: เซ็นเซอร์ความชื้นในดิน ESP32 WiFi: 5 ขั้นตอน

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

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

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

ความคุ้นเคยกับการเขียนโปรแกรม Arduino ทักษะการบัดกรีและ HTML ฯลฯ อาจช่วยได้ หากคุณสร้างโปรเจ็กต์นี้ โปรดอัปโหลดรูปภาพผ่านลิงก์อัปโหลดด้านล่าง สนุกกับการแฮ็ค

เซ็นเซอร์นี้สามารถอ่าน:

  1. ความชื้นในดิน (รหัสของฉันจะคำนวณปริมาณน้ำในดินแบบกราวิเมตริก)
  2. อุณหภูมิอากาศและความชื้นสัมพัทธ์

เสบียง

  1. Wemos® Higrow ESP32 WiFi + บลูทู ธ แบตเตอรี่ + DHT11 อุณหภูมิดินและความชื้น เซนเซอร์ Module
  2. สำหรับการบันทึกข้อมูล (optianal)

    • โมดูลการ์ด Micro SD
    • Bread Board และ OR
    • หัวแร้งบัดกรีวาง
    • สายจัมเปอร์หญิงถึงชายหกสาย

ขั้นตอนที่ 1: ติดตั้งและกำหนดค่า ARDUINO IDE บน PC/MAC. ของคุณ

ติดตั้งและกำหนดค่า ARDUINO IDE บน PC/MAC. ของคุณ
ติดตั้งและกำหนดค่า ARDUINO IDE บน PC/MAC. ของคุณ
ติดตั้งและกำหนดค่า ARDUINO IDE บน PC/MAC. ของคุณ
ติดตั้งและกำหนดค่า ARDUINO IDE บน PC/MAC. ของคุณ
ติดตั้งและกำหนดค่า ARDUINO IDE บน PC/MAC. ของคุณ
ติดตั้งและกำหนดค่า ARDUINO IDE บน PC/MAC. ของคุณ

ขั้นตอนการตั้งค่านี้ควรทำงานบนระบบ Windows PC, MAC และ LINUX (x86) น่าเสียดายสำหรับผู้ใช้ Raspberry PI ไลบรารี LINUX (ARM) สำหรับบอร์ด ESP32 ยังไม่พร้อมใช้งาน (แม้ว่าจะมีคนฉลาดจริงๆ ที่รวบรวมมาจากแหล่งที่มา)

  1. ดาวน์โหลดและติดตั้ง Arduino IDE
  2. ในเมนู Preferences ให้เพิ่ม https://dl.espressif.com/dl/package_esp32_index.json ลงใน URL ของ Aditional Boards Manager
  3. ติดตั้งไลบรารี่ ESP32 จากเครื่องมือ>บอร์ด>ตัวจัดการบอร์ด ค้นหา esp32 โดยใช้ระบบ espressif
  4. เลือกบอร์ดของคุณในเมนู: เครื่องมือ>บอร์ด>"WeMos" WiFi & Bluetooth Battery
  5. ติดตั้งไลบรารี DHT11 ที่จำเป็นจากเครื่องมือ>จัดการไลบรารี…

    1. คุณต้องติดตั้งไลบรารีเซ็นเซอร์ DHT โดย Adafruit เวอร์ชัน 1.3.7 (หรือใหม่กว่า?)
    2. คุณต้องติดตั้ง Adafruit Unified Sensor โดย Adafruit เวอร์ชัน 1.0.3

ขั้นตอนที่ 2: แนบการ์ด MICRO SD เพื่อบันทึก (ตัวเลือก)

หากคุณต้องการบันทึกข้อมูลของคุณ ให้แนบโมดูล Pololu Micro SD Card การ์ด SD อื่นๆ อาจมีสายไฟและรหัสต่างกัน

ขั้นตอนที่ 3: ดาวน์โหลด ARDUINO SKETCH

ดาวน์โหลด ARDUINO SKETCH
ดาวน์โหลด ARDUINO SKETCH
ดาวน์โหลด ARDUINO SKETCH
ดาวน์โหลด ARDUINO SKETCH
  1. ดาวน์โหลดร่าง Arduino ที่เกี่ยวข้องจาก GitHub แล้วเปิด

    1. ควรใช้ Esp32_SoilMoisture_WebServer.ino หากไม่มีโมดูลการ์ด micro sd แนบอยู่
    2. Esp32_SoilMoisture_WebServer_DataLog.ino ต้องใช้การ์ด micro sd และยังคงเข้าถึงอินเทอร์เน็ตไปยังเซิร์ฟเวอร์ NTP ตัวเลือกนี้มีเวลาที่แม่นยำมาก แต่ใช้กระแสไฟจำนวนมากและอาจทำให้แบตเตอรี่หมด
    3. Esp32_SoilMoisture_WebServer_DataLog_Int_RTC.ino ต้องใช้การ์ด micro sd และการเข้าถึงอินเทอร์เน็ตไปยังเซิร์ฟเวอร์ NTP หลังจากรีเซ็ต ใช้ RTC ภายในของ ESP32 เพื่ออัปเดตวันที่/เวลาที่ได้รับเมื่อรีเซ็ตจากเซิร์ฟเวอร์ NTP นี่เป็นวิธีแก้ปัญหาที่มีประสิทธิภาพด้านพลังงานมากที่สุด แต่เวลาอาจไม่แม่นยำเท่าที่ควร
  2. แก้ไขเราเตอร์ SSID และรหัสผ่านของคุณในแบบร่าง
  3. รวบรวมร่างในขณะที่กดปุ่มบูต
  4. หากการคอมไพล์สำเร็จ ให้กดปุ่ม EN และเริ่ม Arduino Serial Monitor ทันที (115200 Baud Rate)
  5. รอให้ไฟ LED สีฟ้าติดและปิด
  6. รับที่อยู่ IP ที่พิมพ์ในมอนิเตอร์แบบอนุกรม ป้อนในเบราว์เซอร์ของคุณ ตอนนี้คุณจะเห็นหน้าเว็บข้อมูลเซ็นเซอร์
  7. หากคุณเพิ่มตัวอ่านการ์ด micro sd และรวบรวมหนึ่งในภาพสเก็ตช์ Arduino ที่เกี่ยวข้อง คุณสามารถเข้าถึงข้อมูลของคุณใน /datalog.txt ของการ์ด micro sd

ขั้นตอนที่ 4: การปรับเทียบเนื้อหาน้ำกราวิเมทริก

การปรับเทียบเนื้อหาน้ำกราวิเมทริก
การปรับเทียบเนื้อหาน้ำกราวิเมทริก

ฉันจะตีความการอ่านค่าความชื้นในดินจาก GPIO 32 ได้อย่างไร

วิธีหนึ่งคือการคำนวณปริมาณน้ำในดินแบบกราวิเมตริก คำนวณเป็น:

(มวลน้ำในตัวอย่างดิน)/(มวลดินแห้งในตัวอย่าง)

ฉันได้รวบรวมดินแห้งจากสวนของฉันแล้ว (มันคือ Limpopo แอฟริกาใต้ เดือนสิงหาคม และดินก็แห้ง แห้งมาก) คุณสามารถทำให้ดินแห้งในเตาอบ

  1. น้ำหนักคุณดินแห้ง
  2. เทดินแห้งลงในภาชนะ ใส่เซ็นเซอร์ลงในดินแล้วอ่านค่าเซ็นเซอร์ดิบ (ใช้เว็บอินเตอร์เฟส) บันทึกมวลน้ำ (=0 ในขั้นตอนนี้) และการอ่านเซ็นเซอร์
  3. ถอดเซ็นเซอร์ เติมน้ำ 10 มล. (กรัม) ผสมดินและน้ำให้เหมาะสม และบันทึกมวลน้ำของคุณ (=10 ในขั้นตอนนี้) และค่าเซ็นเซอร์
  4. ดำเนินการตามขั้นตอนนี้ต่อไปเท่าที่คุณต้องการ หรือจนกว่าการเติมน้ำจะไม่ส่งผลต่อการอ่านเซ็นเซอร์อีกต่อไป
  5. ผลลัพธ์ของฉันอยู่ในแผ่นงาน Excel ที่แนบมา GWC คำนวณเป็น gwc=exp(-0.0015*SensorValue + 0.7072)

ขั้นตอนที่ 5: การพัฒนาในอนาคต

การพัฒนาในอนาคต
การพัฒนาในอนาคต
  1. แนบ RTC ภายนอก (นาฬิกาเรียลไทม์) ปัจจุบัน NTP (Network Time Protocol) ถูกใช้เพื่อรับเวลาในการบันทึกข้อมูล สิ่งนี้ต้องใช้ WiFi และกำลังเข้มข้น
  2. เพิ่มปุ่มกดเพื่อเริ่มและหยุด WiFi และเว็บเซิร์ฟเวอร์เพื่อประหยัดการใช้แบตเตอรี่
  3. โฆษณาโมดูล GPRS และปิดใช้งาน WiFi สิ่งนี้จะช่วยประหยัดพลังงาน

แนะนำ: