-
Fototrend
Arduino hardverrel és szoftverrel foglakozó téma. Minden mikrovezérlő ami arduinoval programozható, és minden arduino program, board, és hardverrel kapcsolatos kérdések helye.
Új hozzászólás Aktív témák
-
Tomika86
senior tag
Sziasztok!
Kettő részből áll a kérdésem:
- Tud valaki jó tutorial-, vagy leírást, hogy a weboldalon lévő javascript kód hogy adja át az adatokat az esp32-nek. ESPAsyncWebservert-t használok, ebbe hogy jönnek át az adatok.
- Ki van aki beleásta magát az ESPAsyncWebserver könyvtár rejtelmeibe?
Egy WebServer könyvtárral íródott programot szeretnék átalakítani async könyvtárra, de nem akar menni.Példaként, itt egy html kód:
<!DOCTYPE html>
<html>
<head>
<script type='text/javascript'>
var file,cmp,partSize=100,offset=0;
function upload(){
file=document.querySelector('input[name=file]').files[0],
partSize=parseInt(document.querySelector('input[name=partSize]').value),
cmp=document.getElementById('completed'),
file?sendInfo(file.size):alert('Choose firmware file.')
}
function sendDataHandler(e){
if(null==e.target.error){
cmp.innerText=(100*offset/file.size).toFixed(1)+'%',
offset+=e.target.result.byteLength;
var t=new XMLHttpRequest;
t.onreadystatechange=function(){
4 == t.readyState && 200 == t.status && (offset<file.size?sendData():cmp.innerText='All data was sent')
},
t.open('post','/nextion_update'),
t.send(e.target.result)
}
else alert('Error: '+e.target.error)
}
function sendData(){
var e=new FileReader,
t=file.slice(offset,partSize+offset);
e.onload=sendDataHandler,
e.readAsArrayBuffer(t)
}
function sendInfo(e){
var t=new XMLHttpRequest;
t.onreadystatechange=function(){
4==t.readyState&&200==t.status&&sendData()
},
t.open('post','/nextion_fs'),
t.send(e)
}
</script>
</head>
<body>
<input type='file' name='file'/>
<input type='button' value='upload' onclick='upload()'/> <br/>
<label id='completed'></label>
<br/> Chunk size: <input type='text' name='partSize' value='1024' size='4'/>
</body>
</html>
Ebben történik adatküldés esp felé, és ESP programban megérkezik, de hogyan?// Receive file size
server.on("/nextion_fs", HTTP_POST, [](AsyncWebServerRequest * request){},
NULL,
[](AsyncWebServerRequest * request, uint8_t *data, size_t len, size_t index, size_t total) {
uint32_t fsize = atoi((const char*)data);
Serial.println("Nextion prepare message: " + String(nextion.prepareUpload(fsize)));
Serial.println("File size: " + String(fsize) + "bytes");
// Filesize and connection test
if(nextion.prepareUpload(fsize)) {
Serial.println("Start upload. File size is: " + String(fsize) + "bytes");
request->send(200);
}
else {
Serial.print("Bad file size");
Serial.println(nextion.statusMessage + "\n");
request->send(500);
}
});Nem működik a kód egyébként
Köszönöm!
Új hozzászólás Aktív témák
- Kerékpárosok, bringások ide!
- 200 megapixeles zoomkamerát sem kap az S26 Ultra?
- AMD Ryzen 9 / 7 / 5 / 3 5***(X) "Zen 3" (AM4)
- Kertészet, mezőgazdaság topik
- Okos Otthon / Smart Home
- Redmi Note 13 Pro 5G - nem százas, kétszázas!
- Formula-1
- NVIDIA GeForce RTX 4080 /4080S / 4090 (AD103 / 102)
- Konteó topic
- Nem indul és mi a baja a gépemnek topik
- További aktív témák...
- Dell Latitude 7410 Strapabíró Ütésálló Profi Ultrabook Laptop 14" -80% i7-10610U 16/512 FHD IPS MATT
- Eladó Lian Li O11D MINI-X gépház
- Lenovo ThinkPad P17 Tervező Vágó Laptop -50% 17,3" i7-10750H 32/512 QUADRO T1000 4GB
- FSP DAGGER PRO ATX3.0(PCIe5.0) 850W Sfx tápegység
- Eladó PNY GeForce RTX 4070 Ti SUPER 16GB OC XLR8
- Creative Sound BlasterX G5 (70SB170000000) (Sound Blaster) (DAC)
- BESZÁMÍTÁS! Gigabyte A620M R5 7500F 32GB DDR5 500GB SSD RX 6700XT 12GB Cooler Master CMP 520L 750W
- Bomba ár! Lenovo ThinkBook 14s Yoga - i5-1135G7 I 16GB I 256SSD I 14" FHD Touch I Cam I W11 I Gari
- ÁRGARANCIA! Épített KomPhone Ryzen 7 9800X3D 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- Jo Nesbo: LEOPÁRD (nem olvasott)
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft
Város: Budapest