I mit land (Nigeria) har vi meget få trådløse hotspots, de fleste forbinder til internettet via private USB-dongler.
I tænkte på, om det er muligt at bruge disse dongler til at tillade, at et indlejret system opretter forbindelse til internettet.
Jeg ved, det indebærer at kende en eller anden form for USB-protokol, som disse enheder kommunikerer med et system med, men jeg ved ikke ikke ved, om der er en eller anden standard for det eller noget, der gør det generisk.
Kommentarer
- Så alle disse breve fra Nigeria kommer gennem dongler? ??
Svar
Trådløse USB-internet-dongler findes i to varianter.
- En wifi-dongle opretter forbindelse til et 2,4 GHz 802.11-netværk (men jeg tror ikke du mener disse?)
- En GSM-modem-dongle opretter forbindelse via mobiltelefonnettet.
Som et modem til fastnettelefonnetværket har mange GSM-modemmer RS232- og Hayes (AT) -kommandoer.
Den nemmeste GSM gør ngle til interface til et integreret system er et, der udsætter et AT-kommandosæt. Hvis du er heldig, vil du være i stand til at knytte direkte til en UART. Men det kan være nødvendigt at implementere en USB-vært med understøttelse af CDC / serielle enheder.
Interfacering af enhver anden dongle vil være betydeligt sværere. I bedste fald kan du muligvis identificere chips og finde en open source Linux-driver til port. I værste fald skal du omvendt konstruere den Windows-eneste binære USB-driver og derefter klone den i din integrerede firmware. Hvis du virkelig er uheldig, skal du også implementere en TCP / IP-stak.
Jeg anbefaler AT-kommandoruten, hvis du kan .
Kommentarer
- ja i ' jeg henviser til GSM-modem-donglen, jeg ' tænker jeg, at jeg kan bruge en usb-port sniffer software til at finde ud af, hvilke data der transmitteres mellem donglen og et system?
- Ja. Hvis dit integrerede system har USB-værtsunderstøttelse, er reverse engineering mulig at genimplementere driveren. Men ikke let.
Svar
Jeg har undersøgt dette, og de andre svar er korrekte. I de fleste tilfælde har du brug for en mikrocontroller med USB-værtssupport. De fleste af de nyere USB GSM / 3G / 4G-dongler understøtter en fælles USB-PPP-driver, så en driver sandsynligvis kunne understøtte mange enheder. Du er stadig nødt til at portere dykkeren fra Linux, hvilket ville være hårdt arbejde, medmindre du havde planer om at sælge belastninger.
Hvis du planlagde at sælge belastninger, ville det være meget billigere / hurtigere at købe en GSM modul specielt til designet til indlejrede systemer. Disse udelader USB-grænsefladen, som bare er en unødvendig komplikation. Hvis du kun planlægger et engangspar eller et par, bliver dine penge (og din tid) brugt meget bedre på et lille Linux-kort (f.eks. Raspberry Pi) med en forbruger-USB GSM-dongle.
Svar
Hvis dit integrerede system indeholder noget som en enkelt bordcomputer, der kan køre et operativsystem med en netværksstak, USB, og hvor du kan installere en driver for USB-donglen, så skulle det være muligt.
Ellers er det faktisk ikke muligt. Mikrocontrolleren skal være i stand til at være en USB-vært, som nogle er. Du skal dog vide protokollen til donglen over USB, som du sandsynligvis ikke får. I virkeligheden er du begrænset til systemer, som producenten allerede har skrevet en driver til.
Kommentarer
- I virkeligheden er der tilstrækkelig information for mange af donglerne er kendt, som det fremgår af eksistensen af open source Linux-drivere. Mit indtryk er, at der ' er en unik kommando eller to for at få den til en forstandig lavet, og derefter bruger den en eller anden standard interface type som CDC-ACM. Hvis der ikke blev leveret dokumentation, fandt sandsynligvis nogen oprindeligt ud af dette ved at pakke i Windows-driveren.