สารบัญ:

Alarm PIR to WiFi (และ Home Automation): 7 ขั้นตอน (พร้อมรูปภาพ)
Alarm PIR to WiFi (และ Home Automation): 7 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Alarm PIR to WiFi (และ Home Automation): 7 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Alarm PIR to WiFi (และ Home Automation): 7 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: WiFi Home Burglar Alarm System Motion Detector PIR Sensor Alarm Pet Immune Tuya Smart Life APP 2024, พฤศจิกายน
Anonim
Image
Image
Alarm PIR to WiFi (และระบบอัตโนมัติภายในบ้าน)
Alarm PIR to WiFi (และระบบอัตโนมัติภายในบ้าน)

ภาพรวม

คำแนะนำนี้จะช่วยให้คุณสามารถดูวันที่/เวลาล่าสุด (และสามารถเลือกประวัติเวลา) ของเวลาที่ PIR ของสัญญาณเตือนภัยในบ้าน (เซ็นเซอร์อินฟราเรดแบบพาสซีฟ) ถูกทริกเกอร์ในซอฟต์แวร์ระบบอัตโนมัติภายในบ้านของคุณ ในโครงการนี้ ฉันจะพูดถึงวิธีใช้งานกับ OpenHAB (ซอฟต์แวร์ระบบอัตโนมัติภายในบ้านฟรี ซึ่งฉันใช้เป็นการส่วนตัว) แม้ว่าจะทำงานร่วมกับซอฟต์แวร์หรือแอปพลิเคชันระบบอัตโนมัติในบ้านอื่นๆ ที่รองรับ MQTT (จะอธิบายในบทความนี้ด้วย) คำแนะนำนี้จะแนะนำคุณตามขั้นตอนที่จำเป็นในการต่อแผงวงจรและ Wemos D1 mini (บอร์ด IOT ที่ใช้ชิป ESP8266) ที่จะแตะโซนสัญญาณเตือนภัยในกล่องควบคุมสัญญาณเตือนของคุณเพื่อที่ว่าเมื่อโซน (ที่มี PIR หนึ่งรายการขึ้นไป) ถูกทริกเกอร์ Wemos จะส่งข้อความแบบไร้สายโดยใช้โปรโตคอล MQTT ไปยังซอฟต์แวร์ระบบอัตโนมัติในบ้านของคุณ ซึ่งจะแสดงวันที่/เวลาสุดท้ายของทริกเกอร์นั้น มีโค้ด Arduino สำหรับโปรแกรม Wemos ด้วย

บทนำ

ภาพด้านบนคือสิ่งที่ฉันเห็นผ่านหน้าจอใดหน้าจอหนึ่งในแอป OpenHAB บน iPhone ของฉัน ข้อความวันที่/เวลามีรหัสสีเพื่อให้แสดงได้รวดเร็วยิ่งขึ้นว่าเมื่อใดที่ PIR ถูกทริกเกอร์ โดยจะแสดงเป็นสีแดง (ทริกเกอร์ภายใน 1 นาทีที่ผ่านมา) สีส้ม (เรียกใช้ภายใน 5 นาทีที่ผ่านมา) สีเขียว (เรียกใช้ภายใน 30 นาทีที่ผ่านมา), สีน้ำเงิน (เปิดใช้งานภายในชั่วโมงที่แล้ว) หรือสีดำ การคลิกวันที่/เวลาจะแสดงมุมมองประวัติของทริกเกอร์ PIR โดยที่ 1 หมายถึงทริกเกอร์ และ 0 ไม่ได้ใช้งาน มีประโยชน์หลายอย่าง ตัวอย่างเช่น สามารถเสริมโซลูชันการแสดงตนที่บ้านของคุณ สามารถตรวจจับการเคลื่อนไหวหากคุณไม่อยู่ และผ่านกฎ OpenHAB ส่งการแจ้งเตือนไปยังโทรศัพท์ของคุณ คุณสามารถใช้มันเหมือนที่ฉันทำเพื่อดูว่าลูกๆ ของฉันอยู่หรือไม่ ตื่นขึ้นมากลางดึกโดย PIR ที่อาศัยอยู่นอกห้องนอน!

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

สมมติฐาน

คำแนะนำนี้ถือว่าคุณมีอยู่แล้ว (หรือจะตั้งค่า):

  • เห็นได้ชัดว่าระบบเตือนภัยภายในบ้านพร้อม PIR (เซ็นเซอร์อินฟราเรดแบบพาสซีฟ) และคุณสามารถเข้าถึงกล่องควบคุมสัญญาณเตือนภัยเพื่อเชื่อมต่อสายไฟที่จำเป็น
  • OpenHAB (ซอฟต์แวร์โอเพ่นซอร์สโฮมออโตเมชั่นฟรี) ทำงานอยู่ แม้ว่าตามที่กล่าวไว้ มันควรทำงานร่วมกับซอฟต์แวร์ระบบอัตโนมัติภายในบ้านใดๆ ที่สามารถรวมการโยง MQTT ได้ อีกวิธีหนึ่ง คุณสามารถเปลี่ยนรหัสได้เองเพื่อให้เหมาะกับความต้องการของคุณเอง
  • Mosquitto MQTT (หรือคล้ายกัน) โบรกเกอร์ที่ติดตั้งและผูกที่กำหนดค่าด้วย OpenHAB (MQTT เป็นโปรโตคอลประเภทการสมัครสมาชิก/เผยแพร่ข้อความที่มีน้ำหนักเบาและเหมาะสำหรับการสื่อสารระหว่างอุปกรณ์)

หากคุณไม่ได้ใช้งาน OpenHAB และโบรกเกอร์ MQTT โปรดดูบทความที่ยอดเยี่ยมนี้บนเว็บไซต์ MakeUseOf

ฉันต้องการอะไร?

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

  • Wemos D1 mini V2 (มีชิปไร้สาย ESP8266 ในตัว)
  • ตัวเปรียบเทียบ LM339 (จะทำการตรวจสอบ PIR ไม่ได้ใช้งานและทริกเกอร์)
  • แหล่งจ่ายไฟ DC 5V สำหรับ Wemos (หรือตัวแปลงบั๊ก DC-DC หมายเหตุ: ตัวควบคุมแรงดันไฟฟ้า LM7805 อาจไม่ทำงานสำหรับแอปพลิเคชันนี้ตามที่กล่าวไว้ในโครงการนี้ในภายหลัง)
  • ตัวต้านทานสองตัวสำหรับตัวแบ่งแรงดันไฟ (ขนาดจะขึ้นอยู่กับแรงดันไฟเตือนของคุณ ซึ่งจะกล่าวถึงในโครงการต่อไป)
  • ตัวต้านทาน 1K โอห์มหนึ่งตัวเพื่อทำหน้าที่เป็นตัวต้านทานแบบดึงลงเพื่อควบคุมกำลัง LM339
  • MOSFET 2N7000 (หรือใกล้เคียง) หนึ่งตัวสำหรับเปิด LM339 อย่างมีเหตุผล (อาจเป็นทางเลือก ซึ่งจะกล่าวถึงในภายหลังในโปรเจ็กต์)
  • เขียงหั่นขนมขนาดเหมาะสมสำหรับการติดตั้งและทดสอบวงจร
  • พวงของสายเขียงหั่นขนมเพื่อเชื่อมต่อทุกอย่างเข้าด้วยกัน
  • เครื่องมือที่จำเป็น: คัตเตอร์ด้านข้าง, ลวดแกนเดี่ยว
  • DC มัลติมิเตอร์ (บังคับ!)

ขั้นตอนที่ 1: กล่องควบคุมระบบเตือนภัย

กล่องควบคุมระบบเตือนภัย
กล่องควบคุมระบบเตือนภัย

ก่อนอื่นคำเตือนและข้อจำกัดความรับผิดชอบ

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

ด้านล่างนี้คือรายการสิ่งที่คุณควรรู้ก่อนที่จะเริ่ม - ให้แน่ใจว่าคุณอ่านและเข้าใจแต่ละข้อก่อนดำเนินการต่อ! ฉันไม่มีส่วนรับผิดชอบใด ๆ หากคุณทำให้ระบบเตือนภัยของคุณพังและ/หรือต้องจ่ายเงินให้ผู้ติดตั้งเพื่อแก้ไข หากคุณอ่านและเข้าใจสิ่งต่อไปนี้และใช้มาตรการป้องกันที่จำเป็น คุณก็ไม่เป็นไร:

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

2. เมื่อเปิดเครื่องสำรองของระบบเตือนภัย หลังจากประมาณ 12 ชั่วโมง แผงควบคุมสัญญาณเตือนจะเริ่มส่งเสียงบี๊บพร้อมรหัสความผิดปกติ หลังจากกำหนดรหัสความผิดปกติผ่านคู่มือแล้ว ฉันพบว่ามีคำเตือนว่า:

  • ไม่ได้ตั้งค่าวันที่/เวลา (ฉันต้องการรหัสหลักและลำดับคีย์จากคู่มือเพื่อกำหนดค่าใหม่)
  • ว่าแบตสำรองไม่ติด (แก้ง่ายๆ ลืมเสียบแบตใหม่)

3. ในการเตือนของฉัน มีบล็อกการเชื่อมต่อโซน 4 x (ติดป้ายว่า Z1-Z4) เพื่อให้ PIR ต่อสายเข้ากับบอร์ดสัญญาณเตือนหลัก อย่างไรก็ตาม ระบบเตือนภัยของฉันมี 8 โซนจริงๆ แต่ละบล็อกการเชื่อมต่อโซนสามารถเรียกใช้ 2 x โซนแต่ละโซน (Z1 ทำ Z1 และ Z5, Z2 ทำ Z2 และ Z6 เป็นต้น) ระบบสัญญาณเตือนมีการป้องกันการงัดแงะในตัวเพื่อหยุดใครบางคนพูด เปิดฝาไปที่ระบบเตือนภัยตามที่กล่าวไว้ข้างต้น หรือตัดสายไฟไปยัง PIR มันแยกความแตกต่างระหว่างการงัดแงะแต่ละโซนผ่านตัวต้านทาน EOL (ปลายสาย) ตัวต้านทานเหล่านี้เป็นตัวต้านทานขนาดเฉพาะที่อยู่ที่ "ปลายเส้น" - กล่าวอีกนัยหนึ่งภายใน PIR (หรือสวิตช์ควบคุมกล่องควบคุมหรือกล่องไซเรนหรืออะไรก็ตามที่เชื่อมต่อกับโซนนั้น) ดังที่กล่าวไว้ ตัวต้านทานเหล่านี้ใช้เป็น 'การงัดแงะ การป้องกัน' - ในทางเทคนิค หากมีคนตัดสายเคเบิลไปยัง PIR - เนื่องจากระบบเตือนภัยคาดว่าจะเห็นความต้านทานบางอย่างจาก PIR นั้น หากความต้านทานเปลี่ยนไป จะถือว่ามีคนดัดแปลงระบบและจะส่งสัญญาณเตือน

ตัวอย่างเช่น:

ในการเตือนของฉัน โซน "Z4" มีสายไฟ 2 เส้น สายหนึ่งส่งไปที่ PIR ในโถงทางเดินของฉัน และอีกสายหนึ่งไปที่สวิตช์ควบคุมการงัดแงะกล่องควบคุมสัญญาณเตือนภัย ภายในโถงทางเดิน PIR มีตัวต้านทาน 3300 โอห์ม สายไฟอีกเส้นที่วิ่งไปยังสวิตช์งัดแงะกล่องควบคุมมีตัวต้านทาน 6800 โอห์มต่อสายเป็นอนุกรม นี่คือวิธีที่ระบบเตือนภัย (ตามหลักเหตุผล) แยกแยะระหว่างตัวดัดแปลง "Z4" และ "Z8" ในทำนองเดียวกัน โซน "Z3" มี PIR (มีตัวต้านทาน 3300 โอห์มอยู่ในนั้น) และสวิตช์ปิดเสียงไซเรน (มีตัวต้านทาน 6800 โอห์ม) ที่ประกอบเป็น "Z7" โปรแกรมติดตั้งสัญญาณเตือนจะกำหนดค่าระบบเตือนภัยล่วงหน้าเพื่อให้รู้ว่าอุปกรณ์ใดเชื่อมต่อกับแต่ละโซน (และเปลี่ยนขนาดของตัวต้านทาน EOL ให้เหมาะสม เนื่องจากระบบเตือนภัยได้รับการตั้งโปรแกรมให้รู้ว่าตัวต้านทาน EOL ต่างกันขนาดไหน ภายใต้ ไม่ควรเปลี่ยนค่าของตัวต้านทานเหล่านี้ในสถานการณ์ใด!)

จากที่กล่าวมาข้างต้น เนื่องจากแต่ละโซนอาจมีอุปกรณ์หลายตัวต่ออยู่ด้วย (โดยมีค่าความต้านทานต่างกัน) และจำสูตร V=IR (แรงดัน = แอมป์ x ความต้านทาน) นั่นก็อาจหมายความว่าแต่ละโซนอาจมีแรงดันไฟฟ้าต่างกัน ซึ่งนำเราไปสู่ขั้นตอนต่อไป การวัดแต่ละโซนของแรงดันไฟฟ้า IDLE เทียบกับ TRIGGERED…

ขั้นตอนที่ 2: การวัดแรงดันโซนสัญญาณเตือน

การวัดแรงดันโซนสัญญาณเตือน
การวัดแรงดันโซนสัญญาณเตือน
การวัดแรงดันโซนสัญญาณเตือน
การวัดแรงดันโซนสัญญาณเตือน

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

คำเตือน: ระบบเตือนภัยส่วนใหญ่ของคุณมักจะทำงานบนไฟ DC 12V แต่จะมีการป้อนพลังงานเริ่มต้นที่ 220V (หรือ 110V) AC โดยมีหม้อแปลงแปลงพลังงานจาก AC เป็น DC อ่านคู่มือและใช้ความระมัดระวังเป็นพิเศษเพื่อให้แน่ใจว่าคุณไม่ได้วัดขั้วไฟฟ้ากระแสสลับใดๆ!!! ตามภาพหน้าจอของระบบเตือนภัยของฉันในหน้านี้ คุณจะเห็นว่าด้านล่างสุดของภาพคือไฟ AC ที่แปลงเป็น 12V DC เรากำลังวัด DC 12V ในกล่องสีแดงที่ไฮไลต์ ห้ามสัมผัสไฟฟ้ากระแสสลับ ดูแลสุดขีด!

การวัดแรงดัน PIR

ฉันมี 4 x PIR ที่เชื่อมต่อกับ Z1 ถึง Z4 วัดแต่ละโซนของคุณดังนี้

  1. ขั้นแรก ระบุเทอร์มินัล GND และเทอร์มินัลโซนบนแผงสัญญาณเตือน ฉันได้เน้นสิ่งเหล่านี้ในภาพที่แสดงจากคู่มือการเตือน Bosch ของฉัน
  2. หยิบมัลติมิเตอร์และตั้งค่าการวัดแรงดันไฟฟ้าเป็น 20V DC เชื่อมต่อสายสีดำ (COM) จากมัลติมิเตอร์ของคุณเข้ากับขั้วต่อ GND บนสัญญาณเตือน วางสายสีแดง (+) จากมัลติมิเตอร์ของคุณในโซนแรก - ในกรณีของฉันที่มีป้ายกำกับ "Z1" เขียนค่าแรงดันไฟฟ้าที่อ่านได้ ทำตามขั้นตอนเดียวกันสำหรับโซนที่เหลือ การวัดแรงดันไฟฟ้าของฉันมีดังนี้:
  • Z1 = 6.65V
  • Z2 = 6.65V
  • Z3 = 7.92V
  • Z4 = 7.92V

ตามด้านบน สองโซนแรกของฉันมีเพียง PIR ที่แนบมาด้วยเท่านั้น สองโซนหลังมีทั้ง PIR และการป้องกันการงัดแงะแบบมีสาย (Z3 control box tamper, Z4 siren tamper) สังเกตความแตกต่างของแรงดันไฟฟ้า

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

  • Z1 = 0V
  • Z2 = 0V
  • Z3 = 4.30V
  • Z4 = 4.30V

ตามที่กล่าวไว้ข้างต้น ฉันเห็นได้ว่าเมื่อโซน 1 และ 2 ถูกทริกเกอร์ แรงดันไฟฟ้าจะลดลงจาก 6.65V เป็น 0V อย่างไรก็ตาม เมื่อเปิดโซน 3 และ 4 แรงดันไฟฟ้าจะลดลงจาก 7.92V เป็น 4.30V

การวัดแหล่งจ่ายไฟ 12V

เราจะใช้เทอร์มินัล 12V DC จากกล่องควบคุมสัญญาณเตือนเพื่อขับเคลื่อนโครงการของเรา เราจำเป็นต้องวัดแรงดันไฟฟ้าจากฟีด 12V DC บนสัญญาณเตือน แม้ว่าจะระบุ 12V แล้ว แต่เราจำเป็นต้องทราบการอ่านที่แม่นยำยิ่งขึ้น ในกรณีของฉัน มันอ่านได้จริง 13.15V เขียนลงไป คุณจะต้องใช้ค่านี้ในขั้นตอนต่อไป

เหตุใดเราจึงวัดแรงดันไฟฟ้า

เหตุผลที่เราต้องวัดแรงดันไฟสำหรับ PIR แต่ละตัวก็เพราะวงจรที่เราจะสร้างขึ้น เราจะใช้ชิปเปรียบเทียบดิฟเฟอเรนเชียล LM339 แบบสี่ (หรือตัวเปรียบเทียบควอดออปแอมป์) เป็นส่วนประกอบทางไฟฟ้าหลักสำหรับโครงการนี้ LM339 มีตัวเปรียบเทียบแรงดันไฟฟ้าอิสระ 4 ตัว (4 ช่องสัญญาณ) โดยที่แต่ละช่องใช้แรงดันไฟฟ้าอินพุต 2 x (หนึ่ง inverting (-) และหนึ่ง non-inverting (+) อินพุต ดูแผนภาพ) หากแรงดันไฟฟ้าของแรงดันไฟฟ้าขาเข้าที่ย้อนกลับควรลดลงต่ำกว่า แรงดันไฟฟ้าที่ไม่กลับด้านจากนั้นเอาต์พุตที่เกี่ยวข้องจะถูกดึงลงกราวด์ ในทำนองเดียวกัน หากแรงดันไฟฟ้าอินพุตที่ไม่กลับด้านลดลงต่ำกว่าอินพุตที่กลับด้าน เอาต์พุตจะถูกดึงขึ้นไปที่ Vcc สะดวก ในบ้านของฉัน ฉันมีสัญญาณเตือน PIR/โซน 4 ตัว ดังนั้นแต่ละโซนจะต่อสายไปยังแต่ละช่องสัญญาณบนตัวเปรียบเทียบ หากคุณมี PIR มากกว่า 4 ตัว คุณจะต้องมีเครื่องเปรียบเทียบที่มีช่องสัญญาณมากกว่า หรือ LM339 อื่น!

หมายเหตุ: LM339 ใช้พลังงานในนาโนแอมป์ ดังนั้นจะไม่ส่งผลต่อความต้านทาน EOL ของระบบเตือนภัยที่มีอยู่

หากสิ่งนี้ทำให้สับสน ให้ทำตามขั้นตอนต่อไป เมื่อเราวางสายมันจะเริ่มเข้าใจมากขึ้น!

ขั้นตอนที่ 3: การสร้างตัวแบ่งแรงดัน

Image
Image

ตัวแบ่งแรงดันไฟฟ้าคืออะไร?

ตัวแบ่งแรงดันไฟเป็นวงจรที่มีตัวต้านทาน 2 ตัว (หรือมากกว่า) แบบอนุกรม เราให้แรงดันไฟฟ้าเป็น (Vin) ให้กับตัวต้านทานตัวแรก (R1) ขาอีกข้างของ R1 เชื่อมต่อกับขาแรกของตัวต้านทานตัวที่สอง (R2) และปลายอีกด้านของ R2 เชื่อมต่อกับ GND จากนั้นเราใช้แรงดันเอาต์พุต (Vout) จากการเชื่อมต่อระหว่าง R1 และ R2 แรงดันไฟฟ้านั้นจะกลายเป็นแรงดันอ้างอิงของเราสำหรับ LM339 สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการทำงานของตัวแบ่งแรงดัน โปรดดูวิดีโอ Adohms youtube

(หมายเหตุ: ตัวต้านทานไม่มีขั้ว จึงสามารถต่อสายได้ทั้งสองทาง)

การคำนวณแรงดันอ้างอิงของเรา

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

ใช้นาฬิกาปลุกของฉันเป็นตัวอย่าง…

แรงดันไฟฟ้าที่ไม่ได้ใช้งานของโซนคือ Z1 = 6.65V, Z2 = 6.65V, Z3 = 7.92V, Z4 = 7.92V แรงดันไฟฟ้ารอบเดินเบาต่ำสุดจึงเท่ากับ 6.65V

โซนแรงดันไฟฟ้าที่ทริกเกอร์คือ: Z1 = 0V, Z2 = 0V, Z3 = 4.30V, Z4 = 4.30V แรงดันทริกเกอร์สูงสุดคือ 4.30V

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

การคำนวณค่าตัวต้านทานสำหรับตัวแบ่งแรงดัน

ตอนนี้เรามีแรงดันอ้างอิงแล้ว เราต้องคำนวณขนาดตัวต้านทานที่เราต้องการเพื่อสร้างตัวแบ่งแรงดันที่จะให้แรงดันอ้างอิงของเรา เราจะใช้แหล่งจ่ายแรงดันไฟ DC 12V (Vs) จากสัญญาณเตือน อย่างไรก็ตาม ตามขั้นตอนก่อนหน้านี้เมื่อเราวัดฟีด 12V DC เราได้รับ 13.15V จริงๆ เราจำเป็นต้องคำนวณตัวแบ่งแรงดันโดยใช้ค่านี้เป็นแหล่งกำเนิด

คำนวณ Vout โดยใช้กฎโอห์ม…

Vout = Vs x R2 / (R1 + R2)

…หรือใช้เครื่องคำนวณตัวแบ่งแรงดันแบบออนไลน์:-)

คุณจะต้องทดลองกับค่าตัวต้านทานจนกว่าคุณจะได้ผลลัพธ์ที่ต้องการ ในกรณีของฉัน มันได้ผลกับ R1 = 6.8k ohm และ R2 = 4.7K ohm ซึ่งคำนวณในรูปแบบยาวดังนี้:

Vout = Vs x R2 / (R1 + R2)

Vout = 13.15 x 4700 / (6800 + 4700)

โหวต = 61, 805 / 11, 500

Vout = 5.37V

ขั้นตอนที่ 4: ต่อสาย LM339

การเดินสายไฟ Wemos D1 Mini
การเดินสายไฟ Wemos D1 Mini

ตัวแบ่งแรงดันไฟฟ้าเป็นอินพุตกลับด้าน LM339

ตามที่กล่าวไว้ก่อนหน้านี้เกี่ยวกับตัวเปรียบเทียบ LM339 จะใช้อินพุต 2 x หนึ่งจะเป็นแรงดันไฟฟ้าจาก PIR แต่ละตัวไปยังแต่ละช่องสัญญาณที่ไม่กลับด้าน (+) ขั้วอื่น ๆ จะเป็นแรงดันอ้างอิงของเราไปยังเทอร์มินัลอินเวอร์เตอร์ (-) ของเรา แรงดันอ้างอิงจำเป็นต้องป้อนอินพุตกลับด้านของตัวเปรียบเทียบทั้ง 4 ตัว ปิดระบบเตือนภัยของคุณก่อนที่จะทำตามขั้นตอนเหล่านี้

  • เรียกใช้สายไฟจากบล็อก 12V DC บนระบบเตือนภัยไปยังราง + บนเขียงหั่นขนมของคุณ *
  • ต่อสายไฟจากบล็อก GND บนระบบเตือนภัยไปที่ - รางบนเขียงหั่นขนมของคุณ **
  • ติดตั้งตัวเปรียบเทียบ LM339 ตรงกลางของเขียงหั่นขนม (รอยบากบ่งชี้ว่าใกล้กับพิน 1)
  • ติดตั้งตัวต้านทาน 2 ตัวเพื่อสร้างวงจรแบ่งแรงดันและสายไฟสำหรับแรงดันไฟแบบแบ่งออก
  • เรียกใช้สายไฟจาก 'แรงดันแบ่ง' Vout ไปยังเทอร์มินัล inverting LM339 แต่ละอัน

* เคล็ดลับ: ใช้คลิปจระเข้เพื่อจ่ายไฟถ้าเป็นไปได้ เพราะจะทำให้เปิด/ปิดไฟให้กับโปรเจ็กต์ของคุณได้ง่ายขึ้น** สำคัญ! อาจจำเป็นต้องใช้ MOSFET หากคุณเปิดเครื่อง Wemos จากแผง Alarm! ในกรณีของฉัน LM339, Wemos และ Alarm ทั้งหมดได้รับพลังงานจากแหล่งเดียวกัน (เช่น: ระบบเตือนภัยเอง) ซึ่งช่วยให้ฉันสามารถเปิดเครื่องสำหรับทุกสิ่งด้วยการเชื่อมต่อสายไฟเดียว อย่างไรก็ตาม ตามค่าเริ่มต้น หมุด GPIO บน Wemos ถูกกำหนดเป็นพิน "INPUT" ซึ่งหมายความว่าพวกมันใช้แรงดันไฟฟ้าใดๆ ก็ตามที่ถูกโยนใส่พวกมัน และอาศัยแหล่งนั้นเพื่อให้ระดับแรงดันไฟฟ้าที่ถูกต้อง (ระดับต่ำสุด/สูงสุด) เพื่อให้ Wemos ชนะ' t ผิดพลาดหรือหมดไฟ ในกรณีของฉัน ระบบเตือนภัยได้รับพลังและเริ่มทำลำดับการบู๊ตอย่างรวดเร็ว - อันที่จริงแล้วรวดเร็วมากจนทำสิ่งนี้ก่อนที่ Wemos จะสามารถบู๊ตและประกาศพิน GPIO เป็น "INPUT_PULLUP" (แรงดันไฟดึงขึ้นภายใน ชิป). นี่ไม่ได้หมายความว่าความแตกต่างของแรงดันไฟฟ้าจะทำให้ Wemos หยุดทำงานเมื่อทั้งระบบได้รับพลังงาน วิธีเดียวที่จะหลีกเลี่ยงได้ก็คือการปิดและเปิด Wemos ด้วยตนเอง เพื่อแก้ปัญหานี้ MOSFET ถูกเพิ่มเข้ามาและทำหน้าที่เป็น "สวิตช์ลอจิคัล" สำหรับเปิดเครื่อง LM339 สิ่งนี้ทำให้ Wemos สามารถบู๊ตได้ ตั้งค่าพิน GPIO ตัวเปรียบเทียบ 4 ตัวเป็น "INPUT_PULLUP's" หน่วงเวลาไม่กี่วินาทีจากนั้น (ผ่านพิน GPIO อื่น D5 ที่กำหนดเป็น OUTPUT) ส่งสัญญาณ "สูง" ผ่าน GPIO พิน D5 ไปยัง MOSFET ซึ่งเปิดสวิตช์ LM339 ตามหลักเหตุผล ฉันอยากจะแนะนำการเดินสายตามข้างบนนี้ แต่ถ้าคุณพบว่า Wemos ขัดข้องเหมือนที่ฉันทำ คุณจะต้องรวม MOSFET ด้วยตัวต้านทานแบบดึงลง 1k ohm สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการทำเช่นนี้ โปรดดูที่ส่วนท้ายของคำแนะนำนี้

โซนสัญญาณเตือนไปยังอินพุตที่ไม่กลับด้าน LM339

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

  • สายจาก Z1 ไปที่ LM339 อินพุต 1+
  • สายจาก Z2 ไปที่ LM339 อินพุต 2+
  • สายจาก Z3 ไปที่อินพุต LM339 3+
  • สายจาก Z4 ไปที่อินพุต LM339 4+

อ้างถึงพินเอาต์ของ LM339 ภายใต้ขั้นตอนที่ 3 หากคุณเตือนความจำ (เป็นรหัสสีที่มีภาพเขียงหั่นขนม) เมื่อเสร็จแล้ว เขียงหั่นขนมของคุณควรปรากฏคล้ายกับภาพที่แสดงในขั้นตอนนี้

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

ขั้นตอนที่ 5: การเดินสาย Wemos D1 Mini

การเดินสายไฟ Wemos D1 mini

ตอนนี้เรามีอินพุต LM339 ที่ดูแลแล้ว ตอนนี้เราต้องต่อสายใน Wemos D1 mini พินเอาต์พุต LM339 แต่ละตัวไปที่พิน Wemos GPIO (อินพุต/เอาต์พุตวัตถุประสงค์ทั่วไป) ที่เราจะกำหนดผ่านโค้ดเป็นพินพูลอัพอินพุต Wemos ใช้แรงดันไฟฟ้าสูงสุด 5V เนื่องจากแรงดันไฟฟ้า Vcc (แหล่งอินพุต) (แม้ว่าจะควบคุมภายในให้เหลือ 3.3V) เราจะใช้ตัวควบคุมแรงดันไฟฟ้า LM7805 ทั่วไป (แก้ไข: ดูด้านล่าง) เพื่อวางราง 12V บนเขียงหั่นขนมลงไป 5V เพื่อจ่ายไฟให้กับ Wemos เอกสารข้อมูลสำหรับ LM7805 ระบุว่าเราต้องการตัวเก็บประจุแบบต่อสายในแต่ละด้านของตัวควบคุมเพื่อให้พลังงานเป็นไปอย่างราบรื่น ดังที่แสดงบนภาพเขียงหั่นขนมขาของตัวเก็บประจุที่ยาวกว่านั้นเป็นค่าบวก (+) ดังนั้นตรวจสอบให้แน่ใจว่าได้ต่อสายไว้อย่างถูกวิธี

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

(แก้ไข: ฉันพบว่าแอมป์ที่มาจากแผงสัญญาณเตือนสูงเกินไปสำหรับ LM7805 ที่จะจัดการ สิ่งนี้ทำให้เกิดความร้อนจำนวนมากในฮีตซิงก์ขนาดเล็กของ LM7805 และทำให้ล้มเหลว และทำให้ Wemos หยุดทำงาน ทำงาน. ฉันเปลี่ยน LM7805 และตัวเก็บประจุด้วยตัวแปลงบั๊ก DC-DC แทน และไม่มีปัญหาตั้งแต่นั้นมา สิ่งเหล่านี้ง่ายต่อการต่อสาย เพียงแค่เชื่อมต่อแรงดันไฟฟ้าอินพุตจากนาฬิกาปลุก เชื่อมต่อกับมัลติมิเตอร์ก่อน และใช้สกรูโพเทนชิออมิเตอร์ และปรับจนแรงดันเอาต์พุตอยู่ที่ ~5V)

หมุดอินพุต GPIO

สำหรับโครงการนี้ เราใช้หมุดต่อไปนี้:

  • โซน Z1 => พิน D1
  • โซน Z2 => พิน D2
  • โซน Z3 => พิน D3
  • โซน Z4 => พิน D5

ต่อเอาท์พุตจาก LM339 ไปยังพิน GPIO ที่เกี่ยวข้องบนบอร์ด Wemos ตามภาพเขียงหั่นขนมที่แสดงในขั้นตอนนี้ อีกครั้ง ฉันมีรหัสสีสำหรับอินพุตและเอาต์พุตที่ตรงกัน เพื่อให้มองเห็นได้ง่ายขึ้นว่าหมายถึงอะไร พิน GPIO แต่ละตัวใน Arduino ถูกกำหนดให้เป็น 'INPUT_PULLUP' ซึ่งหมายความว่าพวกมันจะถูกดึงสูงถึง 3.3V ภายใต้การใช้งานปกติ (IDLE) และ LM339 จะดึงพวกมันลงไปที่พื้นหาก PIR ถูกกระตุ้น รหัสจะตรวจจับการเปลี่ยนแปลงจาก HIGH เป็น LOW และส่งข้อความแบบไร้สายไปยังซอฟต์แวร์ระบบอัตโนมัติภายในบ้านของคุณ หากคุณกำลังมีปัญหากับการทำงานนี้ เป็นไปได้ว่าคุณมีอินพุทที่กลับด้านและไม่กลับด้านในทางที่ผิด (หากแรงดันไฟฟ้าจาก PIR ของคุณสูงเมื่อถูกกระตุ้น เช่นเดียวกับ PIR งานอดิเรกส่วนใหญ่ คุณจะต้องการการเชื่อมต่อ วิธีอื่น ๆ)

Arduino IDE

ลบ Wemos ออกจากเขียงหั่นขนม ตอนนี้เราต้องอัปโหลดรหัส (ลิงก์สำรองที่นี่) ฉันจะไม่ลงรายละเอียดเกี่ยวกับวิธีการทำเช่นนี้ เนื่องจากมีบทความมากมายบนเว็บเกี่ยวกับการอัปโหลดรหัสไปยัง Wemos หรือ ESP8266 อื่น ๆ พิมพ์กระดาน เสียบสาย USB เข้ากับบอร์ด Wemos และพีซีของคุณ แล้วเปิด Arduino IDE ดาวน์โหลดรหัสและเปิดในโครงการของคุณ คุณจะต้องตรวจสอบให้แน่ใจว่าได้ติดตั้งและโหลดบอร์ดที่ถูกต้องสำหรับโครงการของคุณ รวมถึงเลือกพอร์ต COM ที่ถูกต้อง (เครื่องมือ พอร์ต) คุณจะต้องติดตั้งไลบรารีที่เหมาะสมด้วย (PubSubClient, ESP8266Wifi) หากต้องการให้บอร์ด Wemos รวมอยู่ในภาพสเก็ตช์ของคุณ โปรดดูบทความนี้

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

//Wifi

const char* ssid = "your_wifi_ssid_here"; const char* password = "your_wifi_password_here"; // MQTT โบรกเกอร์ IPAddress MQTT_SERVER(172, 16, 223, 254)

เมื่อเปลี่ยนแล้ว ให้ตรวจสอบรหัสของคุณ จากนั้นอัปโหลดไปยังบอร์ด Wemos ผ่านสาย USB

หมายเหตุ:

  • หากคุณใช้พอร์ต GPIO อื่น คุณจะต้องปรับรหัส หากคุณกำลังใช้โซนมากหรือน้อยกว่าที่ฉันมีอยู่ คุณจะต้องปรับโค้ดและ TOTAL_ZONES=4; คงที่เพื่อให้เหมาะสม
  • ภายใต้การเริ่มต้นระบบเตือนภัยของฉัน ระบบเตือนภัยจะทำการทดสอบกำลังกับ PIR ทั้ง 4 ตัว ซึ่งดึง GPIO ที่เชื่อมต่อทั้งหมดลงกราวด์ ทำให้ Wemos คิดว่าโซนกำลังถูกทริกเกอร์ รหัสจะละเว้นการส่งข้อความ MQTT หากเห็นโซนทั้งหมด 4 โซนทำงานพร้อมกัน เนื่องจากถือว่าระบบเตือนภัยกำลังเปิดเครื่อง

ลิงค์ดาวน์โหลดสำรองเพื่อรหัส HERE

ขั้นตอนที่ 6: การทดสอบและการกำหนดค่า OpenHAB

การทดสอบและการกำหนดค่า OpenHAB
การทดสอบและการกำหนดค่า OpenHAB

การทดสอบ MQTT

MQTT เป็นระบบส่งข้อความ "สมัคร / เผยแพร่" อุปกรณ์ตั้งแต่หนึ่งเครื่องขึ้นไปสามารถพูดคุยกับ "นายหน้า MQTT" และ "สมัครรับข้อมูล" ในหัวข้อใดหัวข้อหนึ่งได้ ข้อความที่เข้ามาจากอุปกรณ์อื่นใดที่ "เผยแพร่" ในหัวข้อเดียวกันนั้น นายหน้าจะผลักออกไปยังอุปกรณ์ทั้งหมดที่สมัครรับข้อมูล มันเป็นโปรโตคอลที่เบามากและใช้งานง่ายและสมบูรณ์แบบในฐานะระบบทริกเกอร์ที่เรียบง่ายเช่นที่นี่ สำหรับการทดสอบ คุณสามารถดูข้อความ MQTT ขาเข้าจาก Wemos ไปยังโบรกเกอร์ MQTT ของคุณโดยเรียกใช้คำสั่งต่อไปนี้บนเซิร์ฟเวอร์ Mosquitto ของคุณ (Mosquitto เป็นหนึ่งในซอฟต์แวร์ MQTT Broker ที่มีอยู่มากมาย) คำสั่งนี้สมัครรับข้อความ Keepalive ขาเข้า:

mosquitto_sub -v -t openhab/alarm/status

คุณควรเห็นข้อความขาเข้าที่เข้ามาจาก Wemos ทุกๆ 30 วินาทีหรือมากกว่านั้นด้วยตัวเลข "1" (หมายถึง "ฉันยังมีชีวิตอยู่") หากคุณเห็นค่าคงที่ "0" (หรือไม่มีการตอบกลับ) แสดงว่าไม่มีการสื่อสารใดๆ เมื่อคุณเห็นหมายเลข 1 เข้ามา แสดงว่า Wemos กำลังสื่อสารกับโบรกเกอร์ MQTT (ค้นหา "MQTT Last Will and Testament" สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการทำงาน หรือดูรายการบล็อกที่ดีจริงๆ)

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

mosquitto_sub -v -t openhab/alarm/#

ข้อความสถานะปกติควรเข้ามา เช่นเดียวกับที่อยู่ IP ของ Wemos เอง เดินไปข้างหน้า PIR และคุณควรเห็นข้อมูลโซนเข้ามาระบุว่าเป็น OPEN จากนั้นประมาณหนึ่งวินาทีหรือหลังจากนั้นว่าปิดแล้วคล้ายกับต่อไปนี้:

openhab/นาฬิกาปลุก/สถานะ 1

openhab/alarm/zone1 เปิด

openhab/alarm/zone1 ปิด

เมื่อสิ่งนี้ใช้งานได้ เราสามารถกำหนดค่า OpenHAB ให้แสดงสิ่งนี้อย่างสวยงามใน GUI

การกำหนดค่า OpenHAB

OpenHAB จำเป็นต้องเปลี่ยนแปลงดังต่อไปนี้:

ไฟล์แปลง 'alarm.map': (เป็นทางเลือก สำหรับการทดสอบ)

CLOSED=IdleOPEN=TriggeredNULL=ไม่ทราบ-=ไม่ทราบ

ไฟล์แปลง 'status.map':

0=ล้มเหลว

1=ออนไลน์ -=ลง! NULL=ไม่รู้จัก

ไฟล์ 'รายการ':

String AlarmMonitorState "Alarm Monitor [MAP(status.map):%s]" { mqtt="<[mqttbroker:openhab/alarm/status:state:default]" } String alarmMonitorIPAddress "Alarm Monitor IP [%s]" { mqtt ="<[mqttbroker:openhab/alarm/ipaddress:state:default]" } Number zone1_Chart_Period "Zone 1 Chart" ติดต่อ alarmZone1State "Zone 1 State [MAP(alarm.map):%s]" { mqtt="<[mqttbroker:openhab/alarm/zone1:state:default" } String alarmZone1Trigger "Lounge PIR [%1$ta %1$tr]" Number zone2_Chart_Period "Zone 2 Chart" ติดต่อ alarmZone2State "Zone 2 State [MAP(alarm.map):% s]" { mqtt="<[mqttbroker:openhab/alarm/zone2:state:default" } String alarmZone2Trigger "First Hall PIR [%1$ta %1$tr]" Number zone3_Chart_Period "Zone 3 Chart" ติดต่อ alarmZone3State "Zone 3 สถานะ [MAP(alarm.map):%s]" { mqtt="<[mqttbroker:openhab/alarm/zone3:state:default" } String alarmZone3Trigger "Bedroom PIR [%1$ta %1$tr]" Number zone4_Chart_Period "Zone 4 Chart" ติดต่อ alarmZone4State "Zone 4 State [MAP(alarm.map):%s]" { mqtt="<[mqttbroker:openha b/alarm/zone4:state:default" } String alarmZone4Trigger "Main Hall PIR [%1$ta %1$tr]"

ไฟล์ 'แผนผังไซต์' (รวมถึงการสร้างกราฟ rrd4j):

รายการข้อความ=alarmZone1Trigger valuecolor=[<=60="#ff0000", <=300="#ffa500", <=600="#008000", 3600="#000000"] { Frame { Switch item=zone1_Chart_Period label= การแมป "ระยะเวลา" =[0="ชั่วโมง", 1="วัน", 2="สัปดาห์"] URL รูปภาพ="https://localhost:8080/rrdchart.png" การมองเห็น=[zone1_Chart_Period==0, zone1_Chart_Period= =ไม่ได้กำหนดค่าเริ่มต้น] URL รูปภาพ="https://localhost:8080/rrdchart.png" การมองเห็น=[zone1_Chart_Period==1] url รูปภาพ="https://localhost:8080/rrdchart.png" การมองเห็น=[zone1_Chart_Period==2] } } รายการข้อความ=alarmZone2Trigger valuecolor=[<=60="#ff0000", <=300="#ffa500", <=600="#008000", 3600="#000000"] { Frame { Switch item= zone2_Chart_Period label="Period" mappings=[0="Hour", 1="Day", 2="Week"] Image url="https://localhost:8080/rrdchart.png" Visibility=[zone2_Chart_Period==0" การแสดงผล, zone2_Chart_Period==ไม่ได้กำหนดค่าเริ่มต้น] Image url="https://localhost:8080/rrdchart.png" การมองเห็น=[zone2_Chart_Period==1] Image url="https://localhost:8080/rrdchart.png" Visibility=[zone2_Chart_Period ==2] } } รายการข้อความ=alarmZone3Trigger valuecolor=[<=60="#ff0000", <=300="#ffa500", <=600="#008000", 3600="#000000"] { Frame { Switch item=zone3_Chart_Period label="Period" mappings =[0="ชั่วโมง", 1="วัน", 2="สัปดาห์"] รูปภาพ url="https://localhost:8080/rrdchart.png" การมองเห็น=[zone3_Chart_Period==0, zone3_Chart_Period==ไม่ได้กำหนดค่าเริ่มต้น] รูปภาพ url="https://localhost:8080/rrdchart.png" การมองเห็น=[zone3_Chart_Period==1] รูปภาพ url="https://localhost:8080/rrdchart.png" การมองเห็น=[zone3_Chart_Period==2] } } ข้อความ item=alarmZone4Trigger valuecolor=[<=60="#ff0000", <=300="#ffa500", <=600="#008000", 3600="#000000"] { Frame { Switch item=zone4_Chart_Period label=" การแมประยะเวลา" =[0="ชั่วโมง", 1="วัน", 2="สัปดาห์"] url รูปภาพ="https://localhost:8080/rrdchart.png" การมองเห็น=[zone4_Chart_Period==0, zone4_Chart_Period== ไม่ได้กำหนดค่าเริ่มต้น] URL รูปภาพ="https://localhost:8080/rrdchart.png" การมองเห็น = [zone4_Chart_Period==1] Image url="https://localhost:8080/rrdchart.png" การมองเห็น=[zone4_Chart_Period==2] } } // ไม่บังคับ แต่สะดวกสำหรับการวินิจฉัยสถานะและที่อยู่ IP ss Text item=alarmMonitorState Text item=alarmMonitorIPAddress

ไฟล์ 'กฎ':

กฎ "การเปลี่ยนสถานะ Alarm Zone 1"

เมื่อรายการ alarmZone1State เปลี่ยนเป็น OPEN แล้ว postUpdate (alarmZone1Trigger, DateTimeType ใหม่ ()) alarmZone1State.state = ปิดท้าย

กฎ "การเปลี่ยนสถานะ Alarm Zone 2"

เมื่อรายการ alarmZone2State เปลี่ยนเป็น OPEN แล้ว postUpdate (alarmZone2Trigger, DateTimeType ใหม่ ()) alarmZone2State.state = ปิดท้าย

กฎ "การเปลี่ยนสถานะ Alarm Zone 3"

เมื่อรายการ alarmZone3State เปลี่ยนเป็น OPEN แล้ว postUpdate (alarmZone3Trigger, DateTimeType ใหม่ ()) alarmZone3State.state = ปิดท้าย

กฎ "การเปลี่ยนสถานะ Alarm Zone 4"

เมื่อรายการ alarmZone4State เปลี่ยนเป็น OPEN แล้ว postUpdate (alarmZone4Trigger, DateTimeType ใหม่ ()) alarmZone4State.state = ปิดท้าย

คุณอาจต้องเปลี่ยนการกำหนดค่า OpenHAB ด้านบนเล็กน้อยเพื่อให้เหมาะกับการตั้งค่าของคุณเอง

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

ขอให้โชคดี!

แนะนำ: