สารบัญ:

รับอีเมลแจ้งเตือนจากระบบรักษาความปลอดภัยภายในบ้านของคุณโดยใช้ Arduino: 3 ขั้นตอน
รับอีเมลแจ้งเตือนจากระบบรักษาความปลอดภัยภายในบ้านของคุณโดยใช้ Arduino: 3 ขั้นตอน

วีดีโอ: รับอีเมลแจ้งเตือนจากระบบรักษาความปลอดภัยภายในบ้านของคุณโดยใช้ Arduino: 3 ขั้นตอน

วีดีโอ: รับอีเมลแจ้งเตือนจากระบบรักษาความปลอดภัยภายในบ้านของคุณโดยใช้ Arduino: 3 ขั้นตอน
วีดีโอ: ระบบรักษาความปลอดภัยในบ้าน security kit ป้องกันขโมย แจ้งเตือนผ่านมือถือ EP2/2 : วิธีการเชื่อมต่อ 2024, กรกฎาคม
Anonim
รับอีเมลแจ้งเตือนจากระบบรักษาความปลอดภัยภายในบ้านของคุณโดยใช้ Arduino
รับอีเมลแจ้งเตือนจากระบบรักษาความปลอดภัยภายในบ้านของคุณโดยใช้ Arduino

เมื่อใช้ Arduino เราสามารถติดตั้งฟังก์ชันอีเมลพื้นฐานในการติดตั้งระบบรักษาความปลอดภัยที่มีอยู่ได้อย่างง่ายดาย วิธีนี้เหมาะอย่างยิ่งสำหรับระบบเก่าที่น่าจะยกเลิกการเชื่อมต่อจากบริการตรวจสอบมานานแล้ว และอาจมียูทิลิตี้ที่จำกัด นี่ไม่ใช่การแทนที่บริการตรวจสอบ

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

โครงการนี้สามารถดำเนินการให้แล้วเสร็จได้ในราคาต่ำกว่า 10 ดอลลาร์

สิ่งที่คุณต้องการ:

  • Arduino - โดยเฉพาะ Uno หรือ Mega
  • ชิลด์อีเธอร์เน็ต W5100
  • ระบบความปลอดภัย - ระบบที่ใช้ในที่นี้คือ DSC Power 832 PC5010 แต่แทบทุกรุ่นที่มีพินที่ตั้งโปรแกรมได้ (หรือพินใดๆ ที่มีการเปลี่ยนแปลงสถานะที่วัดได้) ก็สามารถใช้ได้
  • คู่มือการติดตั้งและเวิร์กชีตการเขียนโปรแกรม - คุณจะต้องใช้รหัสตัวติดตั้งเพื่อทำการเปลี่ยนแปลงที่จำเป็น
  • ความยาวของสายแกนแข็งเหมาะสำหรับเชื่อมต่อกับหมุดส่วนหัวของ Arduino
  • ตัวต้านทาน 10k เพื่อดึงพินอินพุต Arduino ลงกราวด์
  • ตัวต้านทาน 1.5k เพื่อจำกัดกระแสที่ไปยังด้าน LED ของออปโตคัปเปลอร์ ค่าจะขึ้นอยู่กับแรงดันไฟฟ้าขาเข้าและกระแสสูงสุดของออปโตคัปเปลอร์
  • ออปโตคัปเปลอร์ - ฉันใช้ FOD817 แต่นี่เป็นวงจรง่ายๆ ที่มีความต้องการกว้างๆ ดังนั้นจึงมีวงจรอื่นๆ อีกหลายร้อยตัวที่จะทำงานร่วมกับข้อกำหนดที่คล้ายกันจากระยะไกลได้
  • สายอีเธอร์เน็ต.

ขั้นตอนที่ 1: ตั้งโปรแกรมระบบรักษาความปลอดภัย

ตั้งโปรแกรมระบบรักษาความปลอดภัย
ตั้งโปรแกรมระบบรักษาความปลอดภัย

คำเตือน:

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

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

วิธีการตั้งโปรแกรมจะแตกต่างกันไปในแต่ละรุ่น แต่แนวคิดพื้นฐานเหมือนกัน - โปรดดูรายละเอียดเฉพาะในคู่มือการติดตั้งระบบของคุณ ในระบบ DSC ฉันใช้:

  • ฉันตั้งค่าพิน PGM1 ให้เปิดใช้งานเมื่อมีการเตือน ส่วน[009], ตัวเลือก[01].
  • ในระบบนี้ คุณยังตั้งค่าคุณลักษณะของวิธีและภายใต้เงื่อนไขที่พินทำงาน - มาตรา[141]:

    • ตั้งค่าแอตทริบิวต์ 3 เป็นเปิด เพื่อให้หมุดเปิดตามปกติและเปลี่ยนเป็นกราวด์เมื่อเปิดใช้งานการเตือน ระวังเสมอว่าพินอินพุต Arduino ไม่ได้รับมากกว่า 5v (บางอันมีความทนทานเพียง 3.3v)
    • แอตทริบิวต์อื่นๆ ทั้งหมดถูกตั้งค่าเป็นปิด

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

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

ขั้นตอนที่ 2: โปรแกรม Arduino

โปรแกรม Arduino
โปรแกรม Arduino

ก่อนอื่นเราต้องสมัครใช้บริการเพื่อส่งอีเมลจากเรา

บริการที่ฉันใช้คือ smtp2go ซึ่งฟรีและใช้งานได้กับ Arduino - ซอร์สโค้ดที่ใช้ในที่นี้อิงตามรหัสการตั้งค่าจากเว็บไซต์ของพวกเขา

www.smtp2go.com/

หลังจากที่คุณสมัครใช้งาน คุณจะต้องเข้ารหัสฐาน 64 ชื่อผู้ใช้และรหัสผ่าน (พบได้ใน "การตั้งค่า" > "ผู้ใช้") เพื่อให้ใช้ในรูปแบบร่างได้

www.base64encode.org/

รหัสแหล่งที่มา:

github.com/hzmeister/arduino_alarm_email

กำหนดค่าส่วนต่างๆ ด้วย //comments ตามความต้องการของคุณ

อัปโหลดไปยัง Arduino

อัปเดต:

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

เวอร์ชันนี้ใช้ temboo gmailv2 ซึ่งตรวจสอบสิทธิ์โดยใช้ OAuth ที่น่าเชื่อถือกว่าพร้อมโทเค็นการรีเฟรช ซึ่งต่างจากรหัสผ่านของแอปที่ใช้ใน gmailv1

แหล่งที่มา:

github.com/hzmeister/temboo-gmailv2

ในที่สุดฉันก็ตัดสินใจใช้อีเมลที่ให้โดย isp ซึ่งเปิดพอร์ต 25 คุณสามารถใช้เซิร์ฟเวอร์/พอร์ตอีเมล smtp ใดก็ได้ ตราบใดที่ไม่ต้องการการเข้ารหัสการเชื่อมต่อ (เนื่องจาก w5100 ไม่รองรับ) ประโยชน์ของการใช้ isp ที่ให้มาคือ Google ไม่ได้ตั้งค่าสถานะว่าเป็นสแปม รหัส Arduino เกือบจะเหมือนกับใน smtp2go แต่มีการเปลี่ยนแปลง/อัปเดตเล็กน้อย

แหล่งที่มา:

github.com/hzmeister/arduino_alarm_emailV2

ขั้นตอนที่ 3: ติดตั้งฮาร์ดแวร์และทดสอบ

ติดตั้งฮาร์ดแวร์และทดสอบ
ติดตั้งฮาร์ดแวร์และทดสอบ
ติดตั้งฮาร์ดแวร์และทดสอบ
ติดตั้งฮาร์ดแวร์และทดสอบ

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

ฉันใช้โฟโตคัปเปลอร์เพื่อแยกสัญญาณ 13.7v pgm1 ออกจากอินพุต 5v arduino และกราวด์ เป็นวงจร "ออปโตคัปเปลอร์ที่ไม่กลับด้าน"

เมื่อสัญญาณเตือนถูกเปิดใช้งาน pgm1 จะสลับจากเปิดเป็นกราวด์เพื่อทำให้วงจรสมบูรณ์

ทดสอบระบบ.

ใช้มอนิเตอร์แบบอนุกรมใน Arduino IDE เพื่อดูสถานะเอาต์พุต

ตรวจสอบโฟลเดอร์สแปมหากการตรวจสอบซีเรียลแสดงว่าอีเมลถูกส่งเรียบร้อยแล้ว แต่คุณไม่ได้รับในกล่องจดหมายของคุณ

แนะนำ: