Esp32 -> WLED

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
GeekJoan
Admin
Inlägg: 11420
Blev medlem: 26 maj 2003, 15:59:27
Ort: Solna

Esp32 -> WLED

Inlägg av GeekJoan »

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:
WLED-PixelArtConverter.png
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.
RoAd
Inlägg: 434
Blev medlem: 5 september 2024, 22:51:49

Re: Esp32 -> WLED

Inlägg av RoAd »

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).
simply
Inlägg: 530
Blev medlem: 19 januari 2006, 11:27:36
Ort: sthlm
Kontakt:

Re: Esp32 -> WLED

Inlägg av simply »

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
RoAd
Inlägg: 434
Blev medlem: 5 september 2024, 22:51:49

Re: Esp32 -> WLED

Inlägg av RoAd »

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.
Användarvisningsbild
GeekJoan
Admin
Inlägg: 11420
Blev medlem: 26 maj 2003, 15:59:27
Ort: Solna

Re: Esp32 -> WLED

Inlägg av GeekJoan »

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?
RoAd
Inlägg: 434
Blev medlem: 5 september 2024, 22:51:49

Re: Esp32 -> WLED

Inlägg av RoAd »

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.
Användarvisningsbild
GeekJoan
Admin
Inlägg: 11420
Blev medlem: 26 maj 2003, 15:59:27
Ort: Solna

Re: Esp32 -> WLED

Inlägg av GeekJoan »

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?
RoAd
Inlägg: 434
Blev medlem: 5 september 2024, 22:51:49

Re: Esp32 -> WLED

Inlägg av RoAd »

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 :)
Skriv svar