Is het mogelijk om een ingebed apparaat met internet te verbinden via een USB-internetdongle?

In mijn land (Nigeria) hebben we zeer weinig draadloze hotspots, de meeste mensen maken verbinding met internet via privé USB-dongles.

I vroeg zich af of het mogelijk is om deze dongles te gebruiken om een ingebed systeem verbinding te laten maken met internet.

Ik weet dat dit inhoudt dat ik een of andere vorm van USB-protocol moet kennen waarmee deze apparaten communiceren met een systeem, maar dat doe ik niet ” Ik weet niet of er een standaard voor is of zoiets om het generiek te maken.

Opmerkingen

  • Dus al die brieven uit Nigeria komen via dongles? ??

Answer

Draadloze USB-internet-dongles zijn er in twee varianten.

  • Een wifi-dongle maakt verbinding met een 2,4 GHz 802.11-netwerk (maar ik denk niet dat je deze meent?)
  • Een gsm-modem-dongle maakt verbinding via het mobiele telefoonnetwerk.

Net als een modem voor het vaste telefoonnetwerk, hebben veel GSM-modems RS232- en Hayes (AT) -opdrachten.

De gemakkelijkste GSM-functies ngle om te communiceren met een ingebed systeem is er een die een AT-commandoset blootlegt. Als je geluk hebt, kun je je rechtstreeks aan een UART koppelen. Maar misschien moet u een USB-host implementeren met ondersteuning voor CDC / seriële apparaten.

Het koppelen van een andere dongle zal aanzienlijk moeilijker zijn. In het beste geval zou je chips kunnen identificeren en een open source Linux-stuurprogramma vinden om over te dragen. In het ergste geval moet u het alleen-Windows-binaire USB-stuurprogramma reverse-engineeren en vervolgens in uw ingebouwde firmware klonen. Als je echt pech hebt, moet je ook een TCP / IP-stack implementeren.

Ik raad de AT-opdrachtroute aan, als je kunt .

Opmerkingen

  • ja i ' m verwijzend naar de GSM-modemdongle, i ' Ik denk dat ik een usb-poort sniffer-software kan gebruiken om erachter te komen welke gegevens worden verzonden tussen de dongle en een systeem?
  • Ja. Als uw embedded systeem USB-hostondersteuning heeft, is reverse engineering en vervolgens het opnieuw implementeren van de driver mogelijk. Maar niet gemakkelijk.

Antwoord

Ik heb dit onderzocht en de andere antwoorden zijn correct. In de meeste gevallen heb je een microcontroller nodig met ondersteuning voor USB-host. De meeste van de nieuwere USB GSM / 3G / 4G-dongles ondersteunen een algemeen USB-PPP-stuurprogramma, dus één stuurprogramma kan waarschijnlijk veel apparaten ondersteunen. Je “zou nog steeds de duiker van Linux moeten overzetten, wat hard werken zou zijn tenzij je van plan was ladingen te verkopen.

Als je van plan was ladingen te verkopen” zou het veel goedkoper / sneller zijn om een gsm te kopen module speciaal ontworpen voor embedded systemen. Deze laten de USB-interface weg, wat gewoon een onnodige complicatie is. Als je alleen een eenmalige of een paar plant, zal je geld (en tijd) veel beter worden besteed aan een klein Linux-bord (bijv. Raspberry Pi) met een USB GSM-dongle voor consumenten.

Answer

Als uw embedded systeem zoiets als een single board computer bevat die een besturingssysteem kan draaien met een netwerkstack, USB, en waar u een driver kunt installeren voor de USB-dongle, dan zou het mogelijk moeten zijn.

Anders is het in feite niet mogelijk. De microcontroller zou in staat moeten zijn om een USB-host te zijn, en sommige zijn dat wel. Je zou echter moeten weten het protocol van de dongle via de USB, die u waarschijnlijk niet zult krijgen. In feite bent u beperkt tot systemen waarvoor de fabrikant al een stuurprogramma heeft geschreven.

Opmerkingen

  • In feite is voor veel van de dongles voldoende informatie bekend is, zoals blijkt uit het bestaan van open-source Linux-stuurprogrammas. Mijn indruk is dat er ' s een of twee unieke commandos zijn om het in een gezond verstand te krijgen en dat het vervolgens een standaard interfacetype gebruikt, zoals CDC-ACM. Als er geen documentatie werd verstrekt, heeft iemand dit waarschijnlijk oorspronkelijk ontdekt door het Windows-stuurprogramma te snuiven.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *