Innholdsfortegnelse:

Automatisert belysning ved bruk av DMX og Perl: 6 trinn
Automatisert belysning ved bruk av DMX og Perl: 6 trinn

Video: Automatisert belysning ved bruk av DMX og Perl: 6 trinn

Video: Automatisert belysning ved bruk av DMX og Perl: 6 trinn
Video: The Third Industrial Revolution: A Radical New Sharing Economy 2024, Juli
Anonim
Automatisert belysning ved bruk av DMX og Perl
Automatisert belysning ved bruk av DMX og Perl
Automatisert belysning ved bruk av DMX og Perl
Automatisert belysning ved bruk av DMX og Perl
Automatisert belysning ved bruk av DMX og Perl
Automatisert belysning ved bruk av DMX og Perl

Hvorfor automatisere lysene dine? Vel, for å være ærlig, er det meste av huset mitt automatisert, så det virket som en åpenbar ting å gjøre. Det er mange fordeler med å automatisere deler av huset ditt, spesielt belysning gjør livet bare lettere, lys som tennes når du går inn i et rom er bedre enn å slå dem på selv! …. Og fordi de slår seg på, slår de seg av også, så du kan ikke glemme det! Forhåpentligvis er det nok informasjon her for de fleste, men hvis du (som meg) liker detaljer, finner du mer informasjon på siden min

Trinn 1: Installasjon

Installasjon
Installasjon
Installasjon
Installasjon
Installasjon
Installasjon

Ok, la oss begynne med lysbryterne selv.

Hvert rom har enten en dobbel (to lys) eller en enkelt dimmerkontroll montert på veggen. Bildene nedenfor viser dimmere kontrollenheter montert i veggen. Du vil se at de fortsatt er uferdige, jeg finner ikke passende knapper, som de enkle hvite du får på en standard dimmer, så før jeg gjør det, der er ingen. Disse 'styreenhetene' ser akkurat ut som standard britiske enkeltplater med variable motstander som stikker ut foran, og det er fordi det er det de er! Nedenfor er noen bilder som viser innsiden av disse enhetene: Først enkel dimmer. Du vil også legge merke til at det er en liten svart enhet i bunnen av enheten: Dette er en temperatursensor som jeg bruker til å styre oppvarmingen, den bruker samme kabinett som dimmerenhetene og samme kabelføring, men de er to separate systemer. De doble enhetene er litt mer opptatt inne, men egentlig bare to singler i samme eske.

Trinn 2: Kabling

Kabling
Kabling
Kabling
Kabling

Disse dimmerstyringsenhetene er koblet til via Cat5e -kabling tilbake til skapet mitt under trappene, hvor resten av settet er.

Kontrollenhetene (som du kan se på bildene ovenfor) kan enkelt kobles fra veggen ved å trekke ut RJ45 -kontakten fra kontakten. Hver dimmer plassering i huset har en enkelt kjøring av Cat5e til det hele hjemmet løp tilbake til under trappen. Enhetene i seg selv fungerer ganske enkelt som et potensiometer, de variable motstandene har 3 ben, sett forfra, den venstre er jordet, den midterste (viskeren) er utgangen, og den høyre får 10 volt likestrøm. Legg merke til bruken av heatsink -ermer og en skvett epoxy for å holde alt på plass, dette gir en mer pålitelig enhet jeg har funnet. Når du kobler dem til på denne måten, betyr det at når du skrur dem med klokken fra av til på, vil spenningen på mellombenet stiger gradvis fra 0v til 10v - Dette brukes til å styre dimmerenhetene manuelt. Her er noen bilder av hvordan dimmere kontrollkabelen avsluttes under trappene, jeg har brukt standard Cat5e -kabling gjennomgående da den er billig og god kvalitet, jeg har også brukt RJ45 -plugger og kontakter av samme grunner, dette belysningssystemet har ingenting for å gjøre med ethernet, tcp-ip eller lignende, bruker jeg bare kabling og kontakter som normalt er knyttet til denne typen ting. På bildet ovenfor representerer hver gul patchledning en dimmerkontrollplassering. Jeg har brukt RJ45 -stikkontaktene som et middel for å koble disse cat5e -løpene opp til både dimmere og temperaturfølerkontrollkortet. Selve dimmerne er 4-kanals enheter som støtter både DMX og 0-10v signal for å kontrollere utgangen. Jeg forklarte ikke dette veldig godt opprinnelig, så her er litt mer informasjon om hvordan 0-10v signalet og DMX fungerer sammen. Innstillingen av 0-10v-signalet (dvs. innstillingen til dimmerstyringsenheten) vil (hvis lysere) overstyre DMX-innstillingen. Dette er ikke ideelt, ettersom det betyr at du kan la lysene være på ved en feiltakelse, ettersom det å tvinge dimmeren helt opp vil tvinge lyset til å forbli på. Imidlertid bruker vi faktisk ikke dimmerkontrollene manuelt, lysene tennes automatisk hvis det er både mørkt ute (det er en lyssensor i hagen) og hvis noen er i rommet (PIR -sensorene forteller serveren om dette er tilfelle) Så det er aldri nødvendig å tenne lysene på deg selv! Det andre potensielle problemet er at hvis systemet skrudde på lyset, og du faktisk ville slå det av, ville det heller ikke ha noen effekt å skru ned dimmerkontrollen. I virkeligheten har dimmerstativene imidlertid konfigurasjonsbrytere, hvis jeg noen gang skulle oppleve et problem der serveren gjorde noe jeg ikke likte, kunne jeg enten slå en av DIP -bryterne på stativet eller koble fra DMX -ledningen! ! Jeg håper dette gir mer mening nå.

Trinn 3: Dimmerstativer

Dimmer stativer
Dimmer stativer
Dimmer stativer
Dimmer stativer
Dimmer stativer
Dimmer stativer

Dimmerenhetene tar 0-10v signalet på en 5-pins DIN-kontakt (1 pin er malt, de andre 4 representerer de 4 kanalene) og de tar DMX-signalet på en 3-pins XLR-kontakt. DMX-enheter kan være daisy-lenket, ettersom hver har sitt eget ID-sett. Hvis du ser nøye på bildet ovenfor, kan du se en oransje kabel (0-10v signal), en lilla kabel (DMX daisy chain link) og en gul kabel (DMX inn fra DMX -kontrolleren)

Her er noen flere bilder av dimmerstativene: På forsiden av stativet kan du se en bunt med 1 mm T&E -kabel, og hver av disse går til et annet lyssted i hele huset. Ganske enkelt går denne kabelen fra dimmeren rett til lysarmaturen i taket, dette gjør ledningene til alle lysarmaturer veldig enkle, da det bare er en enkelt kabel å slite med. Disse kablene er koblet til dimmerstativene ved bruk av mannlige IEC -kontakter (den mannlige versjonen av en vannkoker)

Trinn 4: Seriell til DMX -konvertering

Konvertering fra serie til DMX
Konvertering fra serie til DMX
Konvertering fra serie til DMX
Konvertering fra serie til DMX
Konvertering fra serie til DMX
Konvertering fra serie til DMX

DMX -signalene for å kontrollere dimmere kommer fra enheten som er vist ovenfor. Denne enheten tar et RS232 (serielt) signal fra min hjemmeautomatiseringsserver og konverterer det til DMX -protokollen. Dette gjør at jeg kan kontrollere belysningen i hele huset automatisk, og betyr at du faktisk ikke trenger å bruke dimmere kontrollenheter i hvert rom, dette er egentlig hele poenget med å automatisere belysningen, jeg har sensorer i hvert rom (standard sikkerhets -PIR -sensorer) som overvåkes av mitt hjemmeautomatiseringssystem, hvis det oppdages bevegelse, sender serveren et serielt signal til DMX -kontrolleren for å få opp lysene i det rommet osv …

I tillegg betyr det at du kan betjene lysene dine over internett, via SMS, IVR osv., Noe som kan være nyttig. Til slutt et bilde av baksiden av serveren som kobles til DMX -grensesnittet, denne serveren brukes til å kontrollere DMX -grensesnittet. …. Mer om det i programvaredelen nedenfor.

Trinn 5: Programvare

Programvare
Programvare
Programvare
Programvare
Programvare
Programvare

All min andre hjemmeautomatisering (sikkerhet, oppvarming, strøm, cctv osv.) Er skrevet (dårlig i deler) ved hjelp av perl. Dette belysningsprosjektet er ikke annerledes, selv om det representerer mine første forsøk på å bruke webtjenester. For webtjenestene har jeg brukt Apache 2.x og Soap:: Lite -modulen for perl, for å faktisk snakke serielt til DMX -kontrolleren, jeg har brukt perl -modulen Device:: SerialPort. Hele partiet går under Redhat Linux Jeg kaller webtjenestene fra mitt egentlige hjemmeautomatiseringsprogram slik: (merk at dette er en del av et mye større program) # Lyser hvis ingen bevegelse på ti minutter og bevegelse mer nylig i gangen # hvis ($ epoke - $ in11_lastmove> 600 && $ in11_lastmove <$ in23_lastmove && $ kitchenlights == 1) {& send_lights_soap (1, 0); $ kjøkkenlys = 0; } Den faktiske underrutinen som blir kalt er her: 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-> resultat; } Og siden dette er en webtjeneste, ligger det faktiske serielle grensesnittet og webtjenestekoden på en annen maskin på nettverket mitt, så ser webtjenestekoden slik ut: #!/Usr/bin/perl -w bruk SOAP:: Transport:: HTTP; SOAP:: Transport:: HTTP:: CGI -> dispatch_to ('Lights') -> handle; # Ring som -> uri ('https://192.168.101.172/Lights') # -> proxy ('https://192.168.101.172/cgi-bin/lights') # -> send ("", "") pakke lys; send send {bruk enhet:: SerialPort; min $ port = Device:: SerialPort-> new ("/dev/ttyS0"); $ port-> baudrate (9600); $ port-> paritet ("ingen"); $ port-> håndtrykk ("ingen"); $ port-> databits (8); $ port-> stoppbiter (1); $ port-> read_char_time (0); $ port-> read_const_time (1); min ($ klasse, $ kanal, $ intensitet) = @_; # sende data ut $ port-> skrive (pakke "C", $ kanal); $ port-> skrive (pakke "C", $ intensitet); søvn (1); $ port-> close (); return "Ferdig! Jeg brukte $ class med chn $ channel og inten $ intensitet"; } Ganske enkel kode, jeg er sikker på at du er enig, og best av alt, fordi den kjører webservices, kan jeg spre disse nodene ut over nettverket mitt og ringe dem enkelt. I tillegg har du kanskje lagt merke til at jeg, som de fleste andre, har RFC1918 adressert nettverket mitt, men med en passende NAT -regel kan disse tjenestene enkelt ringes fra hvor som helst med en internettforbindelse, noe som betyr at jeg kan kontrollere belysningen, oppvarmingen osv. Fra hvor som helst (til og med en GPRS- eller 3G -telefon!)

Trinn 6: Konklusjoner

Konklusjoner
Konklusjoner

Vel, jeg håper du likte det jeg har gjort, jeg elsker de automatiserte lysene mine!

Lykke til hvis du bestemmer deg for å gjøre noe lignende. Hvis du trenger mer informasjon enn dette, kan du sjekke siden min på www.yourmissus.com/lighting/

Anbefalt: