ESP8266 FTP szerver & kliens

ESP8266, ESP32 chipek és az ESP-xx modulok. Programozási nyelvek, trükkök, hardware tippek.
Avatar
SanyiSay
Elektronbűvölő
Hozzászólások: 985
Csatlakozott: 2009. február 28. szombat, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

ESP8266 FTP szerver & kliens

HozzászólásSzerző: SanyiSay » 2016. március 29. kedd, 18:54

YellowDog írta:Szeretném megkérdezni, tudnál bővebben írni az ESP FTP-ről, mivel működik, stb?


ESP FTP kliens:
ESP-n futtatott Arduino IDE megoldással nálam ez a módszer működött.
http://www.rudiswiki.de/wiki9/WiFiFTPServer
Ezzel FTP-n tárolt fájlokba tudtam adatokat írni, olvasni. Ennél többre nem volt szükségem így más irányba nincs tapasztalat.
Ami hiányzott az az FTP szerver, mert ezzel kényelmesebb lenne PC-ről feltölteni fájlokat ESP-re mint az Arduino fordítóba integrált kis feltöltő scriptel. Főleg hogy Eclipse alatt még nem találtam erre módszert.
Aztán tegnap ráleltem erre.

ESP FTP szerver:
https://github.com/nailbuster/esp8266FTPServer
Erről viszont sokat nem tudok mondani mert most kezdem tesztelni. Remélem működik rendesen mert akkor nagy lesz az örömöm, :) majd beszámolok az eredményekről.

YellowDog
DrótVégénSzéndarab
Hozzászólások: 48
Csatlakozott: 2016. február 28. vasárnap, 18:41
Tartózkodási hely: Sopron

Re: ESP8266 FTP szerver & kliens

HozzászólásSzerző: YellowDog » 2016. március 29. kedd, 20:10

Jól hangzik :-) Jól értem, az ESP (gondolom flash) tárolja a fájlokat? Nincs megoldás esetleg pl. SD kártya illesztésére? Úgy látom van SPI a chipben, igaz azon lóg a flash, de nem lehet azt valahogyan egy plusz CS lábbal választva megosztani esetleg? Ugye itt az a gond igazából, hogy miként működik a flash-ből a programkód beolvasás az ESP-be, folyamatosan, ahogyan mondjuk hagyományos számítógép esetén a RAM-ból, tehát utasításról utasításra, vagy esetleg nagyobb blokkokban?

Avatar
SanyiSay
Elektronbűvölő
Hozzászólások: 985
Csatlakozott: 2009. február 28. szombat, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

Re: ESP8266 FTP szerver & kliens

HozzászólásSzerző: SanyiSay » 2016. március 29. kedd, 20:55

Igen mindent a flash tárol. Annak a felosztását lehet előre meghatározott értékek között változtatni.
4M flash pld. lehet 1M programnak / 3M SPIFFS fájlrendszer vagy fordítva 3/1.
Viszont hogy ettől eltérő értékeket el lehet e érni azt nem tudom, az meghaladja tudásom. Még ezen a kettőn belül sem tiszta az OTA, EEprom, SPIFFS felosztás. de szerencsére eddig messze nem értem el a határait.
Ahol meg igen a régi ESP01-es (Kék) modulokon ahol 1M volt a flash, lecseréltem a flash-t 4M-ra azóta az is ok.
Valamint a flash felosztásból sem volt használható mindegyik zökkenőmentesen, annak is utána kellene nézni most hogy állnak a fiúk e téren lettek e javulások.
SD csatlakozás valószínű, hogy megy mert láttam próbálkozásokat de nekem még nem került az érdeklődési körömbe sem. :)
Flash-t is fel lehet tornászni nagyobbra mert az ESP bírja. Aztán hogy az ESP Arduino lekezeli e annak utána kell nézni.
Egyszóval ezen a területen is több a kérdés mint a válasz egyenlőre.

YellowDog
DrótVégénSzéndarab
Hozzászólások: 48
Csatlakozott: 2016. február 28. vasárnap, 18:41
Tartózkodási hely: Sopron

Re: ESP8266 FTP szerver & kliens

HozzászólásSzerző: YellowDog » 2016. március 29. kedd, 21:23

Azért ezek nem rossz hírek :-) A kérdések meg azért jók mert arra lehet válaszolni ill. keresni rá választ, aztáá így mindig okosabbak leszünk ;-)

YellowDog
DrótVégénSzéndarab
Hozzászólások: 48
Csatlakozott: 2016. február 28. vasárnap, 18:41
Tartózkodási hely: Sopron

Re: ESP8266 FTP szerver & kliens

HozzászólásSzerző: YellowDog » 2016. március 30. szerda, 10:43

Az első belinkelt példában jól látom, hogy 1024 bájtos darabokra bontja a fájlt a program? Nem vagyok jó C-ben, tehát nem tudom értelmezni, pontosan mit csinál ott a String formatBytes(size_t bytes) csak látom, hogy az 1024 méretet figyeli...

Avatar
csabeszq
Bitfaragó
Hozzászólások: 644
Csatlakozott: 2012. szeptember 5. szerda, 6:00

Re: ESP8266 FTP szerver & kliens

HozzászólásSzerző: csabeszq » 2016. március 30. szerda, 14:34

Az 1024 byte az a maximális pufferméret. A szerver akkor is működik, ha az igen tisztelt user másodpercenként 1 bájtot küld át. Legfeljebb lassú lesz.

Nézegettem a kódot, meglepően jó FTP szerver implementáció.
- csak passszív módot támogat: ez nem probléma, mert a legtöbb tűzval kivágja az aktív módú FTP-t a PC-n

Azon is meglepődtem, hogy képes egyszerre két porton hallgatni (data/command), az Arduino-s wifi implementáció tök gagyi, nem képes 2 porton egyszerre hallgatni.

Jó, hogy beraktátok ezt a kódot.

Avatar
SanyiSay
Elektronbűvölő
Hozzászólások: 985
Csatlakozott: 2009. február 28. szombat, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

Re: ESP8266 FTP szerver & kliens

HozzászólásSzerző: SanyiSay » 2016. március 30. szerda, 19:22

Mondjuk én a belsejéhez nem annyira konyítok,de mindenképp jó hír hogy ott is minden rendben és hasznos lett a link. :)
FileZilla-val és a szerző ajánlott beállításival sikerült lekérdezni a tárolt fájlokat, valamint fájlt létrehozni és módosítani, letölteni.
Szóval működik a szerver. :)

Avatar
csabeszq
Bitfaragó
Hozzászólások: 644
Csatlakozott: 2012. szeptember 5. szerda, 6:00

Re: ESP8266 FTP szerver & kliens

HozzászólásSzerző: csabeszq » 2016. március 30. szerda, 20:29

Már csak egy http szervert kell hozzá felrakni.

:)

Avatar
SanyiSay
Elektronbűvölő
Hozzászólások: 985
Csatlakozott: 2009. február 28. szombat, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

Re: ESP8266 FTP szerver & kliens

HozzászólásSzerző: SanyiSay » 2016. március 31. csütörtök, 18:31

AZ majd szerintem ESP32-re lesz. :)

Avatar
csabeszq
Bitfaragó
Hozzászólások: 644
Csatlakozott: 2012. szeptember 5. szerda, 6:00

Re: ESP8266 FTP szerver & kliens

HozzászólásSzerző: csabeszq » 2016. április 1. péntek, 10:53

Van jelenleg is, esp-httpd a neve, az esp-link alkalmazás is használja.

Ami nekem furcsa:
- kellene egy mini web szerver, amire FTP-vel töltöd fel a weblapokat
- ez a web szerver javascripttel, vagy akárhogy, csacsog az Arduinoval

Ennek az lenne az értelme, hogy az Arduino mér, miközben az egyszerű web interfészt az ESP biztosítja, abban hely is van elég a weboldalakhoz.
Ilyet egységesen még nem láttam, pedig szerintem lenne értelme, hogy a webet leválasztani az AVR-ről.

Avatar
SanyiSay
Elektronbűvölő
Hozzászólások: 985
Csatlakozott: 2009. február 28. szombat, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

Re: ESP8266 FTP szerver & kliens

HozzászólásSzerző: SanyiSay » 2016. április 1. péntek, 20:41

Hát ez megvan amit szeretnél.
Igaz nem JavaScript fut az ESP-n hanem Arduinoban írod meg a progit és az fut rajta.

JavaScript meg elég furi nyelv, most ismerkedem vele, de elsőre nem tűnik valami memória takarékos megoldásnak. Eléggé szabadon értelmezi a változókat meg mindet. Persze lehet csak a felszínes tudásom miatt látom így.

Nekem most több ESP fut már itthon, és ezek összehangolása felhasználóbarát vezérlése a feladat. Van egy konzol amin elérek minden ESP-t. Ez majd egy ESP lesz LCD-vel, vagy marad ami most van, hogy egy html oldalon oldom meg ezt mind amit egy offline teljes ablakos böngészőn futtatok. Így nem kell ESP-ről letölteni az oldalt lehet bonyolultabb is nem lesz lassú. Így mint egy Portable program fut bármin amin böngésző van. Ennek az oldalnak HTML kódját és a sok mindent hozzá a router FTP szerverére tenném így mindenki eléri nem kell minden készülékre letölteni külön külön. (na ez az utolsó rész még nem sikerült) Minderre a Gyerek régi androidos mobilja is pont alkalmas szerintem amikor ezt a konzolt a falra fogom szerelni. Pici, könnyen dobozolható, megoldott a tápellátás..... Különböző parancsokkal vezérlem és kérek le adatokat AJAX-al az ESPk-ről. Az esp-re kötött külső ki vagy be meneti egységek, vagy akár lehet AVR is, Nem foglalkoznak a nettel csak az adatokat küldik az ESP felé. Aztán az dönti el a kapott parancsokból, hogy kell e továbbítani, vagy bármi, de az AVR is utasíthatja az ESP-t.
Persze minden ESP-nek van saját html oldala is amin elérhető a bármi, főleg rendszerhez csatlakozás beállítása első alkalommal, WIFI AP módban is.

Egyszóval már mindegy ki vezérel kit, inkább csak a jó összehangolás a feladat, hogy mindez a felhasználónak (kedvesem :) ) fel se tűnjön.
Az ESP FTP server egyébként nálam is nagyrészt erre lenne. HTML oldalak alakítása, és naplófájlok olvasása. Meg ki tudja még. :)

YellowDog
DrótVégénSzéndarab
Hozzászólások: 48
Csatlakozott: 2016. február 28. vasárnap, 18:41
Tartózkodási hely: Sopron

Re: ESP8266 FTP szerver & kliens

HozzászólásSzerző: YellowDog » 2016. április 3. vasárnap, 9:24

És ezek a "gyári" dolgok milyen sebességet hoznak? Csak az összehasonlíthatóság végett kérdezem.

Avatar
SanyiSay
Elektronbűvölő
Hozzászólások: 985
Csatlakozott: 2009. február 28. szombat, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

Re: ESP8266 FTP szerver & kliens

HozzászólásSzerző: SanyiSay » 2016. április 3. vasárnap, 14:44

PC - Windows FileZilla FTP kliens
ESP - FTP szerver

FileZilla mért adatai:
PC -> ESP
Feltöltés indítása: E:\Osztott\node.PNG
Sikeres fájl átvitel, 972 774 byte átvitt adat 11 másodperc alat

ESP -> PC
Letöltés indítása: /node.PNG
Sikeres fájl átvitel, 972 774 byte átvitt adat 61 másodperc alatt

Vajon miét pont a latöltés a lassúbb?

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9718
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

Re: ESP8266 FTP szerver & kliens

HozzászólásSzerző: Robert » 2016. április 3. vasárnap, 16:54

A FLASH-ból visszaolvasol SPI-n át (ahonnan a program is fut).
Összecsomagolod, TCP kapcsolatot építesz/ellenőrzöl (szoftver alapon megy ha jól emlékszem).
És a chiped jár 80 MHz-n.

Avatar
SanyiSay
Elektronbűvölő
Hozzászólások: 985
Csatlakozott: 2009. február 28. szombat, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

Re: ESP8266 FTP szerver & kliens

HozzászólásSzerző: SanyiSay » 2016. április 3. vasárnap, 18:18

Gondolom akkor feltöltésnél ebből valami kimarad.
Lehet utána kellene nézni a 160MHz-es beállításnak is? :)


Vissza: “ExpressIf WiFi”

Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 1 vendég