I mitt land (Nigeria) har vi väldigt få trådlösa hotspots, de flesta ansluter till internet via privata USB-donglar.
I undrade om det är möjligt att använda dessa donglar för att låta ett inbäddat system ansluta till internet.
Jag vet att det handlar om att känna till någon form av USB-protokoll som dessa enheter kommunicerar med ett system, men jag vet inte ” vet inte om det finns någon standard för det eller något som gör det generiskt.
Kommentarer
- Så alla dessa brev från Nigeria kommer genom donglar? ??
Svar
Trådlösa USB-internet-donglar finns i två smaker.
- En wifi-dongel ansluts till ett 2,4 GHz 802.11-nätverk (men jag tror inte du menar dessa?)
- En GSM-modem-dongle ansluts via mobilnätet.
Som ett modem för det fasta telefonnätet har många GSM-modem kommandon RS232 och Hayes (AT).
Det enklaste GSM-systemet gör ngle för gränssnitt till ett inbäddat system är en som exponerar en AT-kommandosats. Om du har tur kan du koppla direkt till en UART. Men du kan behöva implementera en USB-värd med stöd för CDC / seriella enheter.
Gränssnitt mellan andra donglar blir betydligt svårare. I bästa fall kan du identifiera marker och hitta en öppen källkod Linux-drivrutin till porten. I värsta fall måste du omvandla den Windows-enda binära USB-drivrutinen och sedan klona den i din inbyggda firmware. Om du verkligen är otur måste du implementera en TCP / IP-stack också.
Jag rekommenderar AT-kommandovägen, om du kan .
Kommentarer
- ja i ' jag hänvisar till GSM-modem-dongeln, jag ' Jag tänker att jag kan använda en USB-port sniffer-programvara för att ta reda på vilken data som överförs mellan dongeln och ett system?
- Ja. Om ditt inbäddade system har stöd för USB-värd, är det möjligt att göra omvänd teknik och sedan implementera om drivrutinen. Men inte lätt.
Svar
Jag har tittat på detta och de andra svaren är korrekta. i de flesta fall behöver du en mikrokontroller med stöd för USB-värd. De flesta av de nyare USB GSM / 3G / 4G-donglarna stöder en vanlig USB-PPP-drivrutin så att en drivrutin förmodligen kan stödja många enheter. Du måste fortfarande porta dykaren från Linux vilket skulle vara hårt arbete om du inte planerade att sälja laster.
Om du planerade att sälja laster skulle det vara mycket billigare / snabbare att köpa en GSM modul speciellt utformad för inbyggda system. Dessa utelämnar USB-gränssnittet som bara är en onödig komplikation. Om du bara planerar en engång eller ett par kommer dina pengar (och tid) att spenderas mycket bättre på ett litet Linux-kort (t.ex. Raspberry Pi) med en konsument USB GSM-dongel.
Svar
Om ditt inbäddade system innehåller något som en enda kortdator som kan köra ett operativsystem med en nätverksstack, USB och där du kan installera en drivrutin för USB-dongeln borde det vara möjligt.
Annars är det faktiskt inte möjligt. Mikrokontrollern måste kunna vara en USB-värd, som vissa är. Du måste dock veta protokollet för dongeln över USB, vilket du sannolikt inte får. I själva verket är du begränsad till system som tillverkaren redan har skrivit en drivrutin till.
Kommentarer
- För många av donglarna är det faktiskt tillräckligt med information är känt, vilket framgår av förekomsten av Linux-drivrutiner med öppen källkod. Mitt intryck är att det finns ' ett unikt kommando eller två för att få det till en förnuftig tillverkning och sedan använder den någon standardgränssnittstyp som CDC-ACM. Om dokumentation inte tillhandahölls, kommer sannolikt någon ursprungligen att räkna ut detta genom att paketet snusar i Windows-drivrutinen.