Virtuelle USB-Emulatoren für Computer. Erstellen Sie ein virtuelles Flash-Laufwerk auf Ihrem Computer. Wo kann ich Trioma kaufen?

💖 Gefällt es dir? Teilen Sie den Link mit Ihren Freunden

Entwicklung verschiedene Geräte Die auf Mikrocontrollern basierende Aktivität ist eine Aktivität, die eines echten Computerfreaks würdig ist. Ein nützliches Feature jedes Gadgets ist zweifellos eine USB-Schnittstelle zum Anschluss an einen Computer. Was aber, wenn der AVR-Chip keine Hardware-Unterstützung für USB bietet?

V-USB: Auf die Größe kommt es an

Bei der Entwicklung eines eigenen Gadgets stellt sich häufig das Problem, dieses an einen Computer anzuschließen. Ich muss sagen, dass LPT- und COM-Ports mittlerweile exotisch sind Motherboards PCs, ganz zu schweigen von Laptops, bei denen diese Schnittstellen längst verschwunden sind. daher moderne Computer Zur USB-Schnittstelle gibt es praktisch keine Alternativen.

Wenn die Ressourcen des Chips hundertprozentig ausgenutzt werden, ist es besser, sofort nach Geräten mit Hardware-Unterstützung für den universellen seriellen Bus zu suchen (solche Mikrocontroller gibt es im Sortiment jedes Herstellers). In anderen Fällen können Sie Software-USB verwenden.

Für Atmel-Mikrocontroller gibt es ein wunderbares V-USB-Projekt, das eine Softwareimplementierung mit niedriger Geschwindigkeit bietet USB-Geräte 1.1. Der V-USB-Code funktioniert auf jedem AVR-Gerät, das über mindestens 2 KB Flash-Speicher und 128 Byte RAM verfügt Taktfrequenz 12; 12,8; 15; 16; 16,8 oder 20 MHz.

Das Produkt kann sowohl unter der Open-Source-GPL-Lizenz als auch kommerziell genutzt werden. Um eigene USB-Geräte zu entwickeln, müssen Sie in der Regel auch eine Lizenz erwerben. Aber die Jungs von V-USB haben sich auch darum gekümmert, indem sie ein Paar Vendor ID – Product ID gekauft haben und es jedem ermöglicht haben, es zu verwenden.

Die Hardware zum Anschluss des USB-Busses an den Mikrocontroller ist sehr einfach. Wenn das Gerät nicht zu viel verbraucht, kann es direkt über den Bus (wird als Stromleitung betrachtet) mit Strom versorgt werden USB-Computer und kann einen Strom von bis zu 500 mA liefern. Da die Informationsleitungen (D+ und D–) einen Signalpegel von 3,6 V verwenden, sind zusätzlich zu Strombegrenzungswiderständen Zenerdioden erforderlich, um der 5-V-Logik des Chips zu entsprechen. Um die Art der Verbindung anzuzeigen, müssen Sie die Versorgungsspannung über einen 1,5-kOhm-Widerstand an die Leitung D– „hochziehen“.

Eine alternative Möglichkeit zur Kopplung über USB besteht darin, die Versorgungsspannung des Controllers mithilfe eines entsprechenden Stabilisierungschips oder einfach eines Diodenpaars zu reduzieren. Das neueste Diagramm finden Sie auf der V-USB-Projektwebsite.

USBtiny-Programmierer

Es gibt viele verschiedene Programmierer für AVR-Mikrocontroller. USBtiny wird hier teilweise erwähnt, weil es eine Software-Implementierung von USB ähnlich V-USB enthält. Die Schaltung dieses Programmierers ist einfach: Version 2 enthält zwei Mikroschaltungen und die erste Version enthält nur eine (den ATtiny2313-Chip selbst). Dank an detaillierte Beschreibung Auf der Website und mit einfachen Komponenten ist das Gerät auch für Anfänger leicht zu bauen. USBtiny ist mit dem beliebten Programm avrdude kompatibel, das zur Programmierung von AVR-Mikrocontrollern verwendet wird.

Das einzige Problem besteht darin, die Firmware in den Programmierchip hochzuladen – dafür benötigen Sie … einen Programmierer. Wenn Sie einen Computer mit einem LPT-Anschluss haben, können Sie eine der Optionen FBPRG, auch bekannt als „Fünf Drähte“, auswählen

Vorbereiten des Schlittens

Die Softwaretools, die zur Implementierung der einfachsten Firmware für ein USB-Gerät erforderlich sind, sind äußerst asketisch: der gcc-avr-Compiler, die avr-libc-Bibliothek, der avrdude-Programmierer und das Binutils-Set für AVR. Unter Debian/Ubuntu wird alles, was Sie brauchen, mit einem Befehl installiert:

$ sudo apt-get install avrdude binutils-avr gcc-avr avr-libc

In den Weiten des Internets ist es nicht schwer, etwas zu finden ausführliche Anleitungüber V-USB und libusb (auf Englisch). Um dem Projekt USB-Unterstützung hinzuzufügen, benötigen Sie laut Handbuch den Ordner usbdrv aus dem Archiv mit letzte Version V-USB. Im Stammverzeichnis dieses Ordners befindet sich eine Konfigurationsvorlage usbconfig-prototype.h. Sie müssen eine Kopie dieser Datei erstellen und sie usbconfig.h nennen. Als nächstes korrigieren Sie usbconfig.h, indem Sie den Port (D), dessen Leitungen für I/O verwendet werden, die Leitungsnummern D+ (2) und D– (3) sowie die Frequenz (12 MHz) angeben was der Chip betreibt (ATtiny2313):

#define USB_CFG_IOPORTNAME D #define USB_CFG_DMINUS_BIT 3 #define USB_CFG_DPLUS_BIT 2 #define USB_CFG_CLOCK_KHZ 12000

Um eine V-USB-Lizenz für ein Gerät zu verwenden, müssen der Hersteller und die numerischen Geräte-IDs nicht geändert werden. Sie können jedoch symbolische Namen nach Ihren Wünschen wählen (damit können Sie mehrere V-USB-basierte Geräte unterscheiden, die an denselben Computer angeschlossen sind):

#define USB_CFG_VENDOR_ID 0xc0, 0x16 #define USB_CFG_DEVICE_ID 0xdc, 0x05 #define USB_CFG_VENDOR_NAME "n", "e", "t", "s", "4", "g", "e", "e", "k" ,“s“,.“,„c“, „o“, „m“ #define USB_CFG_VENDOR_NAME_LEN 14 #define USB_CFG_DEVICE_NAME „U“, „S“, „B“, „e“, „x“, „a“ ,„m“, „p“, „l“, „e“ #define USB_CFG_DEVICE_NAME_LEN 10

Verschiedene Gadgets

Haben Sie eine Idee für ein Gerät? Beeilen Sie sich nicht mit dem Löten und Codieren, aber schauen Sie, vielleicht hat jemand schon etwas Ähnliches gemacht. Wenn Sie nicht auf vorgefertigte Diagramme und Quellen zurückgreifen können, müssen Sie zumindest nicht alles bei Null anfangen.

Beispielsweise hat das V-USB-Projekt dank seiner Lizenzpolitik eine ansehnliche Basis an vorgefertigten (einschließlich frei verteilten) Lösungen aufgebaut. Hier finden Sie verschiedene Ausführungen von Tastaturen, USB-Adaptern für Joysticks, Gamepads (auch seltene, zum Beispiel SNES/NES, Nintendo 64, ZX Spectrum Joystick, Sony PlayStation 1/2) und dergleichen. DMX-Adapter, virtuelle COM- und UART-Ports, i2c-, Servo-, DCF77- und IR-Funkschnittstellen – alles, was Ihnen hilft, weitere neue Geräte an Ihren PC anzuschließen. Auch Logger, Plattformen für Sonden und Sensoren, Adapter für LCD-Displays, Programmierer und Lader können im Haushalt nützlich sein.

Das Programm für den Chip ist elementar!

Bei der Interaktion über einen USB-Bus ist der Computer das Hauptgerät, das regelmäßig Steueranforderungsnachrichten sendet. Der Controller ist dementsprechend ein Slave und muss auf Anfragen reagieren. Das Format der Steuernachricht wird durch die Struktur usbRequest_t aus der Datei usbdrv.h bestimmt:

Typedef struct usbRequest ( uchar bmRequestType; uchar bRequest; usbWord_t wValue; usbWord_t wIndex; usbWord_t wLength; ) usbRequest_t;

Erstellen wir eine Datei main.c auf derselben Ebene wie der Ordner usbdrv und beschreiben darin die erforderlichen Header-Dateien, Definitionen und Variablen:

#enthalten #enthalten #enthalten #include „usbdrv.h“ #define F_CPU 12000000L // MK-Frequenz #include #define DATA_OUT 1 // Befehl senden #define DATA_IN 2 // Befehl empfangen // Puffer static uchar ReplyBuf = "Hello World!"; static uchar dataLength = 0, dataReceived = 0;

In main.c überschreiben wir die Funktion usbFunctionSetup, die automatisch aufgerufen wird, wenn eine neue Anfrage eingeht:

USB_PUBLIC uchar usbFunctionSetup(uchar data) ( usbRequest_t *rq = (void *)data; switch(rq->bRequest) ( case DATA_OUT: // Verarbeiten Sie den Befehl zum Senden von Daten usbMsgPtr = ReplyBuf; // Geben Sie die Pufferrückgabegröße an von (replyBuf ); // Rückgabe der Puffergröße case DATA_IN: // Verarbeitung des Datenempfangsbefehls dataLength = (uchar)rq->wLength.word; // Länge abrufen dataReceived = 0; // Es wird viele Aufrufe von usbFunctionWrite geben if( dataLength > sizeof(replyBuf)) // Auf Überlauf prüfen dataLength = sizeof(replyBuf); return USB_NO_MSG; // Return 255 ) return 0; )

Wie Sie der Auflistung entnehmen können, besteht der einfachste Weg, Daten an einen Computer zu senden, darin, usbFunctionSetup auf den Wert des usbMsgPtr-Zeigers auf den RAM-Puffer (replyBuf) zu setzen, in dem sich die Daten befinden, und dann ihre Länge zurückzugeben. Die Puffergröße sollte 254 Byte nicht überschreiten. Für den ATtiny2313 mit seinen 128 Byte RAM reicht das aus. Für funktionsfähigere Geräte gibt es eine zweite Möglichkeit – das Überschreiben der usbFunctionRead-Funktion.

Um die Daten abzurufen, müssen Sie zunächst die Funktion usbFunctionSetup verwenden, um die Nachrichtenlänge aus dem wLength-Feld der Anforderung zu extrahieren und sie in der globalen Variablen dataLength zu speichern. Zweitens müssen Sie in main.c die Funktion usbFunctionWrite überschreiben, die die empfangenen Daten verarbeiten soll und automatisch (und natürlich mehrmals) aufgerufen wird, wenn usbFunctionSetup den Wert USB_NO_MSG (255) zurückgibt:

USB_PUBLIC uchar usbFunctionWrite(uchar *data, uchar len) ( uchar i; // Den empfangenen Teil der Daten in einem Puffer speichern for(i = 0; dataReceived< dataLength && i < len; i++, dataReceived++) replyBuf = data[i]; return (dataReceived == dataLength); }

Tatsächlich füllt die Funktion usbFunctionWrite den ReplyBuf-Puffer mit den empfangenen Daten.

Damit diese Methode funktioniert, müssen Sie übrigens Änderungen an usbconfig.h vornehmen:

#define USB_CFG_IMPLEMENT_FN_WRITE 1

Nun, die letzte Funktion der Firmware ist die Hauptfunktion:

Int main() ( usbInit(); // USB initialisieren usbDeviceConnect(); // Gerät verbinden sei(); // Interrupts aktivieren // In einer Endlosschleife auf Steuernachrichten warten while(1) usbPoll(); 0 zurückgeben ; )

Lassen Sie uns USART/UART verwenden

Eine gute Alternative zu Software-/Hardware-USB ist die Verwendung der beliebten USART/UART-Schnittstelle im Chip mit einem Drittanbieter-Konverter dieses Protokolls zu USB, der beispielsweise auf Basis des FT232RL-Chips hergestellt werden kann.

Libusb: weder bekleidet noch nackt

Sie fragen sich vielleicht: Müssen Sie einen Treiber für das Betriebssystem Ihres Computers schreiben, um ein USB-Gerät anzuschließen? Wenn Sie libusb verwenden, können Sie auf die Implementierung eines vollwertigen Kernelmoduls verzichten. Libusb ist eine Open-Source-Bibliothek, die es Ihnen ermöglicht, schnell zu programmieren, erstens nach einem Gerät am Bus zu suchen und zweitens Daten mit ihm auszutauschen.

Unter Linux können die Bibliothek und die notwendigen Header-Dateien aus den Quellcodes bezogen werden. Es ist besser, das Standard-Repository Ihrer Distribution zu verwenden. Für Debian/Ubuntu zum Beispiel so:

$ sudo apt-get install libusb-dev

Es gibt auch einen Libusb-Port für Windows – libusb-win32. Entgegen dem Projektnamen werden auch 64-Bit-Betriebssysteme von Microsoft unterstützt (ab Version 1.2.0.0).

Libusb ist jedoch ein separates Diskussionsthema. Ich denke, Sie sind mit der PC-Programmierung vertraut und können es selbst herausfinden. Deshalb werde ich mich kurz fassen. Erstellen Sie eine Datei usbtest.c und beginnen Sie, sie mit Inhalt zu füllen. Zuerst die notwendigen Header-Dateien und Definitionen:

#enthalten [...] // Für einen Computer ist die Bedeutung der Befehle umgekehrt, // aber die Bezeichnungen bleiben gleich #define DATA_OUT 1 #define DATA_IN 2

Die usbOpenDevice-Funktion zum Initialisieren des Geräts:

Usb_init(); // USB initialisieren usb_find_busses(); // Busse finden usb_find_devices(); // Geräte finden // Alle Busse auflisten for(bus=usb_get_busses(); bus; bus=bus->next) ( // Alle Geräte auf dem Bus aufzählen for(dev=bus->devices; dev; dev=dev- > weiter) ( // Wenn die Anbieter- und Produkt-IDs nicht übereinstimmen... if(dev->descriptor.idVendor != Vendor || dev->descriptor.idProduct != Produkt) continue; // ...überspringen Iteration // Versuchen Sie, ein Gerätehandle zu erhalten if(!(handle = usb_open(dev))) ( fprintf(stderr, "%s\n", usb_strerror()); continue; ) return handle; // Return handle ) ) // Gerät nicht gefunden return NULL;

Wie Sie sehen, sind die usbOpenDevice-Parameter die numerischen Kennungen des Herstellers und des Geräts. Wenn das Gerät am Bus vorhanden ist, wird sein Deskriptor zurückgegeben. Wenn sich mehrere Geräte auf V-USB befinden, müssen Sie eine Prüfung für die symbolischen Namen des Herstellers und des Produkts hinzufügen.

Und die Hauptfunktion des Konsolendienstprogramms usbtest:

Int main(int argc, char **argv) ( // Gerätedeskriptor usb_dev_handle *handle = NULL; int nBytes = 0; char buffer; // Suche nach dem Gerätehandle = usbOpenDevice(0x16C0, 0x05DC); if(handle == NULL) ( fprintf(stderr, "USB-Gerät konnte nicht gefunden werden!\n"); exit(1); ) // Argument out – Daten vom Chip abrufen if(strcmp(argv, "out") == 0) ( nBytes = usb_control_msg (handle, USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_ENDPOINT_IN, DATA_OUT, 0, 0, (char *)buffer, sizeof(buffer), 5000); printf("Habe %d Bytes: %s\n", nBytes, Puffer) ; // Argument in – Zeichenfolge senden (nächstes Argument) ) else if(strcmp(argv, "in") == 0 && argc > 2) ( nBytes = usb_control_msg(handle, USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_ENDPOINT_OUT, DATA_IN, 0, 0 , argv, strlen(argv)+1, 5000); ) if(nBytes< 0) fprintf(stderr, "%s\n", usb_strerror()); usb_close(handle); // Закрыть дескриптор return 0; }

Hier herrscht die Funktion usb_control_msg, die in der Include-Datei usb.h deklariert ist. Es verfügt über eine Reihe von Parametern und erstellt tatsächlich diese Steuernachrichten, deren Verarbeitung in der Mikrocontroller-Firmware implementiert ist.

Proteus ruht

Der beliebteste elektrische Schaltkreissimulator Proteus ISIS ist bei der Entwicklung softwarebasierter USB-Geräte nutzlos. Sein USB-Emulator unterstützt nur Chips mit Universal Serial Bus-Hardwareunterstützung (wie AT90USB646 oder AT90USB1286).

Wir montieren, flashen, testen

Unten ist ein kleines, aber sehr nützliches Makefile, mit dem Sie ganz einfach die Firmware für den Chip erhalten können – main.hex und die Binärdatei des Dienstprogramms usbtest, indem Sie den Befehl make von main.c und usbtest.c verwenden:

CC = avr-gcc OBJCOPY = avr-objcopy CFLAGS = -Wall -Os -Iusbdrv -mmcu=attiny2313 OBJFLAGS = -j .text -j .data -O ihex OBJECTS = usbdrv/usbdrv.o usbdrv/oddebug.o usbdrv/usbdrvasm .o main.o CMDLINE = usbtest # Ziel: Alles sammeln: main.hex $(CMDLINE) # Erstellen Sie ein Dienstprogramm für den Computer $(CMDLINE): usbtest.c gcc -I ./libusb/include -L ./libusb /lib /gcc -O -Wall usbtest.c -o usbtest -lusb # Löschen Sie das Projekt aus dem Binärcode. Bereinigen Sie: $(RM) *.o *.hex *.elf usbdrv/*.o # Abrufen der Firmware-Datei von Elf-Datei %. hex: %.elf $(OBJCOPY) $(OBJFLAGS) $< $@ # Сборка elf-файла main.elf: $(OBJECTS) $(CC) $(CFLAGS) $(OBJECTS) -o $@ # Сборка файлов библиотеки V-USB $(OBJECTS): usbdrv/usbconfig.h # C в объектный код %.o: %.c $(CC) $(CFLAGS) -c $< -o $@ # asm в объектный код %.o: %.S $(CC) $(CFLAGS) -x assembler-with-cpp -c $< -o $@

Um die Firmware mit dem USBtiny-Programmierer auf den Mikrocontroller hochzuladen, geben Sie den folgenden Befehl ein:

$ sudo avrdude -p t2313 -c usbtiny -e -U flash:w:main.hex:i -U lfuse:w:0xef:m

In avrdude sind die Sicherungseinstellungen nicht ganz klar, können aber leicht in einem der Online-Rechner berechnet werden.


Wir schließen das Gerät an den Computer an und prüfen, wie es funktioniert (usbtest mit dem Out-Parameter liest die Zeile, in - schreibt die angegebene Zeile in den Chippuffer):

$ sudo ./usbtest rein all_ok $ sudo ./usbtest raus

Ein Löffel Teer

Software-USB ist kein Allheilmittel. Softwareimplementierungen weisen in der Regel eine Reihe von Vereinfachungen auf, beispielsweise das Fehlen einer Überprüfung der Prüfsumme und der Kanalsymmetrie, was sich negativ auf die Störfestigkeit auswirkt. Außerdem verwenden Softwarebibliotheken normalerweise USB-Betriebsmodi mit niedriger Geschwindigkeit. Und der USB-Bibliothekscode frisst den ohnehin kleinen Speicher des Chips auf.

Werfen wir einen Blick...

Auf der logischen Ebene handelt es sich beim USB-Protokoll im Wesentlichen um eine mehrstufige Paketdatenübertragung. Mit dem Wireshark-Netzwerkprotokollanalysator lässt sich dies ganz einfach überprüfen (und gleichzeitig viel Interessantes über USB erfahren). Sie müssen zuerst den USB-Monitortreiber herunterladen:

$ sudo modprobe usbmon

Sie können jetzt USB-Busse aus der Wireshark-Schnittstellenliste auswählen. In den Protokollen können Sie beispielsweise die Gerätebusnummer einsehen.

Abschluss

Ich hoffe, dass, nachdem Sie gelernt haben, wie Sie Daten zwischen Ihrem Computer und dem AVR-Mikrocontroller übertragen, Ihre Leidenschaft für Elektronik mit neuer Kraft aufflammt und viele originelle und nützliche Geräte entstehen. Bleibt nur noch, Ihnen viel Erfolg in diesem schwierigen, aber interessanten Bereich zu wünschen.

Manchmal kommt es vor, dass Sie ein Flash-Laufwerk benötigen, es aber nicht zur Hand haben. Beispielsweise erfordern einige Buchhaltungs- und Berichtsprogramme ein externes Laufwerk. In einer solchen Situation können Sie ein virtuelles Speichergerät erstellen.

Mithilfe einer speziellen Software kann dies auf verschiedene Arten erfolgen. Schauen wir uns jeden von ihnen Schritt für Schritt an.

Methode 1: OSFmount

Dieses kleine Programm ist sehr hilfreich, wenn Sie kein Flash-Laufwerk zur Hand haben. Es funktioniert auf jeder Windows-Version.

Nachdem Sie das Programm heruntergeladen haben, gehen Sie wie folgt vor:



Für die Verwendung dieses Programms sind möglicherweise zusätzliche Funktionen erforderlich. Dazu müssen Sie den Artikel im Hauptfenster eingeben „Aktionen vorantreiben“. Dann können folgende Optionen genutzt werden:

  • Dismount – Bereitstellung des Volumes aufheben;
  • Format – Volume-Formatierung;
  • Medien schreibgeschützt festlegen – Aufnahme verbietet;
  • Extendsize – erweitert die Größe des virtuellen Geräts;
  • Savetoimagefile – wird zum Speichern im erforderlichen Format verwendet.

Methode 2: Virtuelles Flash-Laufwerk

Eine gute Alternative zur oben beschriebenen Methode. Beim Erstellen eines virtuellen Flash-Laufwerks können Sie mit diesem Programm die darauf befindlichen Informationen mit einem Passwort schützen. Dies hat den Vorteil, dass es auch in älteren Windows-Versionen funktioniert. Wenn Sie also eine Version von Windows XP oder niedriger auf Ihrem Computer haben, hilft Ihnen dieses Dienstprogramm dabei, schnell ein virtuelles Speichergerät auf Ihrem Computer vorzubereiten.

Anweisungen zur Verwendung dieses Programms sehen wie folgt aus:

  1. Laden Sie Virtual Flash Drive herunter und installieren Sie es.
  2. Klicken Sie im Hauptfenster auf die Schaltfläche „Neu montieren“.
  3. Es erscheint ein Fenster „Neues Volume erstellen“, geben Sie den Pfad zum Erstellen virtueller Medien darin an und klicken Sie auf "OK".


Wie Sie sehen, ist das Programm sehr einfach zu bedienen.

Methode 3: ImDisk

Dies ist eines der meisten beliebte Programme um eine virtuelle Diskette zu erstellen. Mithilfe einer Bilddatei oder eines Computerspeichers wird es erstellt virtuelle Festplatten. Wenn beim Laden Sondertasten verwendet werden, erscheint das Flash-Laufwerk als virtueller Wechseldatenträger.


Methode 4: Cloud-Speicher

Die Entwicklung der Technologie ermöglicht es, virtuelle Flash-Laufwerke zu erstellen und darauf Informationen im Internet zu speichern. Diese Methode ist ein Ordner mit Dateien, auf den ein bestimmter Benutzer von jedem mit dem Internet verbundenen Computer aus zugreifen kann.

Zu diesen Datenspeichern gehören Yandex.Disk, Google Drive und Mail.ru Cloud. Das Prinzip der Nutzung dieser Dienste ist dasselbe.

Schauen wir uns an, wie man mit Yandex Disk arbeitet. Mit dieser Ressource können Sie Informationen bis zu 10 GB kostenlos speichern.



Wenn Sie mit einem solchen virtuellen Speichermedium arbeiten, können Sie Ihre Daten vollständig verwalten: Sie können sie in Ordnern gruppieren, unnötige Daten löschen und sogar Links dazu mit anderen Benutzern teilen.

Was ist das und warum wird es benötigt?
Wenn das Radio in Ihrem Auto über einen Eingang für einen CD-Wechsler verfügt, können Sie einen ähnlichen Adapter daran anschließen. Das Radio täuscht es vor und denkt, dass ein Wechsler daran angeschlossen ist, und anstelle von Discs ein normales Flash-Laufwerk mit Musik wird verwendet. Der Adapter kann mit Standardmitteln gesteuert werden, einschließlich der Steuerung über das Lenkrad.

Auf Muska gab es bereits mehrere Testberichte zu ähnlichen Adaptern, der bekannteste ist der chinesische Yatour.

Ich habe mich für einen unkonventionellen Weg entschieden und mich für den russischen Trioma Flipper 2 entschieden.
Gesamtbewertung: ausgezeichnet, zufrieden mit dem Kauf, empfehlenswert.

Einzelheiten finden Sie weiter unten

Vorwort

Ich habe einen einfachen Wunsch: Ich möchte im Auto Musik hören. Im Radio ist nicht immer etwas Passendes dabei, ich bin es leid, einen Haufen CDs mit mir herumzutragen und sie ständig aufzunehmen.
In meinem Peugeot 407 2007 gibt es eine GU (Head Unit), später einfach Radio-Tonbandgerät genannt, ohne USB, Bluetooth und sogar ohne den üblichen AUX-Eingang.

Wenn Ihr Auto über ein normales Radio verfügt, das nicht mit der Steuerung irgendwelcher Funktionen des Autos verbunden ist, ist es am einfachsten, einfach ein neues Radio zu kaufen. Markenradio mit USB-Eingang kann innerhalb von hundert Euro gekauft werden. Es muss ein weiterer Betrag ausgegeben werden, damit es die Lenkradsteuerung versteht.

Sie können es hacken und einen AUX-Eingang (Audio) anschließen, benötigen aber weiterhin eine Tonquelle und müssen auf die Lenkradsteuerung verzichten.

Ich habe die Optionen mit FM-Sendern schon vor langer Zeit aufgegeben – ich habe ein paar verschiedene Sender ausprobiert, die Klangqualität war nicht sehr gut.

Es gibt noch eine andere Möglichkeit: Schließen Sie am Eingang des CD-Wechslers einen Adapter an das Radio an, mit dem Sie Musik von Flash-Laufwerken hören können, indem Sie den Adapter mit den Standardmitteln des Radios, auch vom Lenkrad aus, steuern. Ähnliche Adapter finden Sie bei verschiedene Hersteller mit unterschiedlichen Parametern und unterschiedlicher Qualität, Zuverlässigkeit, Komfort oder Preis.
Der bekannteste Adapter ist Yatour. Am coolsten ist vielleicht der amerikanische Grom Audio, der unter anderem FLAC abspielt. Nun, es gibt noch ein paar weitere Geräte – Audiolink, Xcarlink, DMC, Dension.

Als erstes fing ich an, mir Yatour anzuschauen. Bei Ali kostet es ab 50 $. Doch Rezensionen im Internet dämpften die Begeisterung ein wenig. Der Adapter verfügt über einen linearen Ausgang mit festem Pegel, sodass bei vielen Radios der Lautstärkepegel deutlich niedriger ist als beim Radio. Manchmal instabiler Betrieb, friert ein, das Vorhandensein fremder Dateien auf dem Flash-Laufwerk ist kritisch. Anzahl der unterstützten Verzeichnisse – wie viele Festplatten das Radio unterstützt, in meinem Fall sind es 6.

Yatour verfügt über keine offizielle Website; die Websites von Yatour im Internet sind Verkäufer-Websites. Und die Informationen müssen Stück für Stück an unterschiedlichen Stellen gesammelt werden, meist schreiben die, die es selbst eingebaut haben, zurück, aber ihre Erfahrungen passen nicht immer zu Ihrem Radio.
Aber ich hatte Glück, ich stieß auf einen weißrussischen Verkäufer, Yatour Sergei alias SSD, der alle meine Fragen beantwortete, einschließlich der Funktionen der Arbeit mit meinem Radio.
Im Allgemeinen funktioniert es, es kann jedoch zu Problemen mit der Lautstärke und einem instabilen Betrieb kommen. Durch Sergei hörte ich zum ersten Mal von Grom Audio und Triome, die er auch verkauft.

Grom Audio auf Android unterstützt FLAC, aber es gibt kein Modell für mein Auto.

Aber Trioma Flipper 2 hat mich interessiert. Zunächst einmal die Möglichkeit, den Ausgangspegel (Lautstärke) anzupassen. Darüber hinaus verfügt es über eine viel komfortablere Ordnerorganisation und es können viel mehr davon vorhanden sein. Und es ist viel weniger fehlerhaft.
Von geliehen guter Tisch Vergleiche zwischen Yator und Trioma


Klarstellung zu Yaturs:
1. Überflüssige Dateien beeinträchtigen die Wiedergabe nicht. Zumindest bei einigen Firmwares.

Also habe ich meine Wahl getroffen. Trioma!!!
Achten Sie beim Kauf eines solchen Adapters darauf, dass Sie ein Modell für Ihr Auto auswählen. Genauer gesagt, unter dem Autoradio Ihres Autos. Verschiedene Radios verfügen möglicherweise über unterschiedliche Anschlüsse für den Wechsler, die nicht miteinander kompatibel sind.

Wo kann ich Trioma kaufen?

Auf der Website des Herstellers gibt es Orte, an denen Trioma-Produkte verkauft werden. Der Kauf eines Adapters in Russland oder Weißrussland ist problemlos möglich. Und in Europa, wo es für mich einfacher ist einzukaufen und ich keine Zollabfertigung durchlaufen und keine Mehrwertsteuer zahlen muss, sind die Preise doppelt so hoch, ab 120 Euro ohne Versandkosten.

Ich suchte nach Freunden, die mir einen Adapter aus Russland oder Weißrussland mitbringen könnten. Gefunden!!! Ich habe einen Freund aus Russland gefunden, der mir Anfang Februar einen Adapter bestellt und mir bereits gebracht hat! Oleg, danke!

Und hier ist der Adapter bei mir zu Hause!



Das Kit enthält den Adapter selbst, ein Kabel zum Anschluss an das Radio und ein USB-Kabel.
Die Länge des Kabels zum Anschluss an das Radio beträgt nur 40 cm, was sofort Einschränkungen bei der Platzierung des Adapters im Auto mit sich bringt – er muss direkt hinter dem Radio platziert werden, man kommt damit nicht einmal ins Handschuhfach .
Der Adapter hat etwa die Größe einer Zigarettenschachtel. Eine einfache Kunststoffbox mit hervorstehendem Kabel zum Anschluss von Geräten oder einem AUX-Kabel. Nachdem ich den Adapter jedoch an das Radio angeschlossen habe, wird es niemand anderes sehen.
Zusätzlich habe ich ein AUX-Kabel mit Miniklinke am Ende genommen (+500r)


Noch ein paar Fotos

Anschluss zum Anschluss weiterer Geräte, AUX-Kabel oder Bluetooth-Adapter


Mama am Adapter


Papa am Kabel


Anschluss für Radio RD4


Nicht öffnen, Garantie


Installation

Radio-Tonbandgerät RD4, lösen Sie die beiden Sechskantschrauben und nehmen Sie das Radio-Tonbandgerät heraus.

Auf der Rückseite sind zwei passende Anschlüsse, einer davon funktioniert nicht - überprüft ;)
Das Foto zeigt den benötigten Stecker. Die Verkabelung zum Anschluss des Wechslers ist bereits vorhanden, also ziehen wir den installierten Stecker heraus und schalten unseren ein.


Wir verbinden das Kabel mit dem Adapter, schalten die Zündung ein und Wunder – alles hat sofort funktioniert!!! Darüber hinaus entspricht die Lautstärke in etwa der der eingebauten CD.

Aber dann beginnen wir darüber nachzudenken, wo wir das USB-Kabel anschließen sollen. In meinem Fall erwies es sich als einfachste Lösung, das Kabel unter dem Lenkrad in das kleine Handschuhfach links vom Fahrer zu verlegen.


Der Adapter selbst wurde in einer Nische hinter der linken Seite des Radios untergebracht. Dort ist nicht viel Platz, nach dem Einbau des Radios wurde der Adapter dort mit Kabeln festgeklemmt, so dass eine zusätzliche Befestigung des Adapters nicht nötig war.

In allen Foren schreiben sie, dass das Radio die Aktivierung des Wechslers im Dienst erfordert. Für mich war alles viel einfacher. Nach dem Einschalten stellte das Radio selbst fest, dass ein Wechsler angeschlossen war und es wurde möglich, diesen über den Eingabeschalter (Radio/CD/Wechsler) auszuwählen.
Wie sich herausstellte, ist eine Aktivierung nicht für das Radio, sondern für das Display erforderlich, damit es Informationen für den Wechsler wiedergeben kann.
Aber vor einem halben Jahr haben ich und die Chinesen, gut gemacht, ein Display mit allen aktivierten Funktionen geschickt. Bei mir hat also alles ohne zusätzliche Aktivierung funktioniert.

Adapterbetrieb

Tonqualität. Vergleichbar mit einem CD-Player. Die Standardakustik im Auto ist eher mittelmäßig, so dass man den Unterschied zum Standard-CD-Player in meinem Auto definitiv nicht hören wird.
Schaltgeschwindigkeit. Weniger als ein paar Sekunden nach dem Einschalten der Zündung auf einem Flash-Laufwerk mit ein paar Dutzend Katalogen. In den Foren schreiben sie, dass bei mehreren hundert Verzeichnissen die Geschwindigkeit geringer sei. Der Adapter merkt sich, wo er vor dem Ausschalten abgespielt wurde, und beginnt an derselben Stelle mit der Wiedergabe. Diese Eigenschaft ist für diejenigen wertvoll, die gerne Hörbücher hören. Der Adapter merkt sich den Speicherort der letzten 4 Flash-Laufwerke/
Gleise wechseln. Im Bruchteil einer Sekunde macht es keinen Unterschied, ob sich der Titel im gleichen oder einem anderen Verzeichnis befindet. Beim Umschalten entstehen keine Nebengeräusche.
Ersetzen eines Flash-Laufwerks. Nehmen Sie bei laufendem Radio das Flash-Laufwerk heraus und setzen Sie ein neues ein. Es wird innerhalb weniger Sekunden erkannt und beginnt sofort mit der Wiedergabe. Beim Austausch kann ein sehr leiser kurzer Triller ertönen.

Der Adapter versteht 32 Verzeichnisse, die 32 Unterverzeichnisse haben können, die jeweils bis zu 99 Dateien enthalten können. Mir wurde aber bald klar, dass mein Disc-Schalter nur die ersten sechs Discs umschaltet. Obwohl im Zufallsmodus der Adapter alle Verzeichnisse sieht.

Ich habe im Trioma-Forum eine Frage gestellt, der Support hat sehr schnell geantwortet und Optionen zum Organisieren von Verzeichnissen angeboten. Das Problem bestand darin, dass die Tasten beim RD4 zwar die Disc+/Disk--Funktion ausführen, in Wirklichkeit jedoch Befehle zur direkten Auswahl der Festplatten 1-6 an den Adapter senden. Diese Schaltflächen können also nur 6 Stammverzeichnisse oder 6 Unterverzeichnisse wechseln.
Und es ist nicht möglich, 1024 Verzeichnisse auf meinem Radio zu verwalten. Sie können nur 32*6=192 Verzeichnisse verwalten;)

In der Beschreibung heißt es, dass die FF/FR-Tasten eine Doppelfunktion erfüllen – Verzeichnisse/Unterverzeichnisse wechseln und zurückspulen.
Aber beim RD4 sind Track+/Track- mit FF/FR kombiniert und für den Adapter haben diese Tasten einen dreifachen Zweck:
1. Kurz drücken – Track+/Track-
2. 2-3 Sekunden lang drücken und dann loslassen Der Ton verschwindet vom aktuellen Titel - Verzeichnis wechseln
3. Langes Drücken >3 Sekunden, es ertönt ein beschleunigter gedämpfter Ton – Zurückspulen
Die Zeit ist ungefähr, Sie müssen sich auf den Ton konzentrieren

Schon vor dem Kauf ging ich davon aus, dass ich ein großes Megaflash-Laufwerk mit Hunderten von Katalogen speichern würde. Aber jetzt sehe ich, dass es bequemer ist, mehrere Flash-Laufwerke mit unterschiedlichen Auswahlmöglichkeiten zu haben.
Ich habe jetzt das:
1. Russische Popmusik der 80er-90er Jahre
2. Ausländische Popmusik der 80er-90er Jahre
3. Instrumentalstücke

Gesamt. Für relativ wenig Geld habe ich einen störungsfreien Adapter mit guter Klangqualität und einfacher, intuitiver Steuerung bekommen. Ich bin sehr zufrieden mit dem Kauf, Trioma – gut gemacht!!!

Zusätzliche Links

Mini-FAQ

Einige Fragen blieben außerhalb dieser Rezension; ich habe beschlossen, sie in einer separaten Minifak aufzunehmen. Auch Fragen, die hier in den Kommentaren auftauchen, werde ich ergänzen.
  • Was muss getan werden, damit die Namen (Dateinamen, Tags oder irgendetwas anderes) auf dem Display angezeigt werden?
  • Triom-Adapter „sehen“ Tags, Dateinamen und Ordnernamen mit Sicherheit. Sie zeigen nach Möglichkeit Textzeichenfolgen auf den Standarddisplays von Radios an: BMW und alle Fahrzeuge mit optischem MOST-Bus. Vielleicht wird die Textausgabe bald für einige Toyota/Lexus-Geräte implementiert.
  • CD-Wechsler erledigen den Job ohne Probleme.
  • Ich fürchte, Sie irren sich: Außer den oben aufgeführten Modellen kennen wir keine externen Wechsler, die diese Aufgabe bewältigen. Anders verhält es sich mit den in die Headunit eingebauten Wechslern, bei denen der Text direkt an den Display-Controller ausgegeben wird – das ist ein ganz anderer Mechanismus.
  • Ist es möglich, zusätzliche Geräte an den Trioma Flipper 2-Adapter anzuschließen?
  • Sie können entweder ein AUX-Miniklinken-3,5-Stecker-Adapterkabel an den Adapter anschließen
Ich habe vor, +23 zu kaufen Zu den Favoriten hinzufügen Die Rezension hat mir gefallen +21 +46

11

Ich habe eine Linux-Anwendung, für die ich einige Tests automatisieren möchte, und deren Status sich basierend auf dem Status bestimmter Geräte ändern muss, z. B. USB-Geräte, WLAN-Geräte, WAN-Geräte. Da wir jedoch keine physischen USB-, WLAN-, WAN- usw. Geräte mehr haben, muss ich einen Weg finden, dieses Programm zu testen, ohne tatsächlich eine Verbindung herzustellen physische Geräte, Ein-/Ausschalten usw.

Ich beginne mit einfache Erstellung ein virtuelles USB-Gerät, das ich vom Userspace aus steuern kann, aber es gibt einen grundlegenden Mangel an Wissen meinerseits, der mich daran hindert, ähnliche Threads in diesen Foren zu übernehmen und sie auf mein Projekt anzuwenden. Ich habe das Gefühl, dass ich eine Art virtuellen USB-Treiber erstellen und ihn dann mit einem Programm auf Benutzerebene verknüpfen muss, nicht mit usbfs. Aber selbst wenn ich diesen virtuellen Treiber erstelle, wie „mounte“ ich dieses Gerät aus dem Benutzerbereich und lasse mein Programm bei diesem spezifischen Treiber registrieren? Ist das, was ich versuche, überhaupt möglich?

  • 2 Antworten
  • Sortierung:

    Aktivität

0

Können Sie die Anwendung nicht in einer virtuellen Umgebung mit VMWare testen? Anschließend können Sie jedes virtuelle Gerät auf Ihrem Computer mit dem Gast „verbinden“. virtuelle Maschine und testen Sie die Anwendung auf diese Weise.

8

Der beste Weg ist, Treiber und Hardware für Linux-Gadgets zu verwenden, die es Ihnen ermöglichen, ein USB-Gerät zu sein. Der Gadget-Treiber ermöglicht es dem Computer, so zu tun, als wäre er ein beliebiges Gerät. Dann verfügt Ihr zu testendes System über eines USB-Kabel OTG für Gadget. Sie müssen nicht einmal das Kabel abziehen, wenn Ihr Gerät über die richtige Hardware verfügt. Die „Gadget-Box“ kann sich auf Ihrem Desktop/Laptop befinden Linux-Steuerung(sofern es USB OTG unterstützt) oder sogar ein Android-Telefon oder Raspberry Pi. (Achten Sie darauf, dass sich USB-Kabel herausziehen. Nur weil das Kabel passt, heißt das nicht, dass es richtig mit dem USB-OTG verbunden ist.)

Sobald Sie die USB-OTG-Hardware aktiviert haben, sind alle Gadget-Boxen verfügbar Software:

1) Wenn das zu testende Gerät OTG unterstützt, stellen Sie sicher, dass Ihr Gerät dies nicht versucht und kein USB-Host ist. (Dann wird Ihr Testgerät zum USB-Client.) D.h. Stellen Sie sicher, dass Dinge wie usb_storage nicht automatisch geladen werden.

2) Der Kernel unterstützt Gadgets für USB-Hubs, USB-Ethernet, USB-serielle Ports und USB-Speichergeräte. Laden Sie einfach die erforderlichen Module in Ihr Gadget und es „funktioniert einfach“. Um beispielsweise ein USB-Laufwerk zu erstellen, gehen Sie etwa so vor: „insmod g_file_storage.ko file=/dev/ram0“. Die andere Seite wird denken, Sie hätten ein USB-Laufwerk angeschlossen.

Bei seriellen Geräten kann das Gadget im User-Space-Code ausgeführt werden, der „den Hörer abnimmt“ zu „/Dev/USBx“ und mit dem zu testenden Gerät kommuniziert. (Emuliert offenbar ein 4G-Modem oder ein anderes.)

Unzählige Geräte sind unter der Haube wirklich „USB-zu-seriell“, weil der Hersteller zu faul war, USB zu verstehen.

3) Mit ein wenig Neukompilierung oder Konfiguration können Sie diese universellen Geräte für Gadget, ID oder Rückgabe verwenden verschiedene Saiten Lieferanten usw. Es wird nicht dasselbe sein wie „Testen in der Realität“. Hardware", aber Sie testen zumindest die Standardversion dieser Geräte.

4) Bei Gerätetypen, die noch nicht im Kernel vorhanden sind (wie WLAN oder was auch immer), sind Sie auf sich allein gestellt. Mit genügend Blut, Schweiß und Tränen können Sie Ihr eigenes Gadget schreiben. (Idealerweise so viel wie möglich im Benutzerbereich verwenden und nur kritische Komponenten im Kernel verarbeiten.)



Freunden erzählen