Need some work done? Post a Project Today
Here's my task.
I need a program for Ubuntu that would communicate to GSM modems through USB ports.
GSM modems will receive SMS messages, and the program should trigger a callback function for each new message.
The callback function simply gets message content and modem phone number, and sends them with a POST request to a script on my site.
Would be great if I could connect 200-300 USB modems and listen to all of them at the same time.
I have this solution working on Windows written on C# using GSMComm library.
But there are problems (can connect not more than 35 modems, need to install drivers after each reboot which takes 30 mins etc).
So I decided to make a same solution on Ubuntu machine.
But I'm not sure what language should be used - it can be Java, C, C++ - anything you think can get the job done.
The perfect solution for me would look something like this:
I buy a most powerful laptop I can get, install Ubuntu and a program you will write (console or GUI - doesn't matter, most likely - it will run on startup).
Then I want to connect 20-30 USB hubs to this computer, connect a GSM modem with SIM card into each available USB port.
Your Program should recognize new modems connected, and start listening to them.
(would be great if it could send some notice into console or GUI saying that new modem is detected, just to track if it works or not).
When one of these GSM modems receives SMS - program should get its content, and the phone number of the modem that received this SMS, and send them via POST request to my site (e.g. http://mysite.com/myscript/ . I need to be able to change website URL, because I have a couple domains - for testing, production etc.)
Would be also very helpful to be able to check how many modems are connected right now, just for testing.
This program is a key to what I do for living, so it has to be as reliable as possible.
If you could - please tell me, if it sounds realistic to be able to listen to 200 modems on one machine, or if you see anything that can stop working when no one is watching it.
Thanks for your time.