Datorā izveidojam virtuālo USB disku. Virtuālā USB zibatmiņas diska izveide datorā Izveidojiet emulatoru usb ierīcei zem Windows

Olofa Lagerkvista projekts ir lieliska programma disku emulēšanai, taču, tā kā diski var atdarināt visus, ne visi var lepoties ar USB zibatmiņas diska vai disketes izveidi. Diski tiek veidoti virtuālajā atmiņā, fiziski tos var izlādēt failu attēlos. Pēc instalēšanas programma ir pieejama no datora vadības paneļa.

Noklikšķiniet uz "OK", viss virtuālais attēls ir gatavs.

Attēls
Attēlu var saglabāt un uzstādīt pēc vajadzības. Kur tas noder? Piemēram, slinks, jūs varat augšupielādēt CryptoPro sertifikātus šādā virtuālajā zibatmiņā.)) Vai arī izmantojiet to kā disku RAM, lai saglabātu kešatmiņu, peidžeru failu un citas lietas.
Ir arī alternatīva GUI -

Automātisks savienojums:
atbalss izslēgts
rem to autoload automātiskai montāžai
c: \ WINDOWS \ system32 \ imdisk.exe -a -f "% PROGRAMFILES% \ flash.img" -m f: -o rem

Dažas komandrindas opcijas:

imdisk.exe -e -s 300M -m B: - palielināt disku B par 300 MB

imdisk -a -t fails -o ro -m y: -f C: \ Boot.img- pievienojiet Boot.img attēlu ar Y disku, tikai lasāms

imdisk -a -t fails -m y: -f C: \ Boot.img- uzstādiet Boot.img attēlu ar disku Y, tikai lasāms/rakstīšanas

imdisk -d -m y: - atvienojiet disku Y

imdisk -a -s 150M -m #: -p "/ fs: ntfs / y / q / v: imdisk- izveidot disku ar izmēru 150 MB, pirmais diska burts ir brīvs, formatējums NTFS, imdisk diska etiķete

imdisk -a -s 10% -m #: -p "/ fs: ntfs / y / q / v: imdisk- tāds pats kā iepriekšējais, tikai lielums ir norādīts kā 10 procenti brīvās atmiņas.

imdisk -a -s -500M -m #: -p "/ fs: ntfs / y / q / v: imdisk- tāds pats kā iepriekšējais, tikai lielums ir norādīts ar mīnusa zīmi, tas ir, vienāds ar brīvās atmiņas apjomu mīnus norādītais izmērs. Ar 1200 MB brīvas atmiņas diska izmērs kļūs 1200-500 = 700 MB

imdisk.exe -a -t starpniekserveris -o ip -f 127.0.0.1:80 -m Z:- izmantot ar serveri, atrasts internetā, patiesībā nepārbaudīja.

A - Wirt savienojums. disks.

D - atspējot virtuālo. disks.

E - rediģēšana virtuālā. disks.

_________________________

B - norādiet nobīdi, tas ir, datu sākumu diskā, ir norādīts diskiem, kas izveidoti dažādās programmās, kuru attēlos failā ir jāizlaiž sākotnējie atribūti.

S ir virtuālā diska izmērs. Lielums ir baitu skaits, ja nav pievienots sufikss a (automātiski), b (512 baitu bloki), k (tūkstoš baitu), m (miljoni baitu), g (miljardi baitu), t (triljoni baitu), K (kilobaiti), M (megabaits), G (gigabaits) vai T (terabaits). Tūkstošiem baitu un kilobaitu atšķiras ar to, ka kilobaitā ir 1024 baiti, nevis 1000. Piemēram. -s 150M vai -s 10% - 10 procenti brīvās atmiņas. Parametrs -500M - ar mīnusa zīmi definē izveidotā diska izmēru kā brīvās atmiņas apjomu mīnus norādītais izmērs.

O — iestatīt opcijas, attiecas kopā ar tālāk norādītajām opcijām

ro - tikai lasāms

rw - lasīt / rakstīt

rem - instalējiet kā noņemamu disku (zibatmiņas disku). Tas nosaka diska īpašības, kešatmiņu un daudz ko citu.

labot — iestatīt kā pastāvīgu, fiksētu disku (pretstatā rem)

cd - izveidojiet virtuālo CD-ROM / DVD-ROM.

fd - izveidojiet disketi. Noklusējums izmēriem 160K, 180K, 320K, 360K, 640K, 720K, 820K, 1200K, 1440K, 1680K, 1722K, 2880K, 123264K vai 23472K.

hd - izveidojiet cieto nodalījumu.

ip - parametrs savienojuma izveidei ar starpniekserveri.

comm - savienojas ar atmiņas serveri, izmantojot COM portu.

________________

M — definē diska burtu. Piemēram, -m B: vai -m y: vai -m #: ir pirmais brīvais diska burts.

F - faila nosaukums virtuāls. disks, piemēram, -f C: \ Boot.img vai -f \\ server \ share \ image.bin vai -F \ Ierīce \ Cietais disks0 \ Partition1 \ image.bin- pēdējais, kad diska burts nav piešķirts, un noteikšana pēc cietā skaitļa, nodalījuma (loģiskā diska) numurs un pēc tam reālais ceļš.

Dažādu, uz mikrokontrolleru bāzes veidotu ierīču izstrāde ir īsta datoru gīča cienīga nodarbošanās. Neapšaubāmi, jebkura sīkrīka noderīga funkcija būs USB interfeiss savienojuma izveidei ar datoru. Bet ko darīt, ja AVR mikroshēmai nav USB aparatūras atbalsta?

V-USB: izmēram ir nozīme

Izstrādājot savu sīkrīku, jūs bieži saskaraties ar problēmu, kas saistīta ar tā savienošanu ar datoru. Jāsaka, ka LPT un COM pieslēgvietas tagad ir eksotika PC mātesplatēs, nemaz nerunājot par portatīvajiem datoriem, kuriem šīs saskarnes jau sen pazuda. Tāpēc mūsdienu datoriem praktiski nav alternatīvu USB interfeisam.

Ja mikroshēmas resursi tiek izmantoti simtprocentīgi, tad labāk nekavējoties meklēt ierīces ar aparatūras atbalstu universālajai seriālajai kopnei (šādi mikrokontrolleri ir jebkura ražotāja rindā). Citos gadījumos varat izmantot programmatūras USB.

Atmel mikrokontrolleriem ir brīnišķīgs V-USB projekts, kas piedāvā zema ātruma USB 1.1 ierīces programmatūras ieviešanu. V-USB kods darbosies jebkurā AVR ierīcē, kurai ir vismaz 2 KB zibatmiņa un 128 baiti RAM, ar pulksteni 12; 12,8; 15; 16; 16,8 vai 20 MHz.

Produkta lietošana ir iespējama gan ar atvērtā koda GPL licenci, gan uz komerciāliem pamatiem. Lai izstrādātu savas USB ierīces, parasti ir jāiegādājas arī kaut kas, piemēram, licence. Bet puiši no V-USB arī par to parūpējās, iegādājoties pāri pārdevēja ID — produkta ID un ļaujot tos izmantot ikvienam.

Aparatūras savienojums USB kopnes pievienošanai mikrokontrollerim ir ļoti vienkāršs. Ja ierīce nepatērē pārāk daudz, tad to var barot tieši no kopnes (tiek uzskatīts, ka datora USB barošanas līnija spēj piegādāt strāvu līdz 500 mA). Tā kā datu līnijās (D + un D–) tiek izmantots 3,6 V signāla līmenis, izņemot strāvu ierobežojošos rezistorus, ir nepieciešamas Zenera diodes, lai saskaņotu mikroshēmas 5 V loģiku. Lai norādītu savienojuma veidu, jums ir "jāpievelk" barošanas spriegums caur pretestību 1,5 kOhm uz līniju D–.

Alternatīva iespēja savienošanai pārī, izmantojot USB, ir samazināt kontroliera barošanas spriegumu, izmantojot atbilstošu stabilizācijas mikroshēmu vai tikai diožu pāri. Jaunāko shēmu var atrast V-USB projekta vietnē.

USBtiny programmētājs

AVR mikrokontrolleriem ir pieejami daudzi dažādi programmētāji. USBtiny šeit ir minēts daļēji, jo tajā ir USB programmatūras ieviešana, kas ir līdzīga V-USB. Šī programmētāja shēma ir vienkārša: 2. versijā ir divas mikroshēmas, un pirmajā versijā ir tikai viena (pats ATtiny2313 mikroshēma). Pateicoties detalizētam aprakstam mājaslapā un vienkāršiem piederumiem, ierīci ir viegli izgatavot pat iesācējam. USBtiny ir saderīgs ar populāro avrdude programmu, ko izmanto AVR mikrokontrolleru programmēšanai.

Vienīgā problēma ir programmaparatūras ielāde programmētāja mikroshēmā - šim nolūkam ir nepieciešams ... programmētājs. Ja jums ir dators ar LPT pieslēgvietu, varat izveidot vienu no FBPRG opcijām aka "pieci vadi", kas ir

Ragavu sagatavošana

Programmatūras rīki, kas nepieciešami vienkāršākās USB sīkrīka programmaparatūras ieviešanai, ir ārkārtīgi askētiski: gcc-avr kompilators, avr-libc bibliotēka, avrdude programmētājs un AVR iestatītie binutils. Debian / Ubuntu viss nepieciešamais ir instalēts ar vienu komandu:

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

Plašajos interneta plašumos ir viegli atrast ļoti detalizētu rokasgrāmatu par V-USB un libusb (angļu valodā). Saskaņā ar rokasgrāmatu, lai projektam pievienotu USB atbalstu, ir nepieciešama usbdrv mape no arhīva ar jaunāko V-USB versiju. Šīs mapes saknē ir usbconfig-prototype.h konfigurācijas veidne. Jums ir jāizveido šī faila kopija un jāpiešķir tam nosaukums usbconfig.h. Tālāk - labojiet usbconfig.h, norādot portu (D), kura līnijas tiks izmantotas I / O, tieši līniju numurus D + (2) un D– (3), kā arī frekvenci (12 MHz). ), kurā darbojas mikroshēma (ATtiny2313):

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

Lai izmantotu V-USB ierīces licenci, ražotājs un ierīces ciparu ID nav jāmaina. Bet simboliskos nosaukumus var izvēlēties pēc saviem ieskatiem (tie atšķirs vairākas vienam datoram pievienotas V-USB ierīces):

#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", "" , "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

Dažādi sīkrīki

Vai jums ir kāda ideja par ierīci? Nesteidzies lodēt un kodēt, bet paskaties, varbūt kāds tāds jau ir izdarījis. Ja nevar izmantot gatavas shēmas un avotus, tad vismaz nebūs jāsāk no nulles.

Piemēram, V-USB projekts, pateicoties savai licencēšanas politikai, ir uzkrājis pienācīgu gatavu (tostarp bezmaksas izplatīšanas) risinājumu bāzi. Šeit var atrast dažādas tastatūras implementācijas, USB adapterus kursorsvirām, spēļu paneļiem (ieskaitot retos, piemēram, SNES / NES, Nintendo 64, ZX Spectrum kursorsviru, Sony PlayStation 1/2) un tamlīdzīgi. DMX adapteri, virtuālie COM un UART porti, i2c, Servo, DCF77, IR bezvadu saskarnes – viss, kas palīdzēs pieslēgt datoram vairāk jaunu ierīču. Saimniecībā var noderēt arī mežizstrādātāji, platformas sensoriem un sensoriem, adapteri LCD displejiem, programmētāji un iekrāvēji.

Programma čipam ir elementāra!

Sazinoties, izmantojot USB kopni, dators ir galvenā ierīce, kas periodiski nosūta vadības pieprasījuma ziņojumus. Kontrolieris attiecīgi ir vergs, un tam ir jāatbild uz pieprasījumiem. Vadības ziņojuma formātu nosaka usbRequest_t struktūra no faila usbdrv.h:

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

Izveidosim main.c failu tādā pašā līmenī kā usbdrv mape un aprakstīsim tajā nepieciešamos galvenes failus, definīcijas un mainīgos:

#iekļauts #iekļauts #iekļauts #include "usbdrv.h" #define F_CPU 12000000L // MK frekvence #include #define DATA_OUT 1 // Sūtīt komandu #define DATA_IN 2 // Saņemt komandu // Bufer static uchar replyBuf = "Sveika pasaule!"; statiskā uchar dataLength = 0, saņemtie dati = 0;

Vietnē main.c ignorējiet funkciju usbFunctionSetup, kas tiek automātiski izsaukta, kad tiek saņemts jauns pieprasījums:

USB_PUBLIC uchar usbFunctionSetup (uchar dati) (usbRequest_t * rq = (neesošs *) dati; slēdzis (rq-> bRequest) (case DATA_OUT: // Apstrādāt datu sūtīšanas komandu usbMsgPtr = replyBuf; // Norādiet bufera atgriešanas lielumu (/replyBuf); / Atgriezt bufera gadījuma lielumu DATA_IN: // Datu saņemšanas komandas apstrāde dataLength = (uchar) rq-> wLength.word; // Iegūstiet datu garumuReceived = 0; // Būs daudz izsaukumu uz usbFunctionWrite, ja (dataLength> sizeof (replyBuf)) // Pārpildes pārbaude dataLength = sizeof (replyBuf); return USB_NO_MSG; // Return 255) return 0;)

Kā redzat no saraksta, vienkāršākais veids, kā nosūtīt datus uz datoru, ir iestatīt usbFunctionSetup uz RAM bufera (replyBuf) rādītāja vērtību usbMsgPtr, kurā atrodas dati, un pēc tam atgriezt tā garumu. Bufera lielums nedrīkst pārsniegt 254 baitus. ATtiny2313 ar 128 baitu operatīvo atmiņu ar to pietiek. Funkcionālākām ierīcēm ir otrs veids - usbFunctionRead funkcijas ignorēšana.

Lai iegūtu datus, vispirms ir jāizņem ziņojuma garums no pieprasījuma lauka wLength funkcijā usbFunctionSetup un jāsaglabā globālajā mainīgajā dataLength. Otrkārt, vietnē main.c ir jāignorē funkcija usbFunctionWrite, kas paredzēta saņemto datu apstrādei un tiek automātiski izsaukta (un acīmredzami vairākas reizes), ja usbFunctionSetup atgriež USB_NO_MSG (255):

USB_PUBLIC uchar usbFunctionWrite (uchar * dati, uchar len) (uchar i; // Saglabājiet saņemto datu daļu buferī priekš (i = 0; dataReceived< dataLength && i < len; i++, dataReceived++) replyBuf = data[i]; return (dataReceived == dataLength); }

Faktiski funkcija usbFunctionWrite aizpilda replyBuf buferi ar saņemtajiem datiem.

Starp citu, lai šī metode darbotos, ir jāveic izmaiņas usbconfig.h:

#define USB_CFG_IMPLEMENT_FN_WRITE 1

Pēdējā programmaparatūras funkcija ir galvenā:

Int main () (usbInit (); // Inicializēt USB usbDeviceConnect (); // Savienot ierīci sei (); // Atļaut pārtraukumus // Gaidiet vadības ziņojumus bezgalīgā ciklā, kamēr (1) usbPoll (); atgriež 0; )

Izmantojot USART / UART

Laba alternatīva programmatūras / aparatūras USB ir populārā USART / UART interfeisa izmantošana mikroshēmā ar šī protokola trešās puses pārveidotāju uz USB, ko var izdarīt, piemēram, pamatojoties uz FT232RL mikroshēmu.

Libusb: ne ģērbies, ne kails

Jūs jautājat: vai ir jāraksta draiveris datora operētājsistēmai, lai pievienotu USB ierīci? Ja izmantojat libusb, varat iztikt bez pilnvērtīga kodola moduļa ieviešanas. Libusb ir atvērtā koda bibliotēka, kas ļauj ātri programmēt, pirmkārt, atrast ierīci kopnē, otrkārt, apmainīties ar datiem.

Linux sistēmā bibliotēku un nepieciešamos galvenes failus var iegūt no pirmkodiem. Labāk izmantot sava izplatīšanas standarta repozitoriju. Piemēram, Debian / Ubuntu, piemēram:

$ sudo apt-get instalēt libusb-dev

Ir arī libusb ports operētājsistēmai Windows - libusb-win32. Pretēji projekta nosaukumam tiek atbalstītas arī 64 bitu operētājsistēmas no Microsoft (sākot no versijas 1.2.0.0).

Bet libusb ir atsevišķa sarunu tēma. Es domāju, ka jūs esat iepazinies ar datoru programmēšanu un varat to izdomāt pats. Tāpēc es runāšu īsi. Izveidojiet failu usbtest.c un sāciet aizpildīt to ar saturu. Pirmkārt, nepieciešamie galvenes faili un definīcijas:

#iekļauts [...] // Datoram komandu nozīme ir apgriezta, // bet apzīmējumi paliek tie paši #define DATA_OUT 1 #define DATA_IN 2

UsbOpenDevice funkcija, lai inicializētu ierīci:

Usb_init (); // Inicializēt USB usb_find_busses (); // Atrast autobusus usb_find_devices (); // Atrast ierīces // Iet cauri visām kopnēm for (bus = usb_get_busses (); bus; bus = bus-> next) (// Iet cauri visām kopnes ierīcēm, kas paredzētas (dev = kopne-> ierīces; dev; dev = dev-> next) (// Ja piegādātāja un produkta ID nesakrīt... if (dev-> deskriptor.idVendor! = vendor || dev-> deskriptor.idProduct! = produkts) turpināt; // ... izlaist šī iterācija // Mēģiniet iegūt ierīces deskriptoru if (! (Handle = usb_open (dev))) (fprintf (stderr, "% s \ n", usb_strerror ()); turpināt;) atgriešanas rokturis; // Atgriezt deskriptoru )) // Ierīce netika atrasta return NULL;

Kā redzat, usbOpenDevice parametri ir ražotāja un ierīces ciparu identifikatori. Ja ierīce atrodas kopnē, tiek atgriezts tās deskriptors. Ja V-USB ir vairākas ierīces, jums būs jāpievieno pārdevēja un produkta simbolisko nosaukumu pārbaude.

Un galvenā usbtest konsoles utilīta funkcija:

Int main (int argc, char ** argv) (// Ierīces rokturis usb_dev_handle * rokturis = NULL; int nBytes = 0; char buffer; // Meklējam ierīces rokturi = usbOpenDevice (0x16C0, 0x05DC); if (handle == NULL ) (fprintf (stderr, "Nevarēja atrast USB ierīci! \ n"); iziet (1);) // Out arguments — iegūt datus no mikroshēmas if (strcmp (argv, "out") == 0) (nBytes = usb_control_msg (rokturis, USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_ENDPOINT_IN, DATA_OUT, 0, 0, (char *) buferis, izmērs (buferis), 5000); printf ("Iegūts% d baiti:% s \ n", nbaiti); // Argumentā — nosūtīt virkni (nākamais arguments)) else if (strcmp (argv, "in") == 0 && argc> 2) (nBytes = usb_control_msg (rokturis, USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_ENDPOINT_OUT, DATA_INg, 0) argc strlen (argv) +1, 5000);) if (nBaiti< 0) fprintf(stderr, "%s\n", usb_strerror()); usb_close(handle); // Закрыть дескриптор return 0; }

Šeit funkcija usb_control_msg, kas ir deklarēta failā usb.h include, pārvalda bumbu. Tam ir virkne parametru un faktiski tiek izveidoti tie vadības ziņojumi, kuru apstrāde ir ieviesta mikrokontrollera programmaparatūrā.

Proteuss atpūšas

Tautas iemīļotais Proteus ISIS elektroinstalācijas simulators ir bezjēdzīgs, projektējot ierīces ar USB programmatūras ieviešanu. Tā USB emulators atbalsta tikai mikroshēmas ar aparatūras atbalstu universālajai seriālajai kopnei (piemēram, AT90USB646 vai AT90USB1286).

Montāža, mirgošana, testēšana

Zemāk ir neliels, bet ļoti noderīgs Makefile, ar kura palīdzību make komanda no main.c un usbtest.c var viegli iegūt mikroshēmas programmaparatūru - main.hex un usbtest utilīta bināro failu:

CC = avr-gcc OBJCOPY = avr-objcopy CFLAGS = -Siena -Os -Iusbdrv -mmcu = attiny2313 OBJFLAGS = -j .text -j .data -O ihex OBJEKTI = usbdrv / usbdrv.o usbdrv / usbdrv.o usbdrv / dr vudrv / dr vudrv / usbdrv od. .o main.o CMDLINE = usbtest # Mērķis: izveidot visu: main.hex $ (CMDLINE) # Build utilīta datoram $ (CMDLINE): usbtest.c gcc -I ./libusb/include -L ./libusb/ lib / gcc -O -Wall usbtest.c -o usbtest -lusb # Notīriet projektu no binārā tīrā: $ (RM) * .o * .hex * .elf usbdrv / *. o # Iegūstiet programmaparatūras failu no elf fails%. hex:% .elf $ (OBJCOPY) $ (OBJFLAGS) $< [aizsargāts ar e-pastu]# Elf faila main.elf izveide: $ (OBJECTS) $ (CC) $ (CFLAGS) $ (OBJECTS) -o [aizsargāts ar e-pastu]# Veidojiet V-USB $ (OBJEKTI) bibliotēkas failus: usbdrv / usbconfig.h # C objekta kodā% .o:% .c $ (CC) $ (CFLAGS) -c $< -o [aizsargāts ar e-pastu]# asm uz objekta kodu% .o:% .S $ (CC) $ (CFLAGS) -x assembler-with-cpp -c $< -o [aizsargāts ar e-pastu]

Lai augšupielādētu programmaparatūru mikrokontrollerī, izmantojot usbtiny programmētāju, mēs ierakstām komandu:

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

Avrdude drošinātāji nav īpaši skaidri, taču tos var viegli aprēķināt vienā no tiešsaistes kalkulatoriem.


Savienojam ierīci ar datoru un pārbaudām, kā tā darbojas (usbtest ar out parametru nolasa virkni, in - ieraksta norādīto virkni mikroshēmas buferī):

$ sudo ./usbtest in all_ok $ sudo ./usbtest out

Darvas karote

Mīkstais USB nav panaceja. Programmatūras ieviešanai parasti ir vairāki vienkāršojumi, piemēram, kontrolsummas un kanālu simetrijas pārbaužu trūkums, kas negatīvi ietekmē trokšņu noturību. Arī parasti programmatūras bibliotēkas izmanto zema ātruma USB režīmus. Un USB bibliotēkas kods "apēd" jau tā mazo mikroshēmas atmiņu.

Lūrēšana...

Loģiskā līmenī USB protokols būtībā ir daudzslāņu pakešdatu pārsūtīšana. To ir viegli pārbaudīt (un tajā pašā laikā uzzināt daudz interesantu lietu par USB), izmantojot Wireshark tīkla protokolu analizatoru. Vispirms ir jālejupielādē USB monitora draiveris:

$ sudo modprobe usbmon

Tagad Wireshark interfeisu sarakstā varat atlasīt USB kopnes. Ierīces kopnes numuru var redzēt, piemēram, žurnālos.

Secinājums

Cerams, ka pēc tam, kad būsiet iemācījies pārsūtīt datus starp datoru un AVR mikrokontrolleri, jūsu aizraušanās ar elektroniku uzliesmos ar jaunu sparu, radot daudzas oriģinālas un noderīgas ierīces. Atliek tikai novēlēt panākumus šajā sarežģītajā, bet interesantajā jomā.

11

Man ir Linux lietojumprogramma, kurai es vēlētos automatizēt dažus testus, un tās stāvoklim vajadzētu mainīties atkarībā no noteiktu ierīču stāvokļa, t.i., USB ierīces, WLAN ierīces, WAN ierīces. Taču mums vairs nav fizisku USB ierīču, WLAN, WAN u.c. ierīču, tāpēc man ir jāizdomā veids, kā pārbaudīt šo programmu, faktiski nepievienojot fiziskas ierīces, neieslēdzot/izslēdzot tās utt.

Es sāku, vienkārši izveidojot virtuālu USB ierīci, kuru varu vadīt no lietotāja vietas, taču no manas puses ir būtisks zināšanu trūkums, kas neļauj man pieņemt kādu no līdzīgām tēmām šajos forumos un izmantot tās savā projektā. Man šķiet, ka man ir jāizveido kaut kāds virtuālais USB draiveris un pēc tam tas jāsaista ar kādu lietotāja līmeņa programmu, nevis usbfs. Tomēr, pat ja es izveidoju šo virtuālo draiveri, kā es varu "pieslēgt" šo ierīci no lietotāja vietas un reģistrēt programmu ar šo konkrēto draiveri? Vai tas, ko es cenšos darīt, vispār ir iespējams?

  • 2 atbildes
  • Šķirošana:

    Aktivitāte

0

Vai nevar pārbaudīt lietojumprogrammu virtuālajā vidē, izmantojot VMWare? Pēc tam varat “savienot” jebkuru virtuālo ierīci savā datorā ar viesu virtuālo mašīnu un pārbaudīt lietojumprogrammu šādā veidā.

8

Labākais veids ir izmantot Linux sīkrīku draiverus un aparatūru, kas ļauj jums būt USB ierīcei. Sīkrīka draiveris ļauj datoram "izlikties" par jebkuru ierīci. Pēc tam jūsu pārbaudāmajā sistēmā ir viens USB OTG kabelis sīkrīkam. Jums pat nav jāatvieno kabelis, ja jūsu sīkrīkam ir pareizā aparatūra. Gadget Box var būt jūsu Linux galddators/klēpjdators (ja tas atbalsta USB OTG) vai pat Android tālrunis vai Raspberry Pi. (Uzmanieties, ka USB kabeļi izsūcas. Tas, ka virve der, nenozīmē, ka tā ir pareizi pievienota USB OTG.).

Kad jums ir pareizā USB OTG aparatūra, sīkrīks ievieto visu programmatūru:

1) Ja testējamā ierīce atbalsta OTG, pārliecinieties, vai jūsu sīkrīks nemēģina un nav USB resursdators. (Tad jūsu testējamā ierīce kļūs par USB klientu.) T.i. pārliecinieties, ka tādas lietas kā usb_storage netiek ielādētas automātiski.

2) Kodols atbalsta sīkrīkus USB centrmezgliem, USB Ethernet, USB seriālajiem portiem un USB zibatmiņām. Vienkārši ielādējiet vajadzīgos moduļus savā sīkrīkā, un tas vienkārši darbojas. Piemēram, lai izveidotu USB atmiņu, rīkojieties šādi: "insmod g_file_storage.ko file = / dev / ram0". Tālā puse domās, ka esat pievienojis USB zibatmiņu.

Sērijveida ierīcēm sīkrīks var darboties lietotāja atstarpes kodā, kas uztver tālruni / dev / USBx un sazinās ar pārbaudāmo ierīci. (Acīmredzot emulējošs 4G modems vai kāds cits.)

Daudzas ierīces ir patiesi "USB sērijas" zem pārsega, jo ražotājs bija pārāk slinks, lai saprastu USB.

3) Ar nelielu atkārtotu kompilāciju vai pielāgošanu varat izmantot šīs vispārīgās ierīces sīkrīkam, ID vai atgriezt dažādas pārdevēja virknes utt. Tas nebūs tas pats, kas "testēšana uz īstas aparatūras", bet vismaz jūs testējot šo ierīču standarta versiju.

4) Ierīču veidiem, kas vēl nav kodolā (piemēram, Wi-Fi vai kāds cits), jūs esat viens. Ja ir pietiekami daudz sviedru un asiņu asaru, jūs varat uzrakstīt savu sīkrīka veidu. (Ideālā gadījumā izmantojiet pēc iespējas vairāk lietotāja vietas un apstrādājiet tikai kritiskos kodola komponentus.)

Dažreiz rodas situācija, kad jums ir nepieciešams zibatmiņas disks, bet tas nav pie rokas. Piemēram, dažām uzskaites un atskaites programmām ir nepieciešama ārēja atmiņas ierīce. Šādā situācijā varat izveidot virtuālu informācijas krātuvi.

Izmantojot īpašu programmatūru, to var izdarīt vairākos veidos. Apskatīsim katru no tiem soli pa solim.

1. metode: OSFmount

Šī mazā programma ir ļoti noderīga, ja pie rokas nav zibatmiņas diska. Tas darbojas jebkurā Windows versijā.

Kad esat lejupielādējis programmu, rīkojieties šādi:



Strādājot ar šo programmu, var būt nepieciešamas papildu funkcijas. Lai to izdarītu, dodieties uz vienuma galveno logu "Veikt darbības"... Un tad būs iespējams izmantot šādas iespējas:

  • Dismount - atvienojiet skaļumu;
  • Formatēt - sējuma formatēšana;
  • Iestatīt multivides tikai lasāmu - aizliedz ierakstīšanu;
  • Extendsize - paplašina virtuālās ierīces izmērus;
  • Savetoimagefile - kalpo, lai saglabātu vēlamajā formātā.

2. metode: virtuālais zibatmiņas disks

Laba alternatīva iepriekšminētajai metodei. Veidojot virtuālo zibatmiņas disku, šī programma ļauj aizsargāt tajā esošo informāciju ar paroli. Tā priekšrocība ir iespēja strādāt vecākās Windows versijās. Tāpēc, ja jūsu datorā ir Windows XP vai vecāka versija, šī utilīta palīdzēs ātri sagatavot virtuālo atmiņas ierīci datorā.

Šīs programmas lietošanas instrukcijas izskatās šādi:

  1. Lejupielādējiet un instalējiet virtuālo zibatmiņas disku.
  2. Galvenajā logā noklikšķiniet uz pogas Uzstādiet jaunu.
  3. Parādīsies logs "Izveidot jaunu sējumu", norādiet tajā virtuālā multivides izveides ceļu un noklikšķiniet "LABI".


Kā redzat, programma ir ļoti viegli lietojama.

3. metode: ImDisk

Tā ir viena no populārākajām virtuālo diskešu programmām. Izmantojot attēla failu vai datora atmiņu, tas izveido virtuālos diskus. Izmantojot speciālos taustiņus, to ielādējot, zibatmiņas disks parādīsies kā virtuāls noņemams disks.


4. metode: mākoņkrātuve

Tehnoloģiju attīstība dod iespēju izveidot virtuālos zibatmiņas diskus un saglabāt tajos informāciju internetā. Šī metode ir mape ar failiem, kas ir pieejama konkrētam lietotājam no jebkura datora, kas ir savienots ar internetu.

Šādas datu krātuves ietver Yandex.Disk, Google Drive un Cloud Mail.ru. Šo pakalpojumu izmantošanas princips ir vienāds.

Apsvērsim, kā strādāt ar Yandex Disk. Šis resurss ļauj bez maksas saglabāt tajā informāciju līdz 10 GB.



Darbs ar šādu virtuālo datu nesēju ļauj pilnībā pārvaldīt savus datus: grupēt tos mapēs, dzēst nevajadzīgos datus un pat koplietot saites uz tiem ar citiem lietotājiem.

Kas tas ir un kāpēc tas ir vajadzīgs?
Ja automašīnas radio ir ieeja CD mainītājam, tam var pieslēgt līdzīgu adapteri, tas apmānīs radio un nolems, ka tam ir pievienots mainītājs un disku vietā parastais zibatmiņas disks. ar mūziku tiek izmantots. Adapteri var vadīt ar standarta līdzekļiem, tostarp ar stūri no stūres.

Muska jau ir vairākas reizes apskatījis šādus adapterus, slavenākie ir ķīniešu Yatour.

Nolēmu iet nestandarta veidā, nolēmu pamēģināt krievu Trioma Flipper 2.
Kopējais vērtējums - teicami, esmu apmierināta ar pirkumu, iesaku.

Sīkāku informāciju lūdzu zem griezuma

Priekšvārds

Ir vienkārša vēlme – gribu mašīnā klausīties mūziku. Radio ne vienmēr ir kaut kas piemērots, nēsājot līdzi kaudzi kompaktdisku un nemitīgi tos ierakstot, ir apnicis.
Man 2007. gada Peugeot 407 ir GU (Head Unit), ko vēlāk sauc vienkārši par radio magnetofonu, bez USB, bluetooth un pat bez parastās AUX ieejas.

Ja automašīnai ir parasts radio magnetofons, kas nav piesaistīts nevienas automašīnas funkciju vadīšanai, vienkāršākais veids ir vienkārši iegādāties jaunu radio magnetofonu. Firmas radio magnetofonu ar USB ieeju var iegādāties simtiem eiro robežās. Būs jāpatērē vēl kāda nauda, ​​lai viņa saprastu stūri no stūres.

Jūs varat pabāzt un pievienot AUX (audio) ieeju, taču jums joprojām ir nepieciešams skaņas avots, un jums būs jāaizmirst par stūrēšanu no stūres.

Ilgi atmetu opcijas ar FM raidītājiem - izmēģināju pāris dažādus raidītājus, skaņas kvalitāte nebija īpaši laba.

Ir vēl viens veids, kā pieslēgt aporteri pie CD mainītāja ieejas radio magnetofonā, kas ļaus klausīties mūziku no zibatmiņas diskiem, vadot adapteri ar radio magnetofona standarta līdzekļiem, tostarp no stūres. . Jūs varat atrast līdzīgus dažādu ražotāju adapterus ar dažādiem parametriem un atšķiras pēc kvalitātes, uzticamības, ērtības vai cenas.
Slavenākais adapteris ir Yatour. Stilīgākais, iespējams, ir amerikāņu Grom Audio, kas cita starpā atskaņo FLAC. Kaudzei ir vēl dažas ierīces - Audiolink, Xcarlink, DMC, Dension.

Pirmkārt, es sāku aplūkot jatūru. Uz ali tas maksā no 50 USD. Bet atsauksmes internetā nedaudz mazināja entuziasmu. Adapterim ir līnijas izeja ar fiksētu līmeni, tāpēc daudzu radiomagnetofonu skaļuma līmenis ir ievērojami zemāks nekā radiomagnetofonam. Dažreiz nestabils darbs, sasalšana, kritiska klātbūtne zibatmiņas diskā. Atbalstīto direktoriju skaits - cik disku atbalsta radio magnetofons, manā gadījumā tas ir 6.

Yatour nav oficiālas vietnes, Yatour vietnes internetā ir pārdevēju vietnes. Un informācija ir jāvāc pa druskai dažādās vietās, pārsvarā tie, kas to iestata, ir atrakstīti, bet viņu pieredze ne vienmēr ir piemērota jūsu radio.
Bet man paveicās, sastapos ar baltkrievu pārdevēju jatūru Sergeju aka SSD, kurš atbildēja uz visiem maniem jautājumiem, arī par darba specifiku ar manu radiomagnetofonu.
Kopumā tas darbojas, bet var būt problēmas ar skaļumu un nestabilu darbu. Pirmo reizi dzirdēju no Sergeja par Grom Audio un par Triome, ko viņš arī pārdod.

Grom Audio operētājsistēmā Android atbalsta FLAC, bet manai automašīnai nav modeļa.

Bet Trioma Flipper 2 interesē. Pirmkārt, iespēja regulēt izvades līmeni (skaļumu). Turklāt tai ir daudz ērtāka mapju organizācija, un to var būt daudz vairāk. Un tas ir daudz mazāk bagijs.
Es aizņēmos labu salīdzināšanas tabulu starp Yator un Trioma


Precizējums par Yatura:
1. Sveši faili netraucē atskaņošanu. Vismaz dažām programmaparatūrām.

Tātad, es izdarīju savu izvēli. Trioma!!!
Pērkot šādu adapteri, noteikti izvēlieties modeli savai automašīnai. Precīzāk, zem jūsu automašīnas radio. Dažādiem radiomagnetofoniem var būt dažādi mainītāju savienotāji, kas nav savietojami viens ar otru.

Kur var nopirkt Trioma?

Ražotāja mājaslapā ir tie, kas pārdod Trioma produkciju. Nav problēmu ar adaptera iegādi Krievijā vai Baltkrievijā. Un Eiropā, kur man ir vieglāk nopirkt un nav jāmuito un nav jāmaksā PVN, cenas ir divas reizes augstākas, sākot no 120eur bez piegādes izmaksām.

Sāku meklēt draugus, kas varētu atvest adapteri no Krievijas vai Baltkrievijas. Atrasts!!! Atradu draugu no Krievijas, kurš februāra sākumā pasūtīja un atveda man adapteri! Oļeg, paldies!

Un šeit ir adapteris pie manis!



Komplektā ietilpst pats adapteris, kabelis savienošanai ar radio un USB kabelis.
Kabeļa garums savienošanai ar radiomagnetofonu ir tikai 40 cm, kas uzreiz uzliek ierobežojumus adaptera atrašanās vietai automašīnā - tas ir jānovieto tieši aiz radiomagnetofona, nevar aizsniegt pat cimdu nodalījumu. ar to.
Adapteris ir aptuveni cigarešu kastes lielumā. Vienkārša plastmasas kaste ar izvirzītu kabeli savienošanai zem ierīcēm vai AUX kabeli. Tomēr pēc tam, kad esmu pievienojis adapteri radio, neviens cits to neredzēs.
Turklāt es paņēmu AUX kabeli ar mini ligzdu galā (+ 500r)


Vēl dažas fotogrāfijas

Savienotājs papildu ierīču pievienošanai, AUX kabelis vai bluetooth adapteris


Mamma uz adaptera


Tētis pie kabeļa


Radio RD4 savienotājs


Neatvērt, garantija


Uzstādīšana

Radiomagnetofons RD4, izskrūvējiet abas skrūves ar sešstūri un izņemiet radiomagnetofonu.

Aizmugurē ir divi piemēroti savienotāji, viens no tiem nederēs - pārbaudīts;)
Fotoattēlā redzams nepieciešamais savienotājs. Tajā elektroinstalācija jau ir savienota ar mainītāju, mēs izņemam uzstādīto savienotāju un ieslēdzam paši.


Savienojam kabeli ar adapteri, ieslēdzam aizdedzi un brīnums - viss nostrādāja uzreiz !!! Turklāt skaļuma līmenis ir aptuveni tāds pats kā iebūvētajā kompaktdiskā.

Bet tad sākam domāt – kur vest USB kabeli. Vienkāršākais veids manā gadījumā bija vadu zem stūres ievilkt mazajā cimdu nodalījumā pa kreisi no vadītāja.


Pats adapteris bija iestrēdzis nišā radio aizmugurējā kreisajā pusē. Vietas tur nav daudz, pēc radiomagnetofona uzstādīšanas vietā adapteris tur tika saspiests ar kabeļiem, tāpēc nebija vajadzības adapteri papildus nostiprināt.

Visos forumos tiek rakstīts, ka radio ir jāaktivizē mainītājs pakalpojumā. Man viss izrādījās daudz vienkāršāk. Pēc ieslēgšanas pats radiomagnetofons noteica, ka tam ir pievienots mainītājs, un kļuva iespējams to izvēlēties caur ievades slēdzi (radio / CD / mainītājs).
Kā izrādījās, aktivizēšana ir nepieciešama nevis radio, bet gan displejam, lai tas varētu atspoguļot informāciju mainītājam.
Bet pirms pusgada es un ķīnieši, labi darīts, nosūtām displeju ar visām aktivizētajām funkcijām. Tātad man viss strādāja bez papildu aktivizēšanas.

Adaptera darbība

Skaņas kvalitāte. Salīdzināms ar CD atskaņotāju. Standarta akustika automašīnā ir diezgan viduvēja, tāpēc jūs noteikti nedzirdēsit atšķirību ar standarta CD atskaņotāju manā automašīnā.
Ieslēgšanas ātrums... Mazāk nekā pāris sekundes pēc aizdedzes ieslēgšanas USB zibatmiņā ar pāris desmitiem katalogu. Forumos viņi raksta, ka ar vairākiem simtiem direktoriju ātrums ir mazāks. Adapteris atceras, kur tas spēlēja, pirms tas tika izslēgts, un sāk atskaņot no tās pašas vietas. Šis īpašums ir vērtīgs tiem, kam patīk klausīties audiogrāmatas. Adapteris atceras atrašanās vietu no pēdējiem 4 zibatmiņas diskiem /
Sliežu ceļu pārslēgšana. Sekundes daļas, nav atšķirības tajā pašā vai citā direktorijā ir celiņš. Pārslēgšanas laikā nav svešu skaņu.
Zibatmiņas diska nomaiņa. Kad radio darbojas, izņemam USB zibatmiņu un ievietojam jaunu. Tas tiek noteikts pāris sekunžu laikā un uzreiz tiek atskaņots. Nomaiņas laikā var atskanēt ļoti kluss īss triliņš.

Adapteris saprot 32 direktorijus, kuros var būt 32 apakšdirektorijas, katrā no kurām var būt līdz 99 failiem. Taču drīz vien sapratu, ka diska slēdzis pārslēdz tikai pirmos sešus diskus. Lai gan nejaušā režīmā adapteris redz visus direktorijus.

Uzdots jautājums Trioma forumā, atbalsts ļoti ātri atbildēja un ieteica katalogu kārtošanas iespējas. Problēma izrādījās tāda, ka RD4 pogas, lai gan tās pilda Disc + / Disk- funkciju, patiesībā nosūta komandas adapterim tiešā diska 1-6 atlasei. Tātad ar šīm pogām jūs varat pārslēgt tikai 6 saknes direktorijus vai 6 apakšdirektorijus.
Un es nevarēšu pārvaldīt 1024 katalogus savā radio magnetofonā. Jūs varat pārvaldīt tikai 32 * 6 = 192 direktorijus;)

Aprakstā teikts, ka FF / FR pogas veic dubultu funkciju – direktoriju/apakšdirektoriju maiņu un pārtīšanu.
Bet RD4 Track + / Track- ir apvienoti ar FF / FR, un adapterim šīm pogām ir trīskāršs mērķis:
1. Īsi nospiediet — Track + / Track-
2. Nospiežot 2-3 sekundes, atlaižot, kad pazūd pašreizējā celiņa skaņa - pārslēgt direktoriju
3. Nospiediet ilgi> 3sek, atskan paātrināta klusināta skaņa - attīt atpakaļ
Laiks ir aptuvens, jums jākoncentrējas uz skaņu

Jau pirms pirkuma pieņēmu, ka pierakstīšu vienu lielu mega zibatmiņu ar simtiem katalogu. Bet tagad es redzu, ka ērtāk ir vairāki zibatmiņas diski ar dažādām kolekcijām.
Man tagad ir šis:
1. Krievu estrāde 80.-90
2. Ārzemju skatuve 80.-90
3. Instrumentālais

Kopā. Par salīdzinoši nelielu naudu es ieguvu bezkļūdām adapteri ar labu skaņas kvalitāti un vienkāršu, intuitīvu vadību. Esmu ļoti apmierināta ar pirkumu, Trioma ir lieliska!!!

Papildu saites

Mini FAQ

Daži jautājumi palika ārpus šī apskata, es nolēmu tos izņemt atsevišķā minifakā. Šeit es pievienošu jautājumus, kas rodas komentāros.
  • Kas jādara, lai displejā tiktu parādīti nosaukumi (failu nosaukumi, tagi vai kaut kas cits)?
  • Triom adapteri noteikti "redz" tagus, failu nosaukumus un mapju nosaukumus. Kur iespējams, tie parāda teksta virknes radiomagnetofonu standarta displejos: BMW un visos transportlīdzekļos ar optisko MOST kopni. Iespējams, teksta izvade drīzumā tiks ieviesta dažām Toyota / Lexus ierīcēm.
  • CD mainītāji darbu veic bez problēmām.
  • Es baidos, ka jūs maldāties: mēs nezinām citus ārējos mainītājus, izņemot iepriekš uzskaitītos modeļus, kas tiktu galā ar šo uzdevumu. Cita lieta ir galvas blokā iebūvētie mainītāji, kur teksts tiek izvadīts tieši uz displeja kontrolleri - tas ir pavisam cits mehānisms.
  • Vai Trioma Flipper 2 adapterim ir iespējams pievienot papildu ierīces?
  • Varat savienot ar adapteri vai kabeļa adapteri AUX-minijack 3.5 male
Plānoju pirkt +23 Pievienot izlasei Man patika apskats +21 +46