Tuesday 28 January 2014

Is it possible to connect an embedded device to the internet through a USB internet Dongle?


In my country (Nigeria) we have very few wireless hotspots, most people connect to the internet via private USB dongles.


I was wondering if it is possible to use these dongles to allow an embedded system connect to the internet.


I know that involves knowing some form of USB protocol with which these devices communicate with a system, but I don't know if there is some standard for that or something to make it generic.




Answer



Wireless USB Internet dongles come in two flavours.



  • A wifi dongle connects to a 2.4GHz 802.11 network (but, I don't think you mean these?)

  • A GSM modem dongle connects via the cell phone network.


Like a modem for the fixed line telephone network, many GSM modems have RS232 and Hayes (AT) commands.


The easiest GSM dongle to interface to an embedded system is one which exposes an AT command set. If you are lucky then you will be able to attach directly to a UART. But, you may need to implement a USB host with support for CDC/serial devices.


Interfacing any other dongle will be considerably harder. In the best case, you might identify chips and find an open source Linux driver to port. In the worst case, you will need to reverse engineer the Windows-only binary USB driver then clone it into your embedded firmware. If you're really unlucky then you'll need to implement a TCP/IP stack too.


I recommend the AT command route, if you can.



No comments:

Post a Comment

arduino - Can I use TI's cc2541 BLE as micro controller to perform operations/ processing instead of ATmega328P AU to save cost?

I am using arduino pro mini (which contains Atmega328p AU ) along with cc2541(HM-10) to process and transfer data over BLE to smartphone. I...