Arduino over GPRS to MySQL

I'm extremely new to Arduino! But i stumbled across it in search for a solution to a problem i'm sorting at work. We want to monitor a few digital and analog inputs and log the results in a MySQL DB, we want to put an arduino board at the field end where there is no Internet connection, but i'm hoping theres some way of the arduino connecting to a External MySQL Server over 3G/GPRS or something?

Does this sound possible, I've looked at a GPRS Cellular Playground on Cool Components, which plugs onto the Arduino, just wanted to make sure this solution is possible??


There is no reason you couldn't do this. Depending on the service available to the GPRS modem you may need to come up with a proxy to the MySQL server. Probably a PHP based webpage that it calls ever second or so then that writes to the database.

You could also send TXT messages or Tweets that could be monitored and read into the MySQL database from a script.


I'm not asking for actual code but could you elaborate a bit more on what is making calls to what and what network topology you would suggest?

We have a 3G router with built in VPN that we use for remote monitoring so we could use that for the "Internet" connection for the mySQL DB connection, but would it be possible to use the GPRS Cellular "Playground" add-on for the arduino for the outbound MySQL connection?


I am doing something similar with an Arduino in the field. I just got hold of a GPRS modem with a IP Stack and used AT commands through a max232 chip.

My code is here :

I am using the HTTP GET method although I should probably use something else. But hey as long as it works :wink:

Here is a very simple page showing the data :

The php scripts are pretty easy to write as well.

Cheers and enjoy


That is very cool! Good work, in theory thats what i want to do but i eventually went down a different route (after scrapping around for about a month with it), i have the arduino connected to a 3G router that uses OpenVPN to create a tunnel back to me here at the office (for diagnostics etc...), i get the arduino to send the values up to and i then run a php script which uses the php-pachube library to grab the csv of the values from pachube, explode the csv into individual values and insert them into a mysql db!

That sounds like a nice option. Unfortunetly my arduino is up in the mountains here in South Africa so very limited connection. It took us 2 days to find a place with decent signal. :)


Ouch, well if you do anything else with it let me know, i'm very interested in remote monitoring and creating web front ends using php, ajax, etc...

You could also send TXT messages or Tweets that could be monitored and read into the MySQL database from a script.

Where I work, we currently do something like this using the Iridium network. We have these (largish, expensive) modules that are interfaced with via a serial connection, and can be controlled pretty much with an AT-style command set. In addition, they have GPS capability. So the end-point application can be set up to dial, connect, then send GPS-coordinates (plus other information) via a gateway proxy that the Iridium network provides to SMS/MMS, which we then scrape off our email server, then stuff into a MySQL DB. From there we do reporting, mapping, etc - of the devices in the network (ie, asset tracking and such).