Goedemorgen mede-tweakers.
Helaas loop ik de laatste tijd tegen een muur als het gaat om verbetering van mijn led verlichting in mijn gang.
Situatieschets;
* 7 meter WS2812 ledstrip ( 30 leds per meter )
* 1 Arduino UNO
* 1 Ethernet Shield
Wat er nu al wel werkt;
* de Arduino start op, en doet http get request naar server.
* de server returned ( A-Z of 1-0 ). ( ja hierdoor ben ik gelimiteerd tot 36 programma's )
* de Arduino parsed dit en start een programma, dit kan gewoon "rood","wit" of bijvoorbeeld brightness zijn. Ook heb ik diverse "Rainbow" programma's.
* Als het programma afgelopen is, blijft de Arduino om de seconde weer pollen of er een ander programma afgespeeld moet worden. Is er geen ander programma dan speelt hij het vorige dus weer netjes af.
Het "Probleem".
Ik wil graag data kunnen "pushen" naar de Arduino via Ethernet. bijvoorbeeld ook met een http get request met meerdere parameters. ik denk dan bijvoorbeeld aan "http://arduino/index.html?color=FF00FF&brightness=255" of "http://arduino/index.html?program=rainbow&speed=10"
Nu schuilt het probleem erin, dat als de Arduino een rainbow afspeelt dit een programma van bijvoorbeeld 30 seconden is.
Al die tijd kan ik geen requests verhelpen, dus als ik het programma zou willen wijzigen moet ik wachten totdat de rainbow afloopt en precies dan een request inschieten. Dit kreeg ik eerder niet werkend, vandaar nu het "pull" model waarbij ik het programma van de webserver afhaal.
Heeft iemand van jullie ooit al een soortgelijk iets gemaakt, en heeft iemand een hint hoe ik iets dergelijks kan bouwen? ik heb dit met een state-machine proberen op te lossen maar ben hierin rijkelijk gefaald omdat het rainbow programma een eigen "void" heeft waar hij niet uitbreekt.
Alvast bedankt voor jullie input! Ik ben hier al eens eerder geweest met een simpele vraag en ben toen echt super op weg geholpen.
P.s. ik zat al te denken om Artnet te gebruiken, echter is programma het dan niet eenvoudig met een commando vanaf een andere Arduino aan te passen. HTTP GET is veel meer gestandaardiseerd en daardoor ideaal.
Helaas loop ik de laatste tijd tegen een muur als het gaat om verbetering van mijn led verlichting in mijn gang.
Situatieschets;
* 7 meter WS2812 ledstrip ( 30 leds per meter )
* 1 Arduino UNO
* 1 Ethernet Shield
Wat er nu al wel werkt;
* de Arduino start op, en doet http get request naar server.
* de server returned ( A-Z of 1-0 ). ( ja hierdoor ben ik gelimiteerd tot 36 programma's )
* de Arduino parsed dit en start een programma, dit kan gewoon "rood","wit" of bijvoorbeeld brightness zijn. Ook heb ik diverse "Rainbow" programma's.
* Als het programma afgelopen is, blijft de Arduino om de seconde weer pollen of er een ander programma afgespeeld moet worden. Is er geen ander programma dan speelt hij het vorige dus weer netjes af.
Het "Probleem".
Ik wil graag data kunnen "pushen" naar de Arduino via Ethernet. bijvoorbeeld ook met een http get request met meerdere parameters. ik denk dan bijvoorbeeld aan "http://arduino/index.html?color=FF00FF&brightness=255" of "http://arduino/index.html?program=rainbow&speed=10"
Nu schuilt het probleem erin, dat als de Arduino een rainbow afspeelt dit een programma van bijvoorbeeld 30 seconden is.
Al die tijd kan ik geen requests verhelpen, dus als ik het programma zou willen wijzigen moet ik wachten totdat de rainbow afloopt en precies dan een request inschieten. Dit kreeg ik eerder niet werkend, vandaar nu het "pull" model waarbij ik het programma van de webserver afhaal.
Heeft iemand van jullie ooit al een soortgelijk iets gemaakt, en heeft iemand een hint hoe ik iets dergelijks kan bouwen? ik heb dit met een state-machine proberen op te lossen maar ben hierin rijkelijk gefaald omdat het rainbow programma een eigen "void" heeft waar hij niet uitbreekt.
Alvast bedankt voor jullie input! Ik ben hier al eens eerder geweest met een simpele vraag en ben toen echt super op weg geholpen.
P.s. ik zat al te denken om Artnet te gebruiken, echter is programma het dan niet eenvoudig met een commando vanaf een andere Arduino aan te passen. HTTP GET is veel meer gestandaardiseerd en daardoor ideaal.