สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
โดย ambrose.clarkeติดตามเพิ่มเติมโดยผู้เขียน:
สัญญาณเตือนภัยสำหรับบ้านและธุรกิจที่ใช้กันทั่วไปในหลายประเทศในยุโรปคือแผงสัญญาณเตือนภัยของ Aritech
สิ่งเหล่านี้ได้รับการติดตั้งจนถึงต้นปี 2543 ในหลายแสนรายการและหลายแห่งยังคงมีอยู่ในบ้านในปัจจุบัน - โดยปกติแล้วโปรแกรมติดตั้งจะติดป้ายใหม่ แต่ทั้งหมดมีปุ่มกดที่จดจำได้ง่าย
เป็นระบบที่ดีพร้อมคุณสมบัติมากมาย แต่เนื่องจากได้รับการพัฒนาก่อนบรอดแบนด์ จึงขาดความสามารถในการเชื่อมต่ออินเทอร์เน็ต
รูปภาพในหน้านี้เป็นภาพเคลื่อนไหวของระบบสุดท้าย - อาจไม่เคลื่อนไหวบนอุปกรณ์มือถือ นี่คือลิงค์ไปยังแอนิเมชั่น
โปรเจ็กต์นี้เกี่ยวกับวิศวกรรมย้อนกลับแผงสัญญาณเตือนเพื่อเพิ่มฟังก์ชันการทำงานที่ขาดหายไปนี้
มันจะเพิ่มสิ่งต่อไปนี้:
- ความสามารถในการติดต่อแผงควบคุมและตั้งค่า/ยกเลิกการตั้งค่า/ดูบันทึกโดยใช้เบราว์เซอร์ใดก็ได้จากทุกที่เช่น โทรศัพท์มือถือ
- ให้ระบบเตือนภัยส่งอีเมลถึงคุณหากสัญญาณเตือนภัยหายไป
- ให้คุณเข้าสู่เมนูวิศวกรรมและกำหนดค่าแผงสัญญาณเตือนจากระยะไกล
- รองรับ CD34, CD62, CD72, CD91 และ CS350 ซึ่งเป็นรุ่นหลักของซีรีส์นี้ทั้งหมด
ค่าใช้จ่ายทั้งหมดของชิ้นส่วนทั้งหมดจะน้อยกว่า $20. มาก
หมายเหตุ:
ภาพถ่ายและภาพหน้าจอทั้งหมดเป็นต้นฉบับของฉันเอง (ตามหลักเกณฑ์ของ Instructables) - การออกแบบรหัสและวงจรสร้างขึ้นเอง
ขั้นตอนที่ 1: แผน
แผนคือการให้ Arduino เพื่อเลียนแบบปุ่มกด
แผงควบคุมของ Aritech คิดว่าเป็นปุ่มกดมาตรฐาน แต่จริงๆ แล้วมันคือการพูดคุยกับ Arduino - Arduino นี้ไม่มีแป้นพิมพ์หรือจอแสดงผล แต่มีเว็บเซิร์ฟเวอร์ที่คุณสามารถเชื่อมต่อผ่านอินเทอร์เน็ตแทนได้
เซิร์ฟเวอร์ส่งเว็บไซต์ที่ใช้ websockets เป็นช่องทางการสื่อสารเพื่อให้แป้นพิมพ์จำลองที่ตอบสนองได้ดีใน html มีการบัฟเฟอร์การกดปุ่มหลายครั้งเพื่อให้การตอบสนองที่เทียบเท่ากับปุ่มกดดั้งเดิม
Arduino ได้รับการติดตั้งที่จุดใดก็ได้บน Aritech Bus - ฉันวางของฉันไว้ในตู้ Alarm Panel - แต่คุณสามารถต่อเข้ากับส่วนท้ายของ Keypad ได้หากการเชื่อมต่อ Ethernet ของคุณใกล้กว่า
คุณยังสามารถใช้อแด็ปเตอร์อีเทอร์เน็ตเป็น Wifi ได้หากแผงสัญญาณเตือนอยู่ห่างจากการเชื่อมต่ออีเทอร์เน็ต - ถึงแม้ว่าสายเคเบิลอีเทอร์เน็ตแบบมีสายจะเหมาะกว่ามากแต่เพื่อความน่าเชื่อถือ
ขั้นตอนที่ 2: ชิ้นส่วน
รายการชิ้นส่วนที่จำเป็นคือ:
- Arduino Uno R3 (ลิงก์อเมซอน 6) - เช่น Arduino มาตรฐาน - สามารถซื้อโคลนได้ตั้งแต่ 5 ดอลลาร์ขึ้นไป
- Arduino Ethernet shield (ลิงก์ amazon £7) - อีกส่วนมาตรฐานของ Arduino - Amazon ขายได้ในราคาประมาณ 10 เหรียญขึ้นไป
- แหล่งจ่ายไฟ DC-DC (ลิงค์หรือลิงค์) ประมาณ $ 4 ใช้เพื่อแปลงแผง 12Volts เป็น 5Volts ที่เสถียร
ต่อไปนี้เป็นทางเลือกขึ้นอยู่กับวงจรที่คุณสร้าง
- ทรานซิสเตอร์สองตัว BC109 (หรือทรานซิสเตอร์ NPN วัตถุประสงค์ทั่วไปที่คล้ายกันเช่น 2N2222 หรือ 2N2369)
- ตัวต้านทานตามที่ระบุในแผนผัง
- DiodeAny Diode (เช่น IN4002)
- เขียงหั่นขนมขนาดเล็ก
คุณจะต้องมีรหัสผ่านวิศวกร (ผู้ดูแลระบบ) สำหรับ Aritech Alarm ของคุณด้วย หากคุณไม่มีรหัสผ่าน ทางเลือกหนึ่งที่ควรพิจารณาคือตั้งค่าเริ่มต้นของแผงควบคุมเป็นการตั้งค่าจากโรงงานและกำหนดค่าใหม่
เปิดเครื่อง Arduino
แหล่งจ่ายไฟ DC-DC เป็นส่วนประกอบที่สำคัญที่สุดในการแก้ไข - อย่าพยายามใช้อะแดปเตอร์ usb 12V ถึง 5V ในรถยนต์ราคาถูก - แรงดันไฟฟ้าของอะแดปเตอร์ราคาถูกที่ฉันทดสอบมีแรงดันระลอกที่อาจทำให้ Arduino ขัดข้องแบบสุ่ม.
ฉันไม่แนะนำให้ใช้ซ็อกเก็ต 9V ในตัวของ Arduinos เมื่อใช้อะแดปเตอร์อีเธอร์เน็ตหรือใช้แหล่งจ่ายไฟ 5V ของแผงแจ้งเตือนเพื่อจ่ายไฟให้กับ Arduino - สิ่งต่างๆจะร้อนขึ้น! อะแดปเตอร์ DC-DC ที่ระบุข้างต้นนั้นมีประสิทธิภาพมากและให้ 5V ที่เสถียรมากโดยไม่ทำให้ร้อนขึ้น - ฉันใช้ 5V นี้กับพิน 5V ของ Arduino
หากคุณตัดสินใจที่จะจ่ายไฟจากอะแดปเตอร์ usb ที่จ่ายไฟหลัก (เช่น อะแดปเตอร์โทรศัพท์) และไม่ใช่โมดูลด้านบน - คุณจะต้องตรวจสอบให้แน่ใจว่าเอาต์พุตของอะแดปเตอร์นี้ GND เชื่อมต่อกับกราวด์ของแผงสัญญาณเตือน เนื่องจากทุกสิ่งต้องการแบ่งปัน GND เดียวกัน
ทางเลือกเขียงหั่นขนม
ฉันใช้เขียงหั่นขนมขนาดเล็กเพื่อสร้างต้นแบบระบบ
หากคุณทำให้มันเรียบร้อย เขียงหั่นขนมนั้นดีพอที่จะใช้เป็นวิธีแก้ปัญหา - แต่หลังจากที่คุณแน่ใจว่าทุกอย่างใช้งานได้แล้ว คุณอาจต้องการสร้างเวอร์ชันที่บัดกรีโดยใช้ตัวอย่างเช่น โล่ต้นแบบขนาดเล็กที่แสดงในรูปสุดท้าย
ขั้นตอนที่ 3: การสร้าง (เวอร์ชันเขียงหั่นขนม)
นี่คือสองตัวเลือกให้เลือก
1) ตรงไปที่แผง นี่เป็นวิธีที่ง่ายที่สุด มีประสิทธิภาพและเชื่อถือได้มาก ข้อเสียเพียงอย่างเดียวคือ - ต้องบัดกรีสายไฟ 2 เส้นเข้ากับบอร์ดหลักของ Aritech และบางอันอาจไม่ชอบการบัดกรีโดยตรงที่แผงควบคุม นอกจากนี้ สายไฟสองเส้นจาก Arduino ไปยังแผงควบคุมสำหรับตัวเลือกนี้ควรสั้นพอสมควร (สูงสุดประมาณ 30 ซม. อยู่ด้านขวา) ดังนั้น Arduino จะต้องอยู่ในหรือใกล้กับตู้สัญญาณเตือนภัย ตัวเลือกนี้มีรายละเอียดอยู่ในขั้นตอนถัดไป (ไม่บังคับ)
-หรือ-
2) Custom Arduino to Aritech Circuit
สิ่งนี้เกี่ยวข้องกับการสร้างบอร์ดอินเทอร์เฟซแบบกำหนดเองเพื่อให้เอาต์พุต Arduinos สามารถเชื่อมต่อกับบัสปุ่มกด Aritechs 12v วงจรได้รับการออกแบบมาโดยเฉพาะเพื่อไม่ให้รบกวนปุ่มกดอื่นๆ บนรถบัส ต้องใช้ทรานซิสเตอร์ 2 ตัวและส่วนประกอบที่รองรับบางส่วน สายไฟสามารถยาวได้ตามต้องการ
วงจรที่แสดงด้านบนนี้เป็นอินเทอร์เฟซที่จำเป็นสำหรับ Arduino เพื่อเชื่อมต่อกับบัส 4 สาย
ภาพถ่ายแสดงเขียงหั่นขนม (ภาพที่สอง) สำหรับแนวคิดในการเชื่อมต่อ - เขียงหั่นขนมนี้ใช้สำหรับการพัฒนา - โปรดดูแผนผัง (ภาพแรก) เมื่อสร้างแผงวงจรหรือเขียงหั่นขนมของคุณ
แผงหน้าปัดของ Aritech ใช้บัสปุ่มกดแบบสี่สาย - คุณสามารถเชื่อมต่อกับจุดใดก็ได้บนบัสนี้ - เช่น ที่ปลายปุ่มกดหรือปลายแผงสัญญาณเตือน
ภาพถ่ายที่สามถูกเพิ่มเข้ามาเพื่อความสนใจเท่านั้นและแสดงวงจรจำลองที่ฉันใช้ในการออกแบบวงจร เป้าหมายคือการนับชิ้นส่วนให้น้อยที่สุด หากเป็นไปได้ให้ประเภทชิ้นส่วนและค่าเดียวกัน และเพื่อให้แน่ใจว่ากระแสไฟอยู่ในระดับต่ำ ดังนั้นจึงไม่มีความร้อนที่ไม่จำเป็นเกิดขึ้น
ถามคำถามหากติดขัดหรือไม่ และฉันสามารถลองช่วยเหลือได้ - ฉันได้ทดสอบสิ่งนี้ในพาเนลหลาย ๆ อันที่ฉันเป็นเจ้าของที่นี่ (ฉันเคยหยิบมันขึ้นมาในการขายบูตเมื่อฉันเห็นพวกเขา) - เช่นเดียวกับโครงการเหล่านี้ ฉันไม่สามารถรับผิดชอบได้ ความเสียหายใดๆ
ขั้นตอนที่ 4: เวอร์ชันฮาร์ดแวร์ทางเลือก (เวอร์ชัน One Diode อย่างง่าย)
นี่เป็นอีกทางเลือกหนึ่งในการเชื่อมต่อกับบัสปุ่มกดแบบ 4 สาย คุณสามารถต่อโปรเจ็กต์เข้ากับเมนบอร์ด Aritech ได้โดยตรง
สิ่งนี้จำเป็นต้องบัดกรีสายไฟสองเส้นเข้ากับแผง Aritech แต่ข้อดีที่วงจรทั้งหมดตอนนี้กลายเป็นเพียงไดโอดเดียว - ไม่จำเป็นต้องใช้ทรานซิสเตอร์ ตัวต้านทาน หรือเขียงหั่นขนม!
ภาพด้านบนแสดงจุดเชื่อมต่อสำหรับการต่อสายไฟ
ด้วยวิธีนี้คุณต้องบัดกรีสายไฟสองเส้นเข้ากับชิปที่ใหญ่ที่สุด (ชื่อ 78C17) บนแผงควบคุมและเชื่อมต่อกับ Arduino Pins 0 และ 1 - การเชื่อมต่อ Pin 1 กับแผงสัญญาณเตือนต้องมีไดโอดที่มีปลายเป็นลาย (แคโทด) ของ ไดโอดไปที่ Arduino - ไม่ใช่แถบไปที่ชิปสัญญาณเตือน
การเชื่อมต่อพินขึ้นอยู่กับรูปแบบการเตือน - ดูภาพด้านบนสำหรับการเชื่อมต่อ
หากคุณพบว่าเป็นการยากที่จะประสานกับพิน (แน่นเล็กน้อย) ให้บัดกรีที่ด้านหลังของแผงหรือคุณสามารถดูตามเส้นทางของแทร็กเพื่อหาจุดบัดกรีที่ง่ายกว่า ในภาพที่สามของขั้นตอนนี้คือจุดเชื่อมต่อที่ฉันใช้สำหรับ CD72/CD62 ยึดสายไฟโดยใช้เทป กาวร้อน หรือถ้าคุณดูบอร์ดของฉันอย่างระมัดระวัง คุณจะเห็นว่าฉันบัดกรีลวดเส้นเล็กๆ เพื่อยึดสายเคเบิลให้แน่น
คุณยังจำเป็นต้องจ่ายไฟให้กับ Arduino โดยใช้โมดูลตัวแปลง DC-DC ที่กล่าวถึงแล้ว (ตั้งค่าเป็น 5v)
ชิป Aritech เป็น 5V - เหมือนกับ Arduino - ดังนั้นจึงเข้ากันได้อย่างสมบูรณ์แบบ
แผงต่อมาบางส่วน (เช่น CS350 บางรุ่น) ใช้ชิปที่ติดตั้งบนพื้นผิว (ชิปมีขนาดเล็กมากและเป็นสี่เหลี่ยมจัตุรัส) สำหรับสิ่งเหล่านี้ วงจรก่อนหน้านี้อาจจะดีที่สุด แต่ถ้าคุณต้องการที่จะลอง คุณอาจพบว่ามันเป็นไปได้ที่จะประสานไปยังที่อื่นตามเส้นทางที่นำจากไมโครชิป หากคุณค้นหาพินของชิป PD78C17GF ในแผ่นข้อมูล - ชื่อพินที่จะเชื่อมต่อคือ "PC0/TXD" และ "PC1/RXD"
"การบัดกรีแบบบัดกรี" บางอย่างอาจมีประโยชน์ในการล้างข้อผิดพลาดในการบัดกรีหากคุณไม่คุ้นเคยกับการบัดกรีและใช้การบัดกรีมากเกินไป
แน่นอน ตรวจสอบให้แน่ใจว่าทุกอย่างถูกปิดในขณะที่บัดกรี - เพื่อความปลอดภัยของคุณเช่นเดียวกับสัญญาณเตือนภัยของคุณ
ขั้นตอนที่ 5: ซอฟต์แวร์
โค้ดค่อนข้างซับซ้อน - เป็นความพยายามครั้งสำคัญ และต้องใช้เทคนิคมากมายในการบีบโค้ดทั้งหมด (โปรแกรมจำลองแป้นพิมพ์, เว็บเซิร์ฟเวอร์ HTML, หน้า HTML, ไคลเอ็นต์อีเมล, เว็บเซิร์ฟเวอร์ Websocket, การเข้ารหัส DES และไลบรารี Base64) ทั้งหมดลงในโค้ดขนาดเล็ก พื้นที่แฟลช Arduino 32K และแรม
รหัสทั้งหมดถูกโฮสต์ที่นี่:
github.com/OzmoOzmo/CastleAritechArduinoRK…
ฉันจะอัปเดตรหัสโครงการทุกครั้ง - ดังนั้นอย่าลืมแยกโครงการเพื่อรับการแจ้งเตือนเมื่อมีการอัปเดต
เพียงดาวน์โหลดไฟล์ทั้งหมด (สำคัญ: ใช้ปุ่มดาวน์โหลด zip แทนไฟล์ทีละไฟล์)
ในการรวบรวม:
วางไว้ในโฟลเดอร์เดียวกัน - และเปิดไฟล์.ino ใน Arduino IDE
มีไฟล์กำหนดค่าในโครงการ config.h - นี่คือที่ที่คุณตั้งค่าที่อยู่ IP ที่อยู่อีเมลของคุณและตัวเลือกอื่น ๆ แสดงความคิดเห็นได้ดีพร้อมตัวเลือกทั้งหมดให้เลือก
รวบรวมและอัปโหลดไปยัง Arduino คุณจะต้องถอด Arduino ออกจากแผง Alarm อย่างสมบูรณ์เพื่อตั้งโปรแกรม เนื่องจากทุกสิ่งที่เชื่อมต่อกับ Arduino RX & TX (พิน 0 & 1) สามารถบล็อกความคืบหน้าในการเขียนโปรแกรม usb ได้ นอกจากนี้ ทางที่ดีที่สุดคือไม่ต้องมีแหล่งจ่ายไฟ 5V เชื่อมต่อกับ Arduino และ USB ที่เชื่อมต่อกับพีซีในเวลาเดียวกันเนื่องจากทั้งคู่จะพยายามจ่ายไฟให้กับ Arduino
นักพัฒนา
การปรับแต่งซอฟต์แวร์
ฉันพบว่า Leonardo หรือ Mega นั้นดีสำหรับการดีบักเมื่อคุณมีพอร์ตอนุกรมสองพอร์ต พอร์ตหนึ่งสำหรับเชื่อมต่อกับแผงสัญญาณเตือน และอีกพอร์ตหนึ่งสำหรับส่งข้อความแก้ไขข้อบกพร่องกลับไปที่พีซี แต่สำหรับการทำงานปกติ - สิ่งเหล่านี้หรือ UNO นั้นสมบูรณ์แบบ ออสซิลโลสโคปและตัววิเคราะห์สัญญาณดิจิทัลเป็นเครื่องมือที่ยอดเยี่ยมในการถอดรหัสโปรโตคอลที่ใช้ - ฉันสามารถบันทึกเพิ่มเติมเกี่ยวกับวิธีที่ฉันทำวิศวกรรมย้อนกลับโปรโตคอลหากใครต้องการ