INHOUDSOPGAWE:

Outomatiese beligting met behulp van DMX en Perl: 6 stappe
Outomatiese beligting met behulp van DMX en Perl: 6 stappe

Video: Outomatiese beligting met behulp van DMX en Perl: 6 stappe

Video: Outomatiese beligting met behulp van DMX en Perl: 6 stappe
Video: DMX lichtsturing, simpel uitgelegd!💡 #AxiLab 2024, Julie
Anonim
Outomatiese beligting met DMX en Perl
Outomatiese beligting met DMX en Perl
Outomatiese beligting met DMX en Perl
Outomatiese beligting met DMX en Perl
Outomatiese beligting met DMX en Perl
Outomatiese beligting met DMX en Perl

Waarom u ligte outomatiseer? Om eerlik te wees, die grootste deel van my huis is outomaties, en dit was voor die hand liggend. Daar is baie voordele in die outomatisering van dele van u huis; veral beligting vergemaklik die lewe; ligte wat brand as u by 'n kamer instap, is beter as om dit aan te skakel! …. En omdat hulle hulself aanskakel, skakel hulle hulself ook uit, sodat u dit nie kan vergeet nie! Hopelik is hier genoeg inligting vir die meeste, maar as u (soos ek) van detail hou, vind u meer inligting op my bladsy

Stap 1: Installasie

Installasie
Installasie
Installasie
Installasie
Installasie
Installasie

Ok, laat ons begin met die ligskakelaars self.

Elke kamer het 'n dubbelbed (twee ligte) of 'n enkele dimmer -kontrole wat teen die muur gemonteer is. Die onderstaande foto's toon die dimmer -beheereenhede wat teen die muur gemonteer is. U sal sien dat hulle nog steeds onvoltooid is, en ek kan nie die regte knoppies vind nie, soos die eenvoudige blanke wat u op 'n standaard dimmer kry. is geen. Hierdie 'beheereenhede' lyk net soos standaard Britse enkelplaatplate met veranderlike weerstande wat aan die voorkant uitsteek, en dit is omdat dit is wat dit is! Hieronder is 'n paar foto's wat die binnekant van hierdie eenhede toon: Eers die enkele dimmer. U sal ook sien dat daar 'n klein swart toestel aan die onderkant van die eenheid is: dit is 'n temperatuursensor wat ek gebruik om die verwarming te beheer; dit gebruik dieselfde omhulsel as die dimmer -eenhede en dieselfde kabels. is twee afsonderlike stelsels. Die dubbele eenhede is binne -in 'n bietjie meer besig, maar in wese net twee enkelbeddens in dieselfde boks.

Stap 2: Bekabeling

Kabels
Kabels
Kabels
Kabels

Hierdie dimmer -beheereenhede word verbind deur middel van Cat5e -kabels na my onderkas, waar die res van die stel is.

Die beheer -eenhede (soos u op die foto's hierbo kan sien) kan maklik van die muur ontkoppel word deur hul RJ45 -prop uit die aansluiting te trek. Elke dowwer ligging in die huis het 'n enkele lopie Cat5e, terwyl die hele huis onder die trappe terugloop. Die eenhede self dien eenvoudig as 'n potensiometer, die veranderlike weerstande het 3 bene, van voor af kyk, die linkerkantste is gegrond, die middelste (die ruitenwisser) is die uitset, en die regterkant kry 10 Volt DC. Let op die gebruik van hitte -krimpomhulsel en 'n bietjie epoxy om alles in plek te hou; dit sorg vir 'n meer betroubare eenheid wat ek gevind het. As u dit op hierdie manier verbind, beteken dit dat u die spanning op die middelbeen styg geleidelik van 0v tot 10v - Dit word gebruik om die dimmer -eenhede met die hand te beheer. Hier is 'n paar foto's van hoe die dimmer -beheerkabels onder die trappe eindig. Ek het deurgaans standaard Cat5e -bekabeling gebruik, aangesien dit goedkoop en van goeie gehalte is. Ek het ook om dieselfde redes RJ45 -proppe en -verbindings gebruik; hierdie beligtingstelsel het niks Met ethernet, tcp-ip of dies meer te doen, gebruik ek net die kabels en verbindings wat normaalweg met hierdie soort dinge verband hou. Op die foto hierbo verteenwoordig elke geel pleisterkoord 'n dimmer -bedieningsplek; ek het die RJ45 -voetstukke gebruik om hierdie cat5e -aanloopbane aan beide die dimmers en die temperatuur sensor se beheerbord te koppel. Die dimmers self is 4-kanaalseenhede wat beide DMX- en 0-10v-sein ondersteun om hul uitset te beheer. Ek het dit oorspronklik nie baie goed verduidelik nie, so hier is meer inligting oor hoe die 0-10v sein en DMX saamwerk. Die instelling van die 0-10v sein (dit wil sê die instelling van die dimmer beheer eenheid) sal (indien helderder) die DMX instelling oorskry. Dit is nie ideaal nie, aangesien dit beteken dat u per ongeluk ligte kan aanskakel, aangesien die dimmer heeltemal omhoog gedwing word om die lig aan te hou. Ons gebruik egter nie eintlik die dimmerkontroles handmatig nie; die ligte brand outomaties as dit albei donker is (daar is 'n ligsensor in die tuin) en as iemand in die kamer is (die PIR -sensors vertel die bediener of dit Dit is dus nie nodig om die ligte op u self te skakel nie! Die ander moontlike probleem is dat as die stelsel die lig aanskakel en u dit eintlik wil afskakel, sou die dimmerknop ook nie gedraai word nie. In werklikheid is daar egter 'n konfigurasie skakelaar op die dowwer rakke, as ek ooit 'n probleem sou ondervind waar die bediener iets gedoen het waarvan ek nie gehou het nie, of ek een van die DIP -skakelaars op die rek kon slaan, of die DMX -kabel kon ontkoppel! ! Ek hoop dit maak nou meer sin.

Stap 3: Dimmerrakke

Dimmer rakke
Dimmer rakke
Dimmer rakke
Dimmer rakke
Dimmer rakke
Dimmer rakke

Die dimmer-eenhede neem die 0-10v sein op 'n 5-pins DIN-aansluiting (1 pen is gemaal, die ander 4 stel die 4 kanale voor) en hulle neem die DMX-sein op 'n 3-pins XLR-aansluiting. DMX-toestelle kan daisy-vasgeketting wees, aangesien elkeen sy eie ID-stel het; as u na die prentjie hierbo kyk, kan u 'n oranje kabel (0-10v sein), 'n pers kabel (DMX daisy chain link) en 'n geel kabel (DMX in vanaf die DMX -beheerder)

Hier is nog 'n paar foto's van die dowwer rakke: Aan die voorkant van die rek kan u 'n bondel T&E -kabel van 1 mm sien, wat elkeen na 'n ander ligplek in die huis kan gaan. Hierdie kabel loop eenvoudig van die dimmer reguit na die passtuk in die plafon, dit maak die bedrading van enige armaturen baie maklik, aangesien daar net 'n enkele kabel is om mee te worstel. Hierdie kabels word verbind met die dimmerrakke met behulp van manlike IEC -aansluitings (die manlike weergawe van 'n ketelkabel)

Stap 4: Seriële na DMX -omskakeling

Omskakeling van reeks na DMX
Omskakeling van reeks na DMX
Omskakeling van reeks na DMX
Omskakeling van reeks na DMX
Omskakeling van reeks na DMX
Omskakeling van reeks na DMX

Die DMX -seine om die dimmers te beheer, kom van die eenheid hierbo. Hierdie toestel neem 'n RS232 (seriële) sein van my tuisautomatiseringsbediener af en skakel dit om in die DMX -protokol. Dit stel my in staat om die beligting regdeur die huis outomaties te beheer, en beteken dat u nie eintlik die dimmer -beheereenhede in elke kamer hoef te gebruik nie; dit is eintlik die hele punt om die beligting te outomatiseer; ek het sensors in elke kamer (standaard sekuriteit PIR -sensors) wat deur my tuis -outomatiseringstelsel gemonitor word, as die beweging opgespoor word, stuur die bediener 'n reekssignaal na die DMX -beheerder om die ligte in die kamer, ens.

Boonop beteken dit dat u u ligte via die internet, via SMS, IVR, ens. Kan gebruik, wat nuttig kan wees. Uiteindelik 'n prentjie van die agterkant van die bediener wat met die DMX -koppelvlak verbind word, word hierdie bediener gebruik om die DMX -koppelvlak te beheer. … Meer hieroor in die sagteware -afdeling hieronder.

Stap 5: sagteware

Sagteware
Sagteware
Sagteware
Sagteware
Sagteware
Sagteware

Al my ander outomatisering van die huis (sekuriteit, verwarming, krag, cctv, ens.) Is (in dele gedeeltelik) geskryf met behulp van perl. Hierdie beligtingsprojek verskil nie, hoewel dit my eerste pogings tot die gebruik van webdienste verteenwoordig. Vir die webdienste het ek Apache 2.x en die Soap:: Lite -module vir perl gebruik, om eintlik seriële met die DMX -kontroleerder te praat, ek het die perl -module Device:: SerialPort gebruik. Die hele lot werk onder Redhat Linux, ek bel die webdienste vanuit my werklike tuisautomatiseringstoepassing soos volg: (let op dat dit deel uitmaak van 'n veel groter program) if ($ epog - $ in11_lastmove> 600 && $ in11_lastmove <$ in23_lastmove && $ kitchenlights == 1) {& send_lights_soap (1, 0); $ kombuisligte = 0; } Die werklike subroutine wat hier genoem word, is hier: sub send_lights_soap {$ soap_response = SOAP:: Lite -> uri ('https://192.168.101.172/Lights') -> proxy ('https://192.168.101.172/cgi- bin/lights ') -> stuur ("$ _ [0]", "$ _ [1]"); $ res = $ soap_response-> resultaat; } En aangesien dit 'n webdiens is, is die werklike seriële koppelvlak en webdienskode op 'n ander masjien op my netwerk, so lyk die webdienskode so: #!/Usr/bin/perl -w gebruik SOAP:: Transport:: HTTP; SOAP:: Vervoer:: HTTP:: CGI -> dispatch_to ('Lights') -> handle; # Bel as -> uri ('https://192.168.101.172/Lights') # -> volmag ('https://192.168.101.172/cgi-bin/lights') # -> stuur ("", "") verpakking Ligte; sub stuur {gebruik toestel:: SerialPort; my $ port = Device:: SerialPort-> new ("/dev/ttyS0"); $ port-> baudrate (9600); $ port-> pariteit ("geen"); $ port-> handdruk ("geen"); $ port-> databasisse (8); $ port-> stopbits (1); $ port-> read_char_time (0); $ port-> read_const_time (1); my ($ klas, $ kanaal, $ intensiteit) = @_; # stuur data uit $ port-> skryf (pak "C", $ kanaal); $ port-> skryf (pak "C", $ intensiteit); slaap (1); $ port-> close (); terug "Klaar! Ek gebruik $ klas met chn $ kanaal en inten $ intensiteit"; } Redelik eenvoudige kode, ek is seker jy sal saamstem, en die beste van alles, omdat dit webdienste bestuur, kan ek hierdie nodusse oor my netwerk versprei en dit maklik bel. Daarbenewens het u moontlik opgemerk dat ek soos die meeste mense RFC1918 my netwerk aangespreek het, maar met 'n geskikte NAT -reël, kan hierdie dienste maklik van oral gebel word met 'n internetverbinding, wat beteken dat ek my beligting, verwarming, ens. oral (selfs 'n GPRS- of 3G -telefoon!)

Stap 6: Gevolgtrekkings

Gevolgtrekkings
Gevolgtrekkings

Ek hoop jy het dit geniet wat ek gedoen het, ek hou van my outomatiese ligte!

Sterkte as jy besluit om iets soortgelyks te doen. As u meer inligting nodig het, kyk dan na my bladsy op www.yourmissus.com/lighting/

Aanbeveel: