Esp32 -> WLED
Esp32 -> WLED
Finns ett program som man kan ladda upp bilder till och sen skicka direkt till "skärmen".
Pixel art converter: https://kno.wled.ge/features/pixel-art-converter/
Ser ut så här: Man klickar bara Send to device och så ploppar den upp på skärmen.
MEN, man får ju "coden" som beskriver bilden där direkt på sidan:
{"on":true,"bri":126,"seg":{"id":0,"i":[0,6,'00a650','00a550','00a74e','00a64e','00a54f',10,18,'00a650','00a54f','00a951','04a34e','129a5b','5e6831','f7f18d','f6e789','415b2b','03a251',27,33,'00a650','00a44e','319931','faf47c','18310c','fdf06e','fef46e','6d6837','171701','142e08','1c8052','00a845','05a052',45,49,'00a650','01a550','e8e482','f4f678','fef47f','fef46e','fff56f','fff56e','fff56f','fff56e','fef56e','fef36a','b3bd69','00a84c',62,65,'00a650','02a251','f8e87d','fdf56e','fef46e',69,75,'fff56f','fff46e','fef36e','f3f27d','04a44b',79,81,'00a650','199753','fcf26d','fff56e',84,93,'fff56f','fef46f','00a84c',95,97,'00a650','179a53','fbf470','fef274','fff46f',101,103,'fff56f','fef56b',104,106,'fef46e','fff46e','fdf46f','fef36c','fdf56c',110,112,'00a650','01a650','0ca453','f6ee8b','f4bfa4','fbf267','fbf66a','dbd688','a29c6c','aba762','6c693e','fbf46e','f9f6ad','f0bb9e','f8f669','02a352',127,129,'00a650','06a351','877c44','fabcaa','fae980','755f57','fdfcfc','f6fafa','fdfcfa','fcfcf9','d1b49d','e1b9a2','fabda5','faf277','01a44f',143,145,'00a650','00a34f','faec67','291615','f6beab','fdbfa7','857368','f4b9a7','e4b6a8','ecc2b1','f8bda8','795a51','b1ab6e','fbf779','00a64f',159,161,'00a650','00a54e','1b5d3a','e1aba5','f4c5bb','edc3b8','e2a998','50362f','492c25','fbbca3','554847','f3bfb1','1c3914','02a054','00a64f',175,178,'00a650','00a44f','0c3e1f','dddad7','b2b2b2','785c55','fdbca6','fdbca4','f8f7f8','d1d2d0','392823','07a357',189,195,'00a650','00a54f','514334','eae7e8','818181','bcbcbc','7b7b7b','f6f9f9','917a6c','15542f','01a44e',205,212,'00a650','00a44c','6f2b4f','ab8782','e7b9a9','d0ab9c','370c18','0e2e17','03a350',220,227,'00a650','00a64f','1a9955','91295e',230,233,'932b60','90285d','832553','02a853',236,240,'00a650','007438',241,243,'00a650','00a450','3a222f','932b60',246,250,'942c61','8b295c','248754','00a550',253,256,'00a650']}}
OK, så min fråga nu då. Hur skriver jag manuellt det som skickas när jag klickar på Send?
Jag vill ju kunna spara ner massa bilder i en fil och sen skicka dessa med tex fem sekunders mellanrum.
Har försökt läsa på om "curl -X POST" men det får jag inte att funka.
Har testat massa med /json/state, but noo.
Har sökt i koden, testat att "spela in" vad som händer när man klickar Send. Men för mig är det rappakalja.
Jag vill ju bara få till en länk som innehåller det som programmet skickar.
Typ http://192.168.1.35/{"on":true,"bri":12 ... {"id":0,"i":[0,6,'00a650','00a550 etc.
Pixel art converter: https://kno.wled.ge/features/pixel-art-converter/
Ser ut så här: Man klickar bara Send to device och så ploppar den upp på skärmen.
MEN, man får ju "coden" som beskriver bilden där direkt på sidan:
{"on":true,"bri":126,"seg":{"id":0,"i":[0,6,'00a650','00a550','00a74e','00a64e','00a54f',10,18,'00a650','00a54f','00a951','04a34e','129a5b','5e6831','f7f18d','f6e789','415b2b','03a251',27,33,'00a650','00a44e','319931','faf47c','18310c','fdf06e','fef46e','6d6837','171701','142e08','1c8052','00a845','05a052',45,49,'00a650','01a550','e8e482','f4f678','fef47f','fef46e','fff56f','fff56e','fff56f','fff56e','fef56e','fef36a','b3bd69','00a84c',62,65,'00a650','02a251','f8e87d','fdf56e','fef46e',69,75,'fff56f','fff46e','fef36e','f3f27d','04a44b',79,81,'00a650','199753','fcf26d','fff56e',84,93,'fff56f','fef46f','00a84c',95,97,'00a650','179a53','fbf470','fef274','fff46f',101,103,'fff56f','fef56b',104,106,'fef46e','fff46e','fdf46f','fef36c','fdf56c',110,112,'00a650','01a650','0ca453','f6ee8b','f4bfa4','fbf267','fbf66a','dbd688','a29c6c','aba762','6c693e','fbf46e','f9f6ad','f0bb9e','f8f669','02a352',127,129,'00a650','06a351','877c44','fabcaa','fae980','755f57','fdfcfc','f6fafa','fdfcfa','fcfcf9','d1b49d','e1b9a2','fabda5','faf277','01a44f',143,145,'00a650','00a34f','faec67','291615','f6beab','fdbfa7','857368','f4b9a7','e4b6a8','ecc2b1','f8bda8','795a51','b1ab6e','fbf779','00a64f',159,161,'00a650','00a54e','1b5d3a','e1aba5','f4c5bb','edc3b8','e2a998','50362f','492c25','fbbca3','554847','f3bfb1','1c3914','02a054','00a64f',175,178,'00a650','00a44f','0c3e1f','dddad7','b2b2b2','785c55','fdbca6','fdbca4','f8f7f8','d1d2d0','392823','07a357',189,195,'00a650','00a54f','514334','eae7e8','818181','bcbcbc','7b7b7b','f6f9f9','917a6c','15542f','01a44e',205,212,'00a650','00a44c','6f2b4f','ab8782','e7b9a9','d0ab9c','370c18','0e2e17','03a350',220,227,'00a650','00a64f','1a9955','91295e',230,233,'932b60','90285d','832553','02a853',236,240,'00a650','007438',241,243,'00a650','00a450','3a222f','932b60',246,250,'942c61','8b295c','248754','00a550',253,256,'00a650']}}
OK, så min fråga nu då. Hur skriver jag manuellt det som skickas när jag klickar på Send?
Jag vill ju kunna spara ner massa bilder i en fil och sen skicka dessa med tex fem sekunders mellanrum.
Har försökt läsa på om "curl -X POST" men det får jag inte att funka.
Har testat massa med /json/state, but noo.
Har sökt i koden, testat att "spela in" vad som händer när man klickar Send. Men för mig är det rappakalja.
Jag vill ju bara få till en länk som innehåller det som programmet skickar.
Typ http://192.168.1.35/{"on":true,"bri":12 ... {"id":0,"i":[0,6,'00a650','00a550 etc.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Re: Esp32 -> WLED
Det borde inte vara svårare än att spara ner den JSON du får från programmet i en fil och skicka det som en POST till ESPn:
curl -X POST "http://<WLED-IP>/json/state" -H "Content-Type: application/json" --data @data.json
Är det så du gjort utan att få det att fungera? Ger curl något felmeddelande?
EDIT: Ser att du försökt att lägga datat i URLn. Det lär inte fungera då dokumentationen säger POST (du försöker med GET).
curl -X POST "http://<WLED-IP>/json/state" -H "Content-Type: application/json" --data @data.json
Är det så du gjort utan att få det att fungera? Ger curl något felmeddelande?
EDIT: Ser att du försökt att lägga datat i URLn. Det lär inte fungera då dokumentationen säger POST (du försöker med GET).
Re: Esp32 -> WLED
Om du väljer CURL istf. WLED JSON i Output Format, så får man ju en command line för att skicka data via CURL, fungerar inte det tro?
*spekulerar vilt när jag inte har tillgång till prylarna just nu*
//Andreas
*spekulerar vilt när jag inte har tillgång till prylarna just nu*
//Andreas
Re: Esp32 -> WLED
Jag testade och väljer man "curl" i menyn så får man en "oneliner" med datat (JSON) som argument till curl.
Typ samma sak som det jag skrev fast utan omvägen via en fil. Det funkar så länge man inte har några specialtecken i datat och datats storlek inte överskrider vad som kan hanteras på kommandoraden.
Men ja, det var ju en smidig feature.
Typ samma sak som det jag skrev fast utan omvägen via en fil. Det funkar så länge man inte har några specialtecken i datat och datats storlek inte överskrider vad som kan hanteras på kommandoraden.
Men ja, det var ju en smidig feature.
Re: Esp32 -> WLED
Helst vill jag inte ha ut det som curl eftersom jag inte vet hur jag exekverar dessa om jag inte öppnar typ powershell på en windows burk. Men någon här kanske vet?
Re: Esp32 -> WLED
Svaret är att det nog inte går så som du vill (att bara klistra in en URL i en browser), i.a.f. inte enligt dokumentationen för WLED. När du anger saker i URLn så kommer datat skickas med metoden GET. WLED vill ha datat med metoden POST (det vanligaste när datat är större än några tecken).
curl är go-to applikationen för att lösa sånt här om man inte vill skriva en egen applikation. Och en egen applikation använder inte sällan curl den också
Förklara lite utförligare vad du vill göra så blir det lättare att komma på en lösning.
EDIT: Ser att du vill skicka något var femte sekund (automatiskt antar jag). Då är väl ett skript som använder curl ett av de enklaste sätten.
curl är go-to applikationen för att lösa sånt här om man inte vill skriva en egen applikation. Och en egen applikation använder inte sällan curl den också
Förklara lite utförligare vad du vill göra så blir det lättare att komma på en lösning.
EDIT: Ser att du vill skicka något var femte sekund (automatiskt antar jag). Då är väl ett skript som använder curl ett av de enklaste sätten.
Re: Esp32 -> WLED
Jo, det är möjligt att curl är lösningen. Men jag vet inte hur det funkar. Kan en vanlig webserver skicka curl's från ett script? Eller om jag sätter upp en hallon pi?
Re: Esp32 -> WLED
Alltså, du kan (förenklat) tänka på curl som en textbaserad HTTP-klient (webläsare) som kan skriptas att köras utan mänsklig interaktion. Så om webservern kan exekvera ett skript, och curl finns installerat och tillgängligt för det skriptet så ja, då kan webservern göra det.
Och självklart kan curl användas på en raspberry.
Men jag saknar fortfarande en tydligare beskrivning av vad du vill uppnå. Jag tror nog att jag kan hjälpa dig, om jag bara fattar exakt vad du vill göra
Och självklart kan curl användas på en raspberry.
Men jag saknar fortfarande en tydligare beskrivning av vad du vill uppnå. Jag tror nog att jag kan hjälpa dig, om jag bara fattar exakt vad du vill göra
Re: Esp32 -> WLED
OK, jag har byggt en 16x16 matris som jag kör via en ESP32 och WLED. Allt funkar som det ska.
Med "Pixel art converter programmet" som egentligen bara är en websida som ligger lokalt på min dator så kan jag ladda in bilder så konverterar sidan om det till 16x16 bilder och spottar ur sig "koden" för bilden. Där finns även en knapp SEND TO DEVICE. Klickar man på den så skickar den över filen till EPS'n och visar bilden.
Nu vill jag ha en textfil/script med hundratals bilder i kodform som sen skickas till EPS'n med jämna mellanrum eller om det är en animering så skickar den 20 såna textsträngar en efter en.
Om jag ber Pixel art converter om en CURL "fil" och stoppar in den i tex Windows PowerShell som ska klara CURL så får jag felmeddelande:
Med "Pixel art converter programmet" som egentligen bara är en websida som ligger lokalt på min dator så kan jag ladda in bilder så konverterar sidan om det till 16x16 bilder och spottar ur sig "koden" för bilden. Där finns även en knapp SEND TO DEVICE. Klickar man på den så skickar den över filen till EPS'n och visar bilden.
Nu vill jag ha en textfil/script med hundratals bilder i kodform som sen skickas till EPS'n med jämna mellanrum eller om det är en animering så skickar den 20 såna textsträngar en efter en.
Om jag ber Pixel art converter om en CURL "fil" och stoppar in den i tex Windows PowerShell som ska klara CURL så får jag felmeddelande:
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Re: Esp32 -> WLED
Vad jag minns så är windows curl inte riktig curl och har därför egenheter.
Re: Esp32 -> WLED
Korrekt, i powershell är curl bara ett alias till något windowskommando som saknar saker som curl har. Idioti.
Testa att skriva curl.exe istället för det finns faktiskt ofta installerat från början i windows.
Testa att skriva curl.exe istället för det finns faktiskt ofta installerat från början i windows.
Re: Esp32 -> WLED
Nu försökte den i alla fall, MEN:
curl.exe
{"error":9}curl: (3) unmatched close brace/bracket in URL position 1449:
00a650,00a550,00a74e,00a64e,00a54f,10,18,00a650,00
Hittade en video på ett annat "program"
Det är också bara en websida: https://github.com/mvaneijgen/wled-draw ... thing.html
Så någonstans i koden så skickas ju informationen om vad jag ritar.
curl.exe
{"error":9}curl: (3) unmatched close brace/bracket in URL position 1449:
00a650,00a550,00a74e,00a64e,00a54f,10,18,00a650,00
Hittade en video på ett annat "program"
Det är också bara en websida: https://github.com/mvaneijgen/wled-draw ... thing.html
Så någonstans i koden så skickas ju informationen om vad jag ritar.
Re: Esp32 -> WLED
Jag tror att curl försöker tolka strängen istället för att bara skicka den "as is". Testa att slå av det med "-g"
EDIT: Eller så är det ngt med powershell (jag är inte så kunnig på dess egenheter) som påverkar strängen. Testa att spara ner JSON-datat till en fil och skicka som jag skrev tidigare i tråden med @-tecken för att läsa en fil istället för sträng.
Den där websidan du länkar till använder javascript för att göra en POST till angiven adress. Du kan se koden i "source" i webläsaren. Men det hjälper dig nog inte mer än curl om du vill skripta detta.
EDIT: Eller så är det ngt med powershell (jag är inte så kunnig på dess egenheter) som påverkar strängen. Testa att spara ner JSON-datat till en fil och skicka som jag skrev tidigare i tråden med @-tecken för att läsa en fil istället för sträng.
Den där websidan du länkar till använder javascript för att göra en POST till angiven adress. Du kan se koden i "source" i webläsaren. Men det hjälper dig nog inte mer än curl om du vill skripta detta.
Re: Esp32 -> WLED
Tror faktiskt jag kommit på hur jag kan göra men det är inte som jag vill göra.
Jag kan ta "koden" och peta in det i Wled där man gör en ny "preset", då kan man stoppa in "kod" i ett API fält.
Detta gör att filerna sparas på ESP'n och jag har inte samma kontroll om jag vill göra animeringar.
Jag kan ta "koden" och peta in det i Wled där man gör en ny "preset", då kan man stoppa in "kod" i ett API fält.
Detta gör att filerna sparas på ESP'n och jag har inte samma kontroll om jag vill göra animeringar.
Re: Esp32 -> WLED
Det låter som en dålig lösning. Det finns inte så mycket minne i en ESP så du kommer bli begränsad av hur många bilder du kan lägga in i binären. Dessutom måste du bygga om den varje gång du vill lägga till en ny bild.
Varför ger du upp med curl? Det lär inte vara så långt ifrån att få det att fungera. Hade du använt linux är jag ganska säker på att det redan gjort det.
Har du testat de två sakerna jag föreslog tidigare? Fungerade inte något av det heller?
Varför ger du upp med curl? Det lär inte vara så långt ifrån att få det att fungera. Hade du använt linux är jag ganska säker på att det redan gjort det.
Har du testat de två sakerna jag föreslog tidigare? Fungerade inte något av det heller?
