Jump to content
  • Sign Up
Støtt hjemmeautomasjon.no!
  • Moskus
    Moskus

    WLED: En introduksjon - Kom i gang

    WLED er et program som kjører på en liten og billig chip (ESP32 eller NodeMCU), og som gjør at du enkelt kan lage stilige lyssettinger mer adresserbare LED-striper eller -lenker. 

     

    Dette er en nybegynners guide til WLED, bl.a. fordi jeg er en nybegynner selv (selv om jeg har lekt med det i 3-4 år)! ;)  

     

    Julelys i 2022:

    ... og 2021 og 2020.

     

    For å komme i gang trenger du ikke mye:

    • En NodeMCU (ESP8266) eller en ESP32
    • Alternativt kan man kjøpe et ferdig byggesett med QuinLed. @aarpi har bygget to stykker for meg. Den siste har jeg kjøpt ferdig bygget med ESP32 og ekstern antenne.
    • Noen ledninger og gjerne hurtigtilkoblinger for LED-striper.
    • En strømforsyning på 5V, " så kraftig som mulig". (Det er ikke bra å ha for svak strømforsyning, så ikke spar på pengene her). Jeg har typisk kjøpt gode, kraftige strømforsyninger på RS components. 
    • En adresserbar LED-stripe eller -lenke, f.eks. med WS2812B-leds 5V. Jeg har kjøpt striper som disse og lenker som disse

     

    Installere WLED

    Jeg har prøvd og feilet litt tidligere på dette, men fant til slutt en enkel måte.

    1. Last ned WLED:
      1. Gå hit: https://github.com/Aircoookie/WLED
      2. Trykk på Releases (siste versjon er i skrivende stund 0.13.3)
      3. På bunnen finner du flere filer. Finn riktig fil og last ned last ned.
        Har du en ESP8266/NodeMCU så skal du ha filen som slutter med "_ESP8266.bin". Har du en ESP32 skal du ha filen som slutter med "_ESP32.bin".
    2. Last ned ESPHomeFlasher for Windows, Mac eller Linux https://github.com/esphome/esphome-flasher/releases
    3. Installer og start ESPHomeFlasher. Velg .bin-filen du lastet ned i punkt 1.3 og flash denne.
    4. Verifiser at du (f.eks. med mobiltelefonen din) finner WLED-AP og kan koble deg til dette. Passordet er "wled1234".

     

     

    Koble opp en LED-lenke/stripe
    Dette er enklest forklart på WLED sine egne sider. I prinsippet handler det om å koble både ESP32/8266 og LED-stripen til samme + og -, og så koble dataporten til riktig pinne på EPS32/NodeMCU.

     

    connections.jpg

     

    I sin enkleste form kan det være slik:

    image.png

     

    Det kan med fordel være en sikring før L3D-stripen, spesielt hvis du skal ha dem ute: Det er bedre at sikringen går enn at strømforsyningen blir for varm, brann er generelt dumt, og greit å unngå. Tidligere nevnte QuinLed løser dette for deg, de blir levert med sikring på kretskortet. Alle mine utendørs er QuinLed, og da kan man også velge 12V eller 24V LEDs hvis man ønsker uten for mye styr.

     

    Når alt er klart, setter man strømsforsyningen i veggen. Hvis alt er OK, vil LEDene nå lyse gult.

    Hvis de ikke lyser gult men en annen farge, så må man justere fargene på RGB, for de kan komme i mange ulike rekkefølger, gå til Settings -> LED preferences og finn "Color Order".

    image.png

     

    Innstillinger
    Første jobb er å koble seg på ditt trådløse nettverk.

    1. Koble til WLED-AP med passord1234
    2. Åpne en nettleser og gå til adressen http://4.3.2.1 
    3. Gå til Config, øverst til høyre.
    4. Trykk på WiFi Setup.
    5. Tast inn din nettverksinfo, SSID og passord.
    6. Hvis du har mulighet til fast IP, så kan det være en stor fordel. Konfigurer det nå.
    7. Trykk Save øverst eller nederst. Vent på reboot.
    8. Installer app'en "WLED" fra App Store eller Google Play, og åpne app'en.
    9. Åpne appen, og trykk på + øverst til høyre.
    10. Trykk på "Discover lights"
    11. Legg til wled-instansen den finner.

     

    Nå er du i prinsippet klar. :) 
     

     

    Integrering

    Web-grensesnitt inneholder maaange konfigurasjoner, og det er lett å gå seg vil. Her er mine raske notater om hva jeg finner hvor.

     

    • Alexa-integrering: Innstillinger finnes under Config -> Sync Interfaces. Bare husk å gi den navn enn noen annet enn "Light" for det kan fort skape krøll for de andre lysene.
       image.png
       
    • HTTP-API
    • MQTT
      • Innstillingene for dette ligger også under Config -> Sync Interfaces.
        image.png
         
      • HomeSeer, via mscMQTT. Gratis-plugin til HomeSeer, støtter WLED ut av esken. Kan scripte HTTP-integrering hvis ønskelig.
      • Home Assistant, HTTP-integrering: https://www.home-assistant.io/integrations/wled/ men andre har også brukt MQTT-integrering.
         
    • DMX og E1.31
      • xLightsQLC+, jinx er eksempler på programmer som bruker DMX-integreringen. Jeg har lange lysshow programmert i QLC+, men de fleste sprø julehus er visst for det meste programmert i xLights (for oss amatører). Jinx kan sende 2D-effekter, tall og bokstaver hvis du ønsker det.

        xLights kan nok fort parkere det jeg har til nå...

     

     

    Effekter
    WLED har mange innebygde effekter, og i kombinasjon med ulike parametre gir det millioner av variasjoner. Her er det bare å leke.

     

    På julelysene bruker jeg effekten "Running 2" med rød og hvit som farger som standard. Dette kjører i vinduer og på reinsdyr, stjerne og juletre til noen ute aktiverer triggere.

     

    Triggeren i garasjevinduet er en TOF-sensor som trigger hvis avstanden blir redusert med X%.

     

    Jeg bruker MQTT-integreringen i HomeSeer sammen med et lite script for å lage små lysshow. De spesielt interesserte kan se scriptet her:

     

    Spoiler
    	Sub Main(parm As Object)
            Dim random As New Random(Now.Millisecond)
            Dim effects() As Integer = {7, 8, 9, 28, 29, 30, 33, 34, 38, 40, 41, 61, 66, 67, 68, 69, 70, 71, 72, 73, 74, 88, 89, 91}
    
            'Change the Twinkly Lights
            'hs.TriggerEvent("Twinkly mode - Demo")
    
            'Update the MQTT lights
            For i As Integer = 0 To 6
                Dim rnd As Integer = effects(random.Next(0, effects.GetLength(0) - 1))
                SendMQTT("wled/juletre/api", "FX=" & rnd)
                SendMQTT("wled/reinsdyr/api", "FX=" & rnd)
                SendMQTT("wled/83ad4a/api", "FX=" & rnd)
                SendMQTT("wled/522620/api", "FX=" & rnd)
                SendMQTT("wled/324018/api", "FX=" & rnd)
                hs.WaitSecs(3)
            Next
    
            'Reset the Twinkly Light
            'hs.TriggerEvent("Twinkly mode - Movie")
    
            'Reset the MQTT lights
            SendMQTT("wled/juletre/api", "FX=" & 37)
            SendMQTT("wled/reinsdyr/api", "FX=" & 37)
            SendMQTT("wled/83ad4a/api", "FX=" & 37)
            SendMQTT("wled/522620/api", "FX=" & 37)
            SendMQTT("wled/324018/api", "FX=" & 37)
    
        End Sub
    
        Sub SendMQTT(ByVal topic As String, ByVal payload As String)
            Dim ret As Integer
    
            Dim QOS_option As String = "EXACTLY_ONCE"
            Dim retain_option As String = "FALSE"
            Dim inputArray() As String = {topic, payload, QOS_option, retain_option}
    
            ret = hs.PluginFunction("mcsMQTT", "", "SendMqttMessage", inputArray)
    
            If (ret < 0) Then
                hs.WriteLog("mcsMQTT", "MQTT Message Failure for " & topic)
            End If
        End Sub

     

     

    User Feedback

    Recommended Comments

    There are no comments to display.



    Join the conversation

    You can post now and register later. If you have an account, sign in now to post with your account.

    Guest
    Add a comment...

    ×   Pasted as rich text.   Paste as plain text instead

      Only 75 emoji are allowed.

    ×   Your link has been automatically embedded.   Display as a link instead

    ×   Your previous content has been restored.   Clear editor

    ×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...