Innehållsförteckning:
- Steg 1: Installation
- Steg 2: Kabeldragning
- Steg 3: Dimmerställ
- Steg 4: Seriell till DMX -konvertering
- Steg 5: Programvara
- Steg 6: Slutsatser
Video: Automatiserad belysning med DMX och Perl: 6 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:47
Varför automatisera dina lampor? För att vara ärlig är det mesta av mitt hus automatiserat, så det verkade vara självklart. Det finns många fördelar med att automatisera delar av ditt hus, i synnerhet belysning gör bara livet enklare, ljus som tänds när du går in i ett rum är bättre än att slå på dem själv! …. Och eftersom de tänder sig själva, stänger de av sig också, så du kan inte glömma! Förhoppningsvis finns det tillräckligt med information här för de flesta, men om (som jag) du älskar detaljer hittar du mer information på min sida
Steg 1: Installation
Ok, låt oss börja med själva ljusbrytarna.
Varje rum har antingen en dubbel (två lampor) eller en enda dimmerkontroll monterad på väggen. Bilderna nedan visar dimmerstyrenheterna monterade i väggen, du ser att de fortfarande är oavslutade, jag kan inte hitta lämpliga vred, som de enkla vita som du får på en vanlig dimmer, så tills jag gör det, där är inga. Dessa "styrenheter" ser ut precis som vanliga brittiska plattor med variabla motstånd som sticker ut framifrån, och det är för att det är vad de är! Nedan följer några bilder som visar insidan av dessa enheter: Först singeldimmer. Du kommer också att märka att det finns en liten svart enhet längst ner på enheten: Det här är en temperatursensor som jag använder för att styra uppvärmningen, den använder samma kapsling som dimmerenheter och samma kabeldragning, men de är två separata system. De dubbla enheterna är lite mer upptagna inuti, men i huvudsak bara två singlar i samma låda.
Steg 2: Kabeldragning
Dessa dimmerstyrenheter är anslutna med Cat5e -kablar tillbaka till mitt underskåp, där resten av satsen är.
Kontrollenheterna (som du kan se på bilderna ovan) kan enkelt kopplas bort från väggen genom att dra ur deras RJ45 -kontakt från kontakten. Varje dimmer plats i huset har en enda körning av Cat5e till det hela hemmet sprang tillbaka till under trappan. Själva enheterna fungerar helt enkelt som en potentiometer, de variabla motstånden har 3 ben, sett framifrån, den längst till vänster är jordad, den mellersta (torkaren) är utgången och den högra får 10 volt DC. Lägg märke till användningen av värmekrymphylsor och en klick epoxi för att hålla allt på plats. mittbenet stiger gradvis från 0v till 10v - Detta används för att styra dimmerenheterna manuellt. Här är några bilder på hur dimmerstyrkablarna slutar under trappan, jag har använt standard Cat5e -kablar hela tiden eftersom det är billigt och bra kvalitet, jag har också använt RJ45 -kontakter och kontakter av samma skäl, detta belysningssystem har ingenting att göra med ethernet, tcp-ip eller liknande, jag använder bara kablar och kontakter som normalt är associerade med den här typen av saker. På bilden ovan representerar varje gul patchkabel en dimmerkontrollplats, jag har använt RJ45 -vägguttagen som ett sätt att ansluta dessa cat5e -körningar upp till både dimmarna och temperaturgivarens styrkort. Dimmarna själva är 4-kanaliga enheter som stöder både DMX- och 0-10v-signal för att styra deras utgång. Jag förklarade inte detta särskilt bra från början, så här är lite mer information om hur 0-10v-signalen och DMX fungerar tillsammans. Inställningen av 0-10v-signalen (dvs inställningen för dimmerstyrenheten) kommer (om ljusare) att åsidosätta DMX-inställningen. Detta är inte idealiskt, eftersom det betyder att du kan lämna lampor på av misstag, eftersom att vrida dimmern hela vägen upp kommer att tvinga ljuset att stanna. Men vi använder faktiskt inte dimmerreglagen manuellt, lamporna tänds automatiskt om det är både mörkt ute (det finns en ljussensor i trädgården) och om någon är i rummet (PIR -sensorerna berättar för servern om detta Så är det aldrig nödvändigt att tända lamporna på dig själv! Det andra potentiella problemet är om systemet slog på lampan och du faktiskt ville stänga av det, att slå ner dimmerreglaget skulle heller inte ha någon effekt. I verkligheten har dock dimmerställen en konfigurationsomkopplare på dem, om jag någonsin skulle få problem där servern gjorde något jag inte gillade, kunde jag antingen slå en av DIP -switcharna på racket eller koppla ur DMX -kabeln! ! Jag hoppas att det här är mer meningsfullt nu.
Steg 3: Dimmerställ
Dimmeren tar 0-10v-signalen på en 5-stifts DIN-kontakt (1 stift är jordat, de andra 4 representerar de 4 kanalerna) och de tar DMX-signalen på en 3-stifts XLR-kontakt. DMX-enheter kan vara Daisy-kedjade eftersom var och en har sin egen ID-uppsättning. Om du tittar noga på bilden ovan kan du se en orange kabel (0-10v signal), en lila kabel (DMX daisy chain link) och en gul kabel (DMX in från DMX -styrenheten)
Här är några fler bilder på dimmerställen: På framsidan av racket kan du se en bunt med 1 mm T&E -kabel, var och en av dessa går till en annan belysningsplats i hela huset. Helt enkelt går den här kabeln från dimmern rakt till ljusarmaturen i taket, detta gör ledningarna för alla armaturer väldigt enkla, eftersom det bara finns en enda kabel att kämpa med. Dessa kablar är anslutna till dimmerställen med han -IEC -kontakter (hanversionen av en vattenkokare)
Steg 4: Seriell till DMX -konvertering
DMX -signalerna för att styra dimmarna kommer från enheten på bilden ovan. Denna enhet tar en RS232 (seriell) signal från min hemautomatiseringsserver och konverterar den till DMX -protokollet. Detta gör att jag kan styra belysningen i hela huset automatiskt, och innebär att du faktiskt inte behöver använda dimmerstyrenheterna i varje rum, det här är egentligen hela poängen med att automatisera belysningen, jag har sensorer i varje rum (standard säkerhets -PIR -sensorer) som övervakas av mitt hemautomatiseringssystem, om rörelse detekteras skickar servern en seriell signal till DMX -styrenheten för att få upp lamporna i det rummet osv …
Dessutom betyder det att du kan styra dina lampor över internet, via SMS, IVR etc.. vilket kan vara användbart. Slutligen en bild på baksidan av servern som ansluter till DMX -gränssnittet, denna server används för att styra DMX -gränssnittet. …. Mer om det i programvaruavsnittet nedan.
Steg 5: Programvara
All min andra hemautomation (säkerhet, värme, ström, cctv osv.) Är skriven (dåligt i delar) med hjälp av perl. Detta belysningsprojekt är inte annorlunda, även om det representerar mina första försök att använda webbtjänster. För webbtjänsterna har jag använt Apache 2.x och Soap:: Lite -modulen för perl, för att faktiskt prata seriellt med DMX -kontrollen, jag har använt perl -modulen Device:: SerialPort. Hela partiet körs under Redhat Linux Jag kallar webbtjänsterna från min egentliga hemautomatiseringsapplikation så här: (notera att detta är en del av ett mycket större program) # Tänds om ingen rörelse på tio minuter och rörelse mer nyligen i korridoren # if ($ epok - $ in11_lastmove> 600 && $ in11_lastmove <$ in23_lastmove && $ kitchenlights == 1) {& send_lights_soap (1, 0); $ köksbelysning = 0; } Den faktiska subrutinen som anropas är här: sub send_lights_soap {$ soap_response = SOAP:: Lite -> uri ('https://192.168.101.172/Lights') -> proxy ('https://192.168.101.172/cgi- bin/lights ') -> skicka ("$ _ [0]", "$ _ [1]"); $ res = $ soap_response-> resultat; } Och eftersom detta är en webbtjänst, ligger det egentliga seriella gränssnittet och webbtjänstkoden på en annan maskin i mitt nätverk, så ser webbtjänstkoden ut så här: #!/Usr/bin/perl -w use 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') # -> skicka ("", "") förpackningsljus; sub skicka {använd enhet:: SerialPort; min $ port = Device:: SerialPort-> new ("/dev/ttyS0"); $ port-> baudrate (9600); $ port-> paritet ("ingen"); $ port-> handslag ("ingen"); $ port-> databiter (8); $ port-> stopbits (1); $ port-> read_char_time (0); $ port-> read_const_time (1); min ($ klass, $ kanal, $ intensitet) = @_; # skicka data ut $ port-> write (pack "C", $ channel); $ port-> skriv (pack "C", $ intensitet); sömn (1); $ port-> close (); return "Klart! Jag använde $ class med chn $ channel och inten $ intensitet"; } Ganska enkel kod, jag är säker på att du håller med, och bäst av allt, eftersom den kör webbtjänster kan jag sprida ut dessa noder över mitt nätverk och ringa dem enkelt. Dessutom kanske du har märkt att som de flesta andra har jag RFC1918 adresserat mitt nätverk, men med en lämplig NAT -regel kan dessa tjänster enkelt ringas från var som helst med en internetanslutning, vilket innebär att jag kan styra min belysning, uppvärmning etc… från var som helst (även en GPRS- eller 3G -telefon!)
Steg 6: Slutsatser
Jag hoppas att du har tyckt om det jag har gjort, jag älskar mina automatiska lampor!
Lycka till om du bestämmer dig för att göra något liknande. Om du behöver mer information än så, kolla in min sida på www.yourmissus.com/lighting/
Rekommenderad:
Automatiserad kulrulle med Arduino och en servo: 3 steg
Automatiserad kulrulle med Arduino och en servo: Detta är ett enkelt litet Arduino- och servoprojekt som tar cirka två timmar att slutföra. Den använder en servo för att lyfta ena änden av ett burklock för att snurra en stålkula runt insidan. Det är självstartande, kan ändra hastighet och kan snurra två
Arduino Wedding Photo Booth - 3D -tryckta delar, automatiserad och låg budget: 22 steg (med bilder)
Arduino Wedding Photo Booth - 3D -tryckta delar, automatiserad och låg budget: Jag blev nyligen inbjuden till min partners brors bröllop och de frågade innan om vi kunde bygga dem ett fotobås eftersom de kostar för mycket att hyra. Detta är vad vi kom fram till och efter flera komplimanger bestämde jag mig för att göra det till en instruktion
8 Reläkontroll med NodeMCU och IR -mottagare med WiFi och IR -fjärrkontroll och Android -app: 5 steg (med bilder)
8 Reläkontroll med NodeMCU och IR -mottagare med WiFi och IR -fjärrkontroll och Android -app: Styrning av 8 reläväxlar med nodemcu och IR -mottagare via wifi och IR -fjärrkontroll och Android -app. Fjärrkontrollen fungerar oberoende av wifi -anslutning. HÄR ÄR EN UPPDATERAD VERSIONKLICK HÄR
Automatiserad LED -belysning för planterat akvarium med RTC: 5 steg (med bilder)
Automatiserad LED -belysning för planterat akvarium med RTC: För ett par år sedan bestämde jag mig för att sätta upp ett planterat akvarium. Jag fascinerades av de vackra akvarierna. Jag gjorde allt som jag skulle göra när jag satte upp akvariet men försummade en viktigaste sak. Det där var lätt
Temperatur och fuktighet Display och datainsamling med Arduino och bearbetning: 13 steg (med bilder)
Temperatur- och luftfuktighetsvisning och datainsamling med Arduino och bearbetning: Intro: Detta är ett projekt som använder ett Arduino -kort, en sensor (DHT11), en Windows -dator och ett bearbetningsprogram (ett gratis nedladdningsbart) för att visa temperatur, luftfuktighetsdata i digital och stapeldiagramform, visa tid och datum och kör en räkningstid