Fórum témák

» Több friss téma
Fórum » Pendrive emulátor
 
Témaindító: lazsi, idő: Aug 26, 2026
Témakörök:
Lapozás: OK   1 / 1
(#) lazsi hozzászólása Aug 26, 2026 /
 
Adott egy (régebbi) 7"-os "digitális képkeret", ami USB-n keresztül képes fogadni egy pendrive-ot.
Megoldható-e, hogy egy uC-rel emuláljam a pendrive-ot, és így a megjelenítendő képet kívülről, dinamikusan állítsam elő? A képkeret MMC-kártyát is tud fogadni, de egyéb csatlakozása nincs.
Mivel eddig AVR-rel foglalkoztam, leginkább az jöhet szóba, de ha PIC-es megoldásról tud valaki, az már jó kiindulás lehet...

Vagy helyből felejtős a dolog, mert a képkeret a csatlakozáskor beolvassa a képet, és azután nem néz a pendrive-ra? Természetesen a konkrét eszköz működhet másképpen is, de "általában" hogyan szoktak működni?

Esetleg, ha a tartalom nem kép, hanem videó, amit folyamatosan generál egy uC? Egy ATMega képes lehet kiszolgálni egy alacsony felbontású (pl. 800x600/8bit) videót?

A megjelenítendő tartalom alapvetően statikus szöveg lenne, 10 s - pár perc frissítéssel / változással. (Tehát nem filmet szeretnék lejátszani...)

Csinált már valaki ilyet?
Sajnos a Google nem volt a barátom... (Lehetséges, hogy nem jó kulcsszavakat írtam be... De a "pendrive emulátor" semmi olyat nem adott, ami számomra hasznos lenne...)


Vagy ez az egész ötlet zsákutca, és inkább a képkeretben kellene szétnézni, hátha mázlim van és a kijelzőjére tudok építeni uC-t - a saját vezérlője helyett?

Tudom, hogy olcsók az ilyen méretű kijelzők, de két dolog miatt készíteném el így: 1. egészen
biztosan nem tudok olyan szép "dobozt" készíteni a kijelzőnek, mint egy gyári, 2. az építés élménye.
(#) Medve válasza lazsi hozzászólására (») Aug 26, 2026 / 1
 
Én utánanéztem, igen, megvalósítható, de technikai szempontból van néhány komoly buktatója, amire érdemes felkészülni.
A feladat lényege, hogy a mikrokontrollernek egy USB Mass Storage Class (MSC) eszközt (pendrive-ot) kell emulálnia egy FAT16 vagy FAT32 fájlrendszerrel. A háttérben pedig folyamatosan vagy ciklikusan felül kell írnod a képadatokat.
A működési elv:
- USB Peripheral/OTG hardver: Olyan uC kell, ami támogatja a natív USB Peripheral (Device) módot (pl. Raspberry Pi Pico / RP2040, ESP32-S2 / ESP32-S3, vagy STM32F4 sorozat). Szoftveres oldalon a TinyUSB vagy az ESP32/STM32 saját USB stackje képes MSC eszközt emulálni.
- Virtuális Fájlrendszer (RAM Disk / SD kártya): A mikrokontroller memória-területén (vagy RAM-jában) létrehozol egy minimális FAT fájlrendszer-struktúrát, amiben szerepel egyetlen képfájl (pl. IMAGE.JPG).
- Dinamikus tartalom frissítése: Amikor a keret beolvassa a szektort, az uC a RAM-ban lévő legfrissebb képadatot adja át. A képet letöltheti Wi-Fi-n (ESP32-nél), előállíthatja a kódból, vagy soros porton fogadhatja.

A legnagyobb nehézségek és Buktatók:
- A képkeret nem érzékeli a változást (Cache probléma)A digitális képkeretek nem folyamatosan olvassák a pendrive-ot. Amikor bedugod a pendrive-ot:Beolvassa a fájllistát, betölti a képeket a saját memóriájába, és elindul a diavetítés.Probléma: Ha az uC-n kicseréled a IMAGE.JPG tartalmát a háttérben, a képkeret ezt nem fogja észrevenni, mert nem olvassa újra a fájlrendszert a pendrive-ról.
Megoldás a frissítés kikényszerítésére:Virtuális újracsatlakozás (Soft Re-plug): A mikrokontroller szoftveresen lecsatlakoztatja az USB-t (húzza le a D+ vonalat/szünetelteti az emulációt), majd 1-2 másodperc múlva újra beállítja az USB kapcsolatot. A képkeret úgy érzékeli, mintha kihúztad volna a pendrive-ot és visszadugtad volna, így újra beolvassa a tartalmát.Diavetítés mód: Ha a keret folyamatosan körbe-körbe játssza le a fájlokat, akkor 2-3 fájlt érdemes emulálni (1.jpg, 2.jpg), és mindig azt a fájlt írni felül a RAM-ban, amit épp nem olvas a képkeret.
- Fájlrendszer zárolási konfliktus (Read-Write contention)A FAT fájlrendszert alapvetően nem arra tervezték, hogy két eszköz egyszerre írja/olvassa. Ha a keret épp olvas egy szektort, miközben te a mikrokontroller felől módosítod a szektor tömbjét, korrumpálódhat a beolvasott kép. Ezt blokkolási logikával (mutex/szemafor) kell kezelni a kód szintjén.
(#) lazsi válasza Medve hozzászólására (») Aug 26, 2026 /
 
Nagyon köszönöm! Ez valóban segítség az elinduláshoz!
A lényeg, hogy érdemes belekezdeni...
Erre a Soft Re-plug dologra nem gondoltam.
Viszont ez megoldja a másik problémát is: Mielőtt megváltoztatnám, mindig lecsatlakoztatom.

Tehát:
0. Változtatni kell a tartalmat
1. Lecsatlakozás
2. Megváltoztatni, amit kell
3. Visszacsatlakozás
4. Frissül a kép
Most már csak meg kell csinálni.
(#) Skori válasza lazsi hozzászólására (») Aug 27, 2026 / 1
 
Az SD/MMC kártya SPI buszt használ, lehet, hogy azt sokkal könnyebb emulálni.
(#) img válasza lazsi hozzászólására (») Aug 27, 2026 / 1
 
Gondolom a képkeret kártyát is fogad: szerintem egyszerűbb lenne egy Wi-Fi-s SD kártyával megoldani, aminek az az eredeti ötlete, hogy egy előre beállított (FTP) szerverhez csatlakozik és oda tölti át a képeket amiket rá fotózol. Ha viszont fordítva használod, hogy a kártyára töltöd át a képeket és a képkeret mondjuk slideshow-ként, x másodpercenként frissít a következő képre, akkor megoldható.
A hozzászólás módosítva: Aug 27, 2026
(#) lazsi válasza Skori hozzászólására (») Aug 28, 2026 /
 
Úgy emlékszem, ilyen kártyát fogad... (most nincs a kezemben, hogy megnézzem...)
Itt is megoldható a soft-os le- és visszacsatlakozás?
(#) lazsi válasza img hozzászólására (») Aug 28, 2026 /
 
A WiFi-t kihagynám...
Azt jó lenne tudni, hogy a slideshow esetén előre beolvassa-e a file-neveket, vagyis tudnia kell, hogy mik lesznek ott? Mondjuk A és B file, amit felváltva mutat - ezesetben figyelni kell rá, hogy ne változtassam a file-t, miközben éppen olvassa.
Vagy a léptetéskor mindig megnézi, hogy mi van ott, és az éppen jelenlévőt betölti?
Talán az is lehet, hogy kevés kép / kis méretű file-ok esetén mindet betölti a saját memóriájába és később rá se néz a kártyára?
Nagy eséllyel ezek típusfüggőek is lehetnek...
(#) img válasza lazsi hozzászólására (») Aug 28, 2026 / 1
 
Szerintem úgy működik, hogy bekapcsolásnál beolvassa a fastruktúrát és az adott könyvtárban léptet, egyenként beolvasva a fájlokat. Ha könyvtárt váltasz akkor azt olvassa be (de nem nyal fel mindent, hogy aztán a RAM-ból dolgozzon: a kártyát használja folyamatosan).

A fájl csak addig nem piszkálható amíg beolvassa, egyébként ha a fájlnév változatlan akkor oké.
(#) lazsi válasza img hozzászólására (») Aug 28, 2026 /
 
Köszi! Ez biztató...
(#) img válasza lazsi hozzászólására (») Aug 28, 2026 /
 
Sok éve kérte valaki, hogy vegyek neki egy ilyen képkeretet és az így működött (megnéztem mert érdekelt), szerintem a többi is ezt az elvet követi.
(#) proba válasza img hozzászólására (») Aug 28, 2026 /
 
Szerintem már csak azért sem tölti fel az összes képet, mert már egy 16GB pendrive nagy valószínűséggel bele sem fér.
(#) img válasza proba hozzászólására (») Aug 28, 2026 /
 
Persze, ez egyértelmű. De még csak nem is cache-el előre, hanem mindig csak egy képet olvas be.
(#) lazsi válasza img hozzászólására (») Aug 31, 2026 / 1
 
Köszi mindenkinek!
Most kezdődik a tanév, de így legalább érdemes elindulnom a dolgon...

Amint lesz eredmény jelentkezem!
(#) pipi válasza lazsi hozzászólására (») Szept 1, 2026 /
 
Hali!
Ha szövegről van szó, akkor lehet legegyszerűbb webesen megcsinálni. Egy ESP32 simán elbír vele, még router vagy AP sem kell, ha a tablet direktben csatlakozik wifin egy böngészővel az esp-re...
Csak duál magos ESP32-t javaslok, ebben nagy flash, nagy ram van, elég gyors is, gyakorlatilag egy tápon kívül más nem kell hozzá ... A megszokott arduinó környezetben tudod programozni, sok példa progit találsz hozzá a fejlesztőrendszer telepítése után.
Még az is lehet hogy képgenerálást is meg lehet csinálni vele (létezik belőle kamerás modul is).
(#) lazsi válasza pipi hozzászólására (») Szept 2, 2026 /
 
A webes rész a "másik oldal"... Az, hogy az információ hogyan kerül bele az általam elkészítendő eszközbe a következő lépés lesz.
Wifi, vezetékes net, RS232, Rx/Tx, RS485, I2C - majd később, hamár a cuccból "bármi" átmegy a képkeretbe.
A képkeretben viszont csak USB (talán 2.0, de az is lehet, hogy csak 1.0) és SD/MMC kártyahely van. Nincs tablet. Nincs wifi.
A hozzászólás módosítva: Szept 2, 2026
(#) Skori válasza lazsi hozzászólására (») Csü, 23:00 /
 
Holt tart most ez a projekt? Eszembe jutott, hogy régebben belefutottam egy DEMO projektbe aholis a BluePill USB-je egy kis méretű háttértárként jelent meg a windowsban (mint egy pendrájv) sajna fogalmam sincs hol van ez a projekt, de talán megtalálható az interneten.
(#) lazsi válasza Skori hozzászólására (») Pé, 8:03 /
 
Most ott tart, hogy elindult a félév az egyetemen...

Köszi az ötletet, megnézem, hátha megtalálom...
De nem biztos, hogy ezért megtanulok egy újabb uC-t... Maradnék az AVR-vonalon... Azután majd kiderül, hogy ezzel meg sem lehet oldani...
A hozzászólás módosítva: Pé, 8:08
(#) img válasza lazsi hozzászólására (») Pé, 9:14 /
 
Úgy tűnik, hogy ennek van saját memóriája képek feltöltéséhez, ha megmozgatja a fantáziád.
(#) lazsi válasza img hozzászólására (») Pé, 11:21 /
 
Igen, kb. hasonlóm van.
Ehhez szeretnék csinálni valamit, amit soros porton (RS232 / Rx-Tx) tudok általam generált tartalommal nagyságrendileg perces ütemezéssel megtölteni...

Nem azért, mert szükségem van rá, hanem azért, érdekes...
Következő: »»   1 / 1
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem