สารบัญ:

การจัดแสงอัตโนมัติโดยใช้ DMX และ Perl: 6 ขั้นตอน
การจัดแสงอัตโนมัติโดยใช้ DMX และ Perl: 6 ขั้นตอน

วีดีโอ: การจัดแสงอัตโนมัติโดยใช้ DMX และ Perl: 6 ขั้นตอน

วีดีโอ: การจัดแสงอัตโนมัติโดยใช้ DMX และ Perl: 6 ขั้นตอน
วีดีโอ: ให้ความรู้การจัดแสงเวที โดย พี้กี้ไลท์ติ้งดีไซน์ ผู้ทำงานระดับประเทศมาแล้วมากมาย 2024, กรกฎาคม
Anonim
การจัดแสงอัตโนมัติโดยใช้ DMX และ Perl
การจัดแสงอัตโนมัติโดยใช้ DMX และ Perl
การจัดแสงอัตโนมัติโดยใช้ DMX และ Perl
การจัดแสงอัตโนมัติโดยใช้ DMX และ Perl
การจัดแสงอัตโนมัติโดยใช้ DMX และ Perl
การจัดแสงอัตโนมัติโดยใช้ DMX และ Perl

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

ขั้นตอนที่ 1: การติดตั้ง

การติดตั้ง
การติดตั้ง
การติดตั้ง
การติดตั้ง
การติดตั้ง
การติดตั้ง

โอเค มาเริ่มกันที่สวิตซ์ไฟกันก่อน

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

ขั้นตอนที่ 2: การเดินสาย

การเดินสาย
การเดินสาย
การเดินสาย
การเดินสาย

ชุดควบคุมหรี่ไฟเหล่านี้เชื่อมต่อโดยใช้สายเคเบิล Cat5e กลับไปที่ตู้ใต้บันไดของฉัน ซึ่งส่วนที่เหลือของชุดอุปกรณ์อยู่

ชุดควบคุม (ดังที่คุณเห็นจากภาพด้านบน) สามารถถอดออกจากผนังได้อย่างง่ายดายโดยการถอดปลั๊ก RJ45 ออกจากขั้วต่อ ตำแหน่งหรี่ไฟแต่ละแห่งในบ้านมี Cat5e วิ่งเพียงครั้งเดียวเพื่อให้ทุกบ้านวิ่งกลับไปที่ใต้บันได ยูนิตนั้นทำหน้าที่เป็นโพเทนชิออมิเตอร์ ตัวต้านทานปรับค่าได้ 3 ขา มองจากด้านหน้า ตัวซ้ายสุดต่อสายดิน ตัวกลาง (ที่ปัดน้ำฝน) เป็นเอาต์พุต และตัวขวามี 10 โวลต์ DC สังเกตการใช้ปลอกหุ้มฮีตหดและอีพ็อกซี่เล็กน้อยเพื่อยึดทุกอย่างเข้าที่ ซึ่งทำให้หน่วยที่เชื่อถือได้มากขึ้น ฉันพบว่าการเชื่อมต่อเข้าด้วยกันด้วยวิธีนี้หมายความว่าเมื่อคุณหมุนตามเข็มนาฬิกาจากปิดเป็นเปิด แรงดันไฟฟ้าบน ขากลางค่อยๆ เพิ่มขึ้นจาก 0v เป็น 10v - ใช้เพื่อควบคุมชุดหรี่ไฟด้วยตนเอง นี่คือภาพบางส่วนที่สายเคเบิลควบคุมสวิตช์หรี่ไฟสิ้นสุดใต้บันได ฉันเคยใช้สายเคเบิล Cat5e มาตรฐานมาโดยตลอด เนื่องจากมีราคาถูกและคุณภาพดี ฉันเคยใช้ปลั๊กและตัวเชื่อมต่อ RJ45 ด้วยเหตุผลเดียวกัน ระบบไฟนี้ไม่มีอะไรเลย จะทำอย่างไรกับอีเธอร์เน็ต tcp-ip หรืออะไรทำนองนั้น ฉันแค่ใช้สายเคเบิลและตัวเชื่อมต่อที่ปกติแล้วจะเกี่ยวข้องกับสิ่งนี้ ในภาพด้านบน สายแพทช์สีเหลืองแต่ละเส้นแสดงถึงตำแหน่งควบคุมสวิตช์หรี่ไฟ ฉันเคยใช้เต้ารับติดผนัง RJ45 เพื่อเชื่อมต่อ cat5e เหล่านี้วิ่งได้ถึงทั้งสวิตช์หรี่ไฟและแผงควบคุมเซ็นเซอร์อุณหภูมิ ตัวหรี่ไฟเองเป็นหน่วย 4 ช่องสัญญาณที่รองรับทั้งสัญญาณ DMX และ 0-10v เพื่อควบคุมเอาต์พุต ฉันไม่ได้อธิบายเรื่องนี้เป็นอย่างดีในตอนแรก ดังนั้นนี่คือข้อมูลเพิ่มเติมบางส่วนเกี่ยวกับการทำงานร่วมกันของสัญญาณ 0-10v และ DMX การตั้งค่าสัญญาณ 0-10v (เช่น การตั้งค่าของชุดควบคุมการหรี่ไฟ) จะ (หากสว่างกว่า) จะแทนที่การตั้งค่า DMX วิธีนี้ไม่เหมาะ เนื่องจากหมายความว่าคุณสามารถเปิดไฟทิ้งไว้โดยไม่ได้ตั้งใจ เนื่องจากการเปิดสวิตช์หรี่ไฟจนสุดจะทำให้ไฟติดอยู่ อย่างไรก็ตาม เราไม่ได้ใช้ตัวควบคุมหรี่ไฟแบบแมนนวลจริง ๆ ไฟจะติดโดยอัตโนมัติหากข้างนอกมืดทั้งคู่ (มีเซ็นเซอร์ตรวจจับแสงในสวน) และถ้ามีคนอยู่ในห้อง (เซ็นเซอร์ PIR จะบอกเซิร์ฟเวอร์ว่า เป็นกรณี) ดังนั้นคุณไม่จำเป็นต้องเปิดไฟด้วยตัวเอง! ปัญหาที่อาจเกิดขึ้นอีกประการหนึ่งคือ หากระบบเปิดไฟ และคุณต้องการปิดไฟจริงๆ การปิดตัวควบคุมการหรี่ลงจะไม่มีผลเช่นกัน ในความเป็นจริง ชั้นวางสวิตช์หรี่ไฟมีสวิตช์การกำหนดค่าบนชั้นวาง หากฉันเคยประสบปัญหาที่เซิร์ฟเวอร์ทำในสิ่งที่ฉันไม่ชอบ ฉันสามารถสะบัดสวิตช์ DIP ตัวใดตัวหนึ่งบนชั้นวาง หรือถอดสายสัญญาณ DMX ออก! ! ฉันหวังว่าตอนนี้จะสมเหตุสมผลมากขึ้น

ขั้นตอนที่ 3: ชั้นวางหรี่ไฟ

ชั้นวางหรี่
ชั้นวางหรี่
ชั้นวางหรี่
ชั้นวางหรี่
ชั้นวางหรี่
ชั้นวางหรี่

หน่วยหรี่ไฟใช้สัญญาณ 0-10v บนขั้วต่อ DIN 5 พิน (1 พินคือกราวด์ อีก 4 อันแทน 4 แชนเนล) และใช้สัญญาณ DMX บนขั้วต่อ XLR 3 พิน อุปกรณ์ DMX สามารถต่อสายโซ่เดซี่ได้เนื่องจากแต่ละอุปกรณ์มีชุดรหัสของตัวเอง หากคุณมองใกล้ที่ภาพด้านบน คุณจะเห็นสายสีส้ม (สัญญาณ 0-10v) สายเคเบิลสีม่วง (ลิงก์ DMX daisy chain) และสายสีเหลือง (DMX เข้าจากตัวควบคุม DMX)

ต่อไปนี้คือรูปภาพเพิ่มเติมของชั้นวางหรี่ไฟ: ที่ด้านหน้าของชั้นวาง คุณจะเห็นสายเคเบิล T&E ขนาด 1 มม. มัดหนึ่งมัด โดยแต่ละอันจะไปยังตำแหน่งที่มีไฟส่องสว่างต่างกันไปทั่วทั้งบ้าน ค่อนข้างง่าย สายเคเบิลนี้วิ่งจากสวิตช์หรี่ไฟตรงไปยังอุปกรณ์ติดตั้งไฟบนเพดาน ทำให้การเดินสายไฟของอุปกรณ์แสงเป็นเรื่องง่ายมาก เนื่องจากมีสายเคเบิลเพียงเส้นเดียว สายเคเบิลเหล่านี้เชื่อมต่อกับชั้นวางหรี่ไฟโดยใช้ขั้วต่อ IEC ตัวผู้ (ตัวผู้ของตะกั่วกาต้มน้ำรุ่น)

ขั้นตอนที่ 4: การแปลงอนุกรมเป็น DMX

การแปลงอนุกรมเป็น DMX
การแปลงอนุกรมเป็น DMX
การแปลงอนุกรมเป็น DMX
การแปลงอนุกรมเป็น DMX
การแปลงอนุกรมเป็น DMX
การแปลงอนุกรมเป็น DMX

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

นอกจากนี้ยังหมายความว่าคุณสามารถควบคุมไฟของคุณผ่านอินเทอร์เน็ต ผ่านทาง SMS, IVR ฯลฯ ซึ่งมีประโยชน์ สุดท้ายเป็นภาพด้านหลังของเซิร์ฟเวอร์ที่เชื่อมต่อกับอินเทอร์เฟซ DMX เซิร์ฟเวอร์นี้ใช้เพื่อควบคุมอินเทอร์เฟซ DMX ….เพิ่มเติมเกี่ยวกับสิ่งนั้นในส่วนซอฟต์แวร์ด้านล่าง

ขั้นตอนที่ 5: ซอฟต์แวร์

ซอฟต์แวร์
ซอฟต์แวร์
ซอฟต์แวร์
ซอฟต์แวร์
ซอฟต์แวร์
ซอฟต์แวร์

ระบบอัตโนมัติภายในบ้านอื่น ๆ ของฉันทั้งหมด (ความปลอดภัย, เครื่องทำความร้อน, พลังงาน, กล้องวงจรปิด ฯลฯ..) เขียนขึ้น (บางส่วนไม่ดี) โดยใช้ Perl โปรเจ็กต์การจัดแสงนี้ไม่แตกต่างกัน แม้ว่าจะเป็นความพยายามครั้งแรกของฉันในการใช้บริการเว็บก็ตาม สำหรับบริการบนเว็บ ฉันใช้ Apache 2.x และโมดูล Soap::Lite สำหรับ Perl ในการพูดคุยซีเรียลกับคอนโทรลเลอร์ DMX จริงๆ ฉันใช้โมดูล Perl Device::SerialPort ล็อตทั้งหมดทำงานภายใต้ Redhat Linux ฉันเรียกบริการเว็บจากแอปพลิเคชันระบบอัตโนมัติภายในบ้านจริงของฉันดังนี้: (โปรดทราบว่านี่เป็นส่วนหนึ่งของโปรแกรมที่ใหญ่กว่ามาก) # ไฟดับหากไม่มีการเคลื่อนไหวเป็นเวลาสิบนาทีและการเคลื่อนไหวเมื่อเร็ว ๆ นี้ในโถงทางเดิน # if ($epoch - $in11_lastmove > 600 && $in11_lastmove < $in23_lastmove && $kitchenlights == 1) { &send_lights_soap(1, 0); $ไฟครัว = 0; }รูทีนย่อยจริงที่ถูกเรียกอยู่ที่นี่: sub send_lights_soap { $soap_response = SOAP::Lite -> uri('https://192.168.101.172/Lights') -> proxy('https://192.168.101.172/cgi- bin/lights') -> send("$_[0]", "$_[1]"; $res = $soap_response->ผลลัพธ์; } และเนื่องจากเป็นบริการเว็บ อินเทอร์เฟซซีเรียลจริงและรหัสบริการเว็บอยู่ในเครื่องอื่นในเครือข่ายของฉัน รหัสบริการเว็บมีลักษณะดังนี้: #!/usr/bin/perl -w use SOAP::Transport:: HTTP; SOAP::Transport::HTTP::CGI -> dispatch_to('Lights') -> จัดการ; # เรียกเป็น -> uri('https://192.168.101.172/Lights') # -> proxy('https://192.168.101.172/cgi-bin/lights') # -> send("", "") ไฟแพ็คเกจ; ส่งย่อย { ใช้อุปกรณ์:: SerialPort; my $port = Device::SerialPort->new("/dev/ttyS0"; $port->baudrate(9600); $port->parity("ไม่มี"); $port->handshake("ไม่มี"; $port->databits(8); $port->stopbits(1); $port->read_char_time(0); $port->read_const_time(1); my ($class, $channel, $intensity) = @_; # ส่งข้อมูลออก $port->write(pack "C", $channel); $port->write(แพ็ค "C", $intensity); นอน(1); $port->close(); ส่งคืน "เสร็จสิ้น! ฉันใช้ $class กับ chn $channel และ inten $intensity"; }โค้ดที่ค่อนข้างง่าย ฉันแน่ใจว่าคุณจะเห็นด้วย และที่สำคัญที่สุด เพราะมันรันเว็บเซอร์วิส ฉันสามารถกระจายโหนดเหล่านี้ไปทั่วเครือข่ายของฉันและเรียกมันได้อย่างง่ายดาย นอกจากนี้ คุณอาจสังเกตเห็นว่าเช่นเดียวกับคนส่วนใหญ่ที่ฉันใช้ RFC1918 พูดถึงเครือข่ายของฉัน แต่ด้วยกฎ NAT ที่เหมาะสม บริการเหล่านี้สามารถโทรจากที่ใดก็ได้ด้วยการเชื่อมต่ออินเทอร์เน็ต หมายความว่าฉันสามารถควบคุมแสง ความร้อน ฯลฯ ได้จาก ทุกที่ (แม้แต่โทรศัพท์ GPRS หรือ 3G!)

ขั้นตอนที่ 6: บทสรุป

บทสรุป
บทสรุป

ฉันหวังว่าคุณจะสนุกกับสิ่งที่ฉันทำ ฉันชอบไฟอัตโนมัติของฉัน!

ขอให้โชคดีถ้าคุณตัดสินใจทำสิ่งที่คล้ายกัน หากคุณต้องการข้อมูลเพิ่มเติม โปรดไปที่หน้าของฉันที่ www.yourmissus.com/lighting/

แนะนำ: