สารบัญ:

ระบบสวนไร้สาย: 7 ขั้นตอน
ระบบสวนไร้สาย: 7 ขั้นตอน

วีดีโอ: ระบบสวนไร้สาย: 7 ขั้นตอน

วีดีโอ: ระบบสวนไร้สาย: 7 ขั้นตอน
วีดีโอ: ล้างลำไส้ ปรับระบบย่อยอาหาร ภายใน 7 วัน‼️#หมอท๊อป #ล้างลําไส้ #ท้องผูก 2024, พฤศจิกายน
Anonim
ระบบสวนไร้สาย
ระบบสวนไร้สาย

โปรเจ็กต์นี้ใช้ Arduino และใช้ "โมดูล" เพื่อช่วยให้คุณรดน้ำต้นไม้ และบันทึกอุณหภูมิ ดิน และฝน

ระบบไร้สายผ่าน 2, 4 GHz และใช้โมดูล NRF24L01 ในการส่งและรับข้อมูล ให้ฉันอธิบายเล็กน้อยเกี่ยวกับวิธีการทำงาน PS! ขอโทษถ้าภาษาอังกฤษไม่ถูกต้อง 100% ฉันมาจากสวีเดน

ฉันใช้ระบบนี้เพื่อควบคุมพืชของฉัน บาปที่ฉันมีพืชที่แตกต่างกัน ฉันจำเป็นต้องบันทึกพืชที่แตกต่างกัน ดังนั้นฉันจึงสร้างระบบบันทึกตามโซน

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

หากดินต้องการน้ำ ปั๊มจะทำงานได้อย่างถูกต้องขึ้นอยู่กับว่าเซ็นเซอร์ดินใดได้ตรวจสอบ แต่ถ้าฝนตกก็ไม่รดน้ำ และถ้าร้อนจริงก็จะรดน้ำเพิ่ม

สมมติว่าคุณมีพื้นที่มันฝรั่ง 1 แห่ง พื้นที่สำหรับยาสูบ และอีกพื้นที่สำหรับมะเขือเทศ จากนั้นคุณสามารถมี 3 โซนพร้อมเซ็นเซอร์ 3 แบบและปั๊ม 3 แบบ

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

หวังว่าคุณจะเข้าใจเล็กน้อย ตอนนี้เรามาเริ่มสร้างเซ็นเซอร์กัน

หน้า My GitHub ที่คุณดาวน์โหลดทุกอย่าง:

ขั้นตอนที่ 1: เซ็นเซอร์ดิน

เซ็นเซอร์ดิน
เซ็นเซอร์ดิน
เซ็นเซอร์ดิน
เซ็นเซอร์ดิน
เซ็นเซอร์ดิน
เซ็นเซอร์ดิน
เซ็นเซอร์ดิน
เซ็นเซอร์ดิน

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

สำหรับงานสร้างนี้คุณต้องการ:

  • 1x Atmega328P-PU ชิป
  • 1x nRF24L01 โมดูล
  • 1x100 ยูเอฟตัวเก็บประจุ
  • 1x NPN BC547 ทรานซิสเตอร์
  • ตัวเก็บประจุ 2x 22 pF
  • 1x 16.000 MHz คริสตัล
  • 1x เซ็นเซอร์ความชื้นในดิน
  • 1x DS18B20 เซ็นเซอร์อุณหภูมิ
  • 1x RGB Led (ฉันใช้แอโนดทั่วไป)
  • ตัวต้านทาน 3x 270 โอห์ม
  • ตัวต้านทาน 1x 4, 7 K โอห์ม
  • แบตเตอรี่ (ฉันใช้แบตเตอรี่ Li-Po 3.7v)
  • และถ้าใช้ li-po โมดูลเครื่องชาร์จสำหรับแบตเตอรี่

เพื่อให้เซ็นเซอร์ทำงานเป็นเวลานาน อย่าใช้บอร์ด Arduino ที่สร้างไว้ล่วงหน้า จะทำให้แบตเตอรี่หมดอย่างรวดเร็ว ใช้ชิป Atmega328P แทน

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

เมื่ออัปโหลดรหัส อย่าลืมกำหนดเซ็นเซอร์เพื่อให้มีหมายเลข ID ที่ไม่ซ้ำกัน รหัสมีอยู่ในหน้า GitHub ของฉัน

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

เซ็นเซอร์จะเข้าสู่โหมดสลีปเพื่อประหยัดแบตเตอรี่

ขั้นตอนที่ 2: เซ็นเซอร์สัตว์

เซ็นเซอร์สัตว์
เซ็นเซอร์สัตว์
เซ็นเซอร์สัตว์
เซ็นเซอร์สัตว์
เซ็นเซอร์สัตว์
เซ็นเซอร์สัตว์
เซ็นเซอร์สัตว์
เซ็นเซอร์สัตว์

Animal Sensor เป็นเซ็นเซอร์ pir ที่เรียบง่าย รับรู้ความร้อนจากสัตว์หรือมนุษย์ หากเซ็นเซอร์ตรวจจับการเคลื่อนไหว พวกเขาจะส่งออกไปยังสถานีฐาน

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

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

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

สำหรับเซ็นเซอร์นี้ คุณต้องการ:

  • ชิป ATMEGA328P-PU
  • 1 x 16,000 MHz คริสตัล
  • ตัวเก็บประจุ 2 x 22 pF
  • 1 x โมดูลเซ็นเซอร์ Pir
  • ตัวเก็บประจุ 1 x 100 ยูเอฟ
  • 1 x โมดูล NRF24L01
  • 1 x Led (ฉันไม่ได้ใช้ RGB led ที่นี่)
  • ตัวต้านทาน 1 x 220 โอห์ม
  • หากคุณจะใช้แบตเตอรี่ที่คุณต้องการ (ฉันใช้ Li-Po)
  • โมดูลเครื่องชาร์จแบตเตอรี่หากคุณมีแบตเตอรี่แบบรีชาร์จ
  • สวิตช์ไฟบางชนิด

เชื่อมต่อทุกอย่างตามที่คุณเห็นในแผ่นไฟฟ้า ตรวจสอบเพื่อให้คุณสามารถจ่ายไฟให้กับเซ็นเซอร์ pir จากแบตเตอรี่ของคุณ (บางรุ่นต้องใช้ 5v เพื่อเรียกใช้)

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

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

นั่นคือสำหรับเซ็นเซอร์สัตว์ เรากำลังดำเนินการต่อไป

ขั้นตอนที่ 3: ตัวควบคุมปั๊มน้ำ

ตัวควบคุมปั๊มน้ำ
ตัวควบคุมปั๊มน้ำ
ตัวควบคุมปั๊มน้ำ
ตัวควบคุมปั๊มน้ำ
ตัวควบคุมปั๊มน้ำ
ตัวควบคุมปั๊มน้ำ
ตัวควบคุมปั๊มน้ำ
ตัวควบคุมปั๊มน้ำ

ตัวควบคุมปั๊มน้ำคือการเริ่มปั๊มหรือวาล์วน้ำเพื่อรดน้ำสนามของคุณ สำหรับระบบนี้คุณไม่จำเป็นต้องใช้แบตเตอรี่อีกต่อไป คุณต้องการพลังงานในการรันปั๊มของคุณ ฉันใช้โมดูล AC 230 ถึง DC 5 v เพื่อเรียกใช้ Arduino นาโน. นอกจากนี้ฉันต้องประเภทของปั๊มหนึ่งที่ใช้วาล์วน้ำที่ทำงานบน 12 v เพื่อที่ฉันจะได้มีโมดูล AC 230 ถึง DC 12v กับบอร์ดรีเลย์

อีกอันคือ 230 AC ในรีเลย์ ดังนั้นฉันสามารถจ่ายไฟให้กับปั๊ม 230 V AC ได้

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

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

คุณยังสามารถปิดการรดน้ำในตอนกลางคืนผ่านหน้าเว็บได้ด้วยการตั้งเวลาพิเศษ และยังตั้งค่าตัวจับเวลาสำหรับปั๊มแต่ละตัวเพื่อเริ่มรดน้ำ และถ้าฝนตกก็ไม่รดน้ำ

หวังว่าคุณจะเข้าใจ:)

สำหรับโครงการนี้คุณต้องการ:

  • 1 x Arduino นาโน
  • 1 x โมดูล NRF24L01
  • ตัวเก็บประจุ 1 x 100 ยูเอฟ
  • 1 RGB Led (ฉันใช้ขั้วบวกทั่วไป)
  • ตัวต้านทาน 3 x 270 โอห์ม
  • 1 x รีเลย์บอร์ด

เชื่อมต่อทุกอย่างเป็นแผ่นไฟฟ้า (ดูไฟล์ pdf หรือรูปภาพ) ดาวน์โหลดรหัสจาก GitHub และอย่าลืมกำหนดหมายเลขเซ็นเซอร์

และตอนนี้คุณมีตัวควบคุมปั๊มแล้ว ระบบสามารถจัดการได้มากกว่าหนึ่งตัว

ขั้นตอนที่ 4: เซ็นเซอร์วัดปริมาณน้ำฝน

เซ็นเซอร์วัดปริมาณน้ำฝน
เซ็นเซอร์วัดปริมาณน้ำฝน
เซ็นเซอร์วัดปริมาณน้ำฝน
เซ็นเซอร์วัดปริมาณน้ำฝน
เซ็นเซอร์วัดปริมาณน้ำฝน
เซ็นเซอร์วัดปริมาณน้ำฝน
เซ็นเซอร์วัดปริมาณน้ำฝน
เซ็นเซอร์วัดปริมาณน้ำฝน

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

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

พินอะนาล็อกใช้เพื่อแจ้งเป็นเปอร์เซ็นต์ว่าเปียกบนเซ็นเซอร์เพียงใด

หากพินดิจิตอลตรวจพบว่าฝนตก เซ็นเซอร์จะส่งไปที่ระบบฐาน และระบบฐานจะไม่รดน้ำต้นไม้ตราบเท่าที่ "ฝนตก" เซ็นเซอร์ยังส่งสัญญาณว่าเปียกแค่ไหนและสถานะแบตเตอรี่

เราจะจ่ายไฟให้เซ็นเซอร์วัดปริมาณน้ำฝนเมื่อถึงเวลาที่ต้องอ่านผ่านทรานซิสเตอร์ที่เปิดใช้งานผ่านพินดิจิทัลเท่านั้น

สำหรับเซ็นเซอร์นี้ คุณต้องการ:

  • ชิป ATMEGA328P-PU
  • 1x 16,000 MHz คริสตัล
  • ตัวเก็บประจุ 2x 22 pF
  • 1x โมดูลเซ็นเซอร์วัดปริมาณน้ำฝน
  • ตัวเก็บประจุ 1x 100 ยูเอฟ
  • 1x โมดูล NRF24L01
  • 1x RGB Led (ฉันใช้แอโนดทั่วไป มันคือ VCC แทน GND)
  • ตัวต้านทาน 3x 270 โอห์ม
  • 1x NPN BC547 ทรานซิสเตอร์
  • 1x แบตเตอรี่ (ฉันใช้ Li-Po)
  • 1x โมดูลเครื่องชาร์จ Li-Po (หากใช้แบตเตอรี่ Li-Po)

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

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

ในฟังก์ชัน counterHandler() คุณสามารถตั้งเวลาปลุกสำหรับชิปได้ คุณคำนวณดังนี้: ชิปจะตื่นทุกๆ 8 วินาที และทุกครั้งที่มันจะเพิ่มค่า ดังนั้นเป็นเวลา 30 นาที คุณจะได้รับ 225 ครั้งก่อนที่จะดำเนินการ. ครึ่งชั่วโมงมี 1800 วินาที หารด้วย 8 (1800 / 8) คุณจะได้ 225 ซึ่งหมายความว่าจะไม่ตรวจสอบเซ็นเซอร์จนกว่าจะทำงาน 225 ครั้งและจะใช้เวลาประมาณ 30 นาที คุณทำเช่นเดียวกันกับเซ็นเซอร์ดินด้วย

ขั้นตอนที่ 5: สัตว์ไซเรน

ไซเรนสัตว์
ไซเรนสัตว์
ไซเรนสัตว์
ไซเรนสัตว์
ไซเรนสัตว์
ไซเรนสัตว์
ไซเรนสัตว์
ไซเรนสัตว์

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

ฉันใช้ Arduino nano ในโครงการนี้และจ่ายไฟให้กับ 12v ไซเรนยังเป็น 12 โวลต์ ดังนั้นแทนที่จะใช้รีเลย์ ฉันจะใช้ทรานซิสเตอร์ 2N2222A เพื่อเปิดใช้งานไซเรน หากคุณใช้รีเลย์เมื่อคุณมีกราวด์เดียวกัน อาจทำให้ Arduino เสียหายได้ นั่นเป็นเหตุผลที่ฉันใช้ทรานซิสเตอร์เพื่อเปิดใช้งานไซเรนแทน

แต่ถ้าไซเรนและ Arduino ของคุณไม่ใช้กราวด์เดียวกัน คุณสามารถใช้รีเลย์แทนได้ ข้ามทรานซิสเตอร์และตัวต้านทาน 2.2K และใช้บอร์ดรีเลย์แทน และยังเปลี่ยนรหัส Arduino เมื่อเปิดใช้งานการเปลี่ยนแปลงจาก HIGH เป็น LOW และเมื่อปิดใช้งานการเปลี่ยนแปลงจากการอ่านดิจิตอล LOW เป็น HIGH สำหรับพิน 10 บาปรีเลย์ใช้ LOW เพื่อเปิดใช้งานและทรานซิสเตอร์ใช้ HIGH ดังนั้นคุณต้องเปลี่ยนสิ่งนี้

สำหรับงานสร้างนี้คุณต้องการ:

  • 1x Arduino นาโน
  • ตัวต้านทาน 1x 2.2K (ข้ามหากใช้บอร์ดรีเลย์)
  • 1x 2N2222 ทรานซิสเตอร์
  • 1x ไซเรน
  • ตัวต้านทาน 3x 270 โอห์ม
  • 1x RGB Led (ฉันใช้แอโนดทั่วไป VCC แทน GND)
  • โมดูล 1X NRF24L01
  • ตัวเก็บประจุ 1x 100 ยูเอฟ

เชื่อมต่อทุกอย่างตามที่คุณเห็นบนแผ่นไฟฟ้าในรูปแบบ PDF หรือในภาพ อัปโหลดโค้ดไปยัง Arduino ที่คุณพบในหน้า GitHub ของฉันภายใต้ Animal Siren อย่าลืมกำหนดเซ็นเซอร์สำหรับหมายเลข ID ที่ถูกต้อง

และตอนนี้คุณมีไซเรนทำงานแล้ว

ขั้นตอนที่ 6: ระบบหลัก

ระบบหลัก
ระบบหลัก
ระบบหลัก
ระบบหลัก
ระบบหลัก
ระบบหลัก

ระบบหลักคือโมดูลที่สำคัญที่สุด หากไม่มีระบบนี้ คุณจะใช้ระบบนี้ไม่ได้ ระบบหลักเชื่อมต่อกับอินเทอร์เน็ตด้วยโมดูล ESP-01 และเราใช้หมุด Arduino Megas Serial1 เพื่อเชื่อมต่อ RX บน Mega to TX บน ESP แต่เราจำเป็นต้องผ่านตัวต้านทานสองตัวเพื่อให้โวลต์ลดลงเหลือ 3.3 และ TX บน Mega ถึง RX บน ESP

ตั้งค่าโมดูล ESP

ในการใช้ ESP คุณต้องตั้งค่าอัตราบอดเป็น 9600 ก่อน ซึ่งเป็นสิ่งที่ฉันใช้ในโครงการนี้ และพบว่า ESP ทำงานได้ดีที่สุด ออกจากกล่องตั้งค่าเป็น 115200 baud rate คุณสามารถลองได้ แต่ของฉันไม่เสถียรนัก ในการทำสิ่งนี้คุณต้องมี Arduino (Mega ใช้งานได้ดี) และคุณต้องเชื่อมต่อ TX ของ ESP (ผ่านตัวต้านทานตามที่คุณเห็นบนแผ่นงาน) กับ Serial TX (ไม่ใช่ Serial1 หากใช้ Mega) และ RX บน ESP กับ Arduino Serial อาร์เอ็กซ์

อัปโหลดภาพสเก็ตช์แบบกะพริบ (หรือสเก็ตช์ใดๆ ที่ไม่ใช้ซีเรียล) และเปิดมอนิเตอร์แบบอนุกรม แล้วตั้งค่าอัตราบอดเป็น 115200 และ NR & CR ในบรรทัด

ในบรรทัดคำสั่งให้เขียน AT แล้วกด Enter คุณควรได้รับคำตอบที่บอกว่าโอเค ตอนนี้เรารู้แล้วว่า ESP ใช้งานได้ (ถ้าไม่มีปัญหาในการเชื่อมต่อหรือโมดูล ESP-01 เสีย)

ในบรรทัดคำสั่งให้เขียน AT+UART_DEF=9600, 8, 1, 0, 0 แล้วกด Enter

มันจะตอบสนองด้วยตกลงและหมายความว่าเราได้ตั้งค่าอัตราบอดเป็น 9600 รีสตาร์ท ESP ด้วยคำสั่งต่อไปนี้: AT+RST แล้วกด Enter เปลี่ยนอัตราบอดในมอนิเตอร์แบบอนุกรมเป็น 9600 แล้วป้อน AT แล้วกด Enter หากคุณกลับมาใช้งานได้ตามปกติ ESP จะได้รับการตั้งค่าสำหรับ 9600 และคุณสามารถใช้กับโปรเจ็กต์นี้ได้

โมดูลการ์ด SD

ฉันต้องการให้เปลี่ยนการตั้งค่า WIFI ของระบบได้ง่าย เผื่อว่ามีการเปลี่ยนชื่อรหัสผ่านใหม่หรือชื่อ wifi นั่นคือเหตุผลที่เราต้องการโมดูลการ์ด SD ภายในการ์ด SD ให้สร้างไฟล์ข้อความที่มีชื่อ config.txt และเรากำลังใช้ JSON เพื่ออ่าน ดังนั้นเราจึงต้องมีรูปแบบ JSON ดังนั้นไฟล์ข้อความควรมีข้อความต่อไปนี้:

{ "ssid": "yourwifisid", "losen": "รหัสผ่านของคุณ"

}

เปลี่ยนข้อความด้วยตัวอักษรขนาดใหญ่เพื่อแก้ไขเครือข่าย wifi ของคุณ

บาปที่เราใช้ NRF24L01 ที่ใช้ SPI และ SD Card Reader ก็ใช้ SPI เช่นกัน เราจำเป็นต้องใช้ไลบรารี SDFat เพื่อให้เราสามารถใช้ SoftwareSPI ได้ (เราสามารถเพิ่มเครื่องอ่านการ์ด SD บนหมุดใดก็ได้)

เซ็นเซอร์ DHT

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

สำหรับงานสร้างนี้คุณต้องการ:

  • 1x Arduino Mega
  • 1x NRF24L01 โมดูล
  • 1x โมดูล ESP-01
  • 1x โมดูลการ์ด Micro SD SPI
  • 1x DHT-22 เซนเซอร์
  • 1x RGB Led (ฉันใช้แอโนดทั่วไป VCC แทน GND)
  • ตัวต้านทาน 3x 270 โอห์ม
  • ตัวต้านทาน 1x 22 K Ohm
  • ตัวต้านทาน 2x 10 K Ohm

โปรดทราบว่าหากคุณไม่ได้รับโมดูล ESP-01 ที่เสถียร ให้ลองจ่ายไฟจากแหล่งพลังงานภายนอก 3.3v

เชื่อมต่อทุกอย่างตามที่คุณเห็นในแผ่นไฟฟ้าในไฟล์ PDF หรือในรูปภาพ

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

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

ขั้นตอนที่ 7: ระบบเว็บ

ระบบเว็บ
ระบบเว็บ
ระบบเว็บ
ระบบเว็บ
ระบบเว็บ
ระบบเว็บ
ระบบเว็บ
ระบบเว็บ

ในการใช้ระบบ คุณต้องมีเว็บเซิร์ฟเวอร์ด้วย ฉันใช้ raspberry pi กับ Apache, PHP, Mysql, Gettext ระบบเว็บมีหลายภาษา คุณจึงทำให้เป็นภาษาของคุณได้ง่าย มันมาพร้อมกับภาษาสวีเดนและภาษาอังกฤษ (ภาษาอังกฤษอาจมีภาษาอังกฤษที่ไม่ถูกต้อง การแปลของฉันไม่ใช่ 100%) ดังนั้นคุณต้องติดตั้ง Gettext สำหรับเซิร์ฟเวอร์ของคุณและภาษาท้องถิ่นด้วย

ฉันแสดงภาพหน้าจอบางส่วนจากระบบให้คุณดูด้านบน

มันมาพร้อมกับระบบการเข้าสู่ระบบที่เรียบง่ายและการเข้าสู่ระบบหลักคือ: ผู้ดูแลระบบเป็นผู้ใช้และน้ำเป็นรหัสผ่าน

ในการใช้งาน คุณต้องตั้งค่างาน cron สามงาน (คุณพบงานเหล่านี้ในโฟลเดอร์ cronjob)

ไฟล์ timer.php ที่คุณต้องเรียกใช้ทุกวินาที นี้เก็บการทำงานอัตโนมัติทั้งหมดสำหรับระบบรู ชื่อไฟล์ temperatur.php ใช้เพื่อบอกให้ระบบอ่านอุณหภูมิของอากาศและบันทึก ดังนั้นคุณต้องตั้งค่างาน cron เกี่ยวกับความถี่ที่คุณจะเรียกใช้งาน ฉันมีมันทุก 5 นาที จากนั้นไฟล์ชื่อ dagstatistik.php ควรรันเพียงครั้งเดียวก่อนเที่ยงคืน (เช่น 23:30 น. 23:30 น.) จะใช้ค่าที่รายงานจากเซ็นเซอร์ในระหว่างวันและบันทึกค่าสถิตย์ประจำสัปดาห์และเดือน

โปรดทราบว่าระบบนี้เก็บอุณหภูมิเป็นเซลเซียส แต่คุณสามารถเปลี่ยนเป็นฟาเรนไฮต์ได้

ในไฟล์ db.php คุณตั้งค่าการเชื่อมต่อฐานข้อมูล mysql สำหรับระบบ

ขั้นแรกให้เพิ่มเซ็นเซอร์เข้ากับระบบ แล้วสร้างโซนและเพิ่มเซ็นเซอร์ไปยังโซน

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

หากคุณมีปัญหากับโลแคลสำหรับ gettext โปรดจำไว้ว่าถ้าคุณใช้ราสเบอร์รี่เป็นเซิร์ฟเวอร์ มักจะมีชื่อเช่น en_US. UTF-8 ดังนั้นคุณต้องทำการเปลี่ยนแปลงเหล่านั้นในไฟล์ i18n_setup.php และในโฟลเดอร์โลแคล มิฉะนั้นคุณจะติดอยู่กับภาษาสวีเดน

คุณดาวน์โหลดได้ที่หน้า GitHub

แนะนำ: