RaspberryPi with SM5100b GSM GPRS cellular shield


I am going to try porting my PC python script for interfacing to the SM5100b directly to the RPi instead of converting it to an Arduino program.

UPDATE: Wow… it was easier than I thought it would be. I was able to quickly get to the same level of functionality as that previous post in less than an hour. Here is the push message posted to Prowl app using the cellular shield by a python script running on the Raspberry Pi.

Updates project files should show up on my github soon.



HTTP GET prowlapp API works with SM5100B

I was finally able to get the prowlapp HTTP GET API working with the state machine machine based serial modem interface I wrote in Python running on my PC. I will be adding the updated files to my github repository very soon.

Here is a screen shot of the received message in iOS:


Next step, get this working with native Arduino code.

State Machine based serial interface to SM5100b shield in Python

Ever since I got TCP data rx/tx working on the SparkFun SM5100b GSM/GPRS shield I have been prepping for the next step which is to get HTTP GET requests working. The problem I seem to be having here is that the HTTP server disconnects the TCP connection immediately after sending the response to the GET request, and I am not able to transfer the TCP data received using the AT command after the TCP connection has been disconnected.

Yesterday I finally got a state machine based serial interface written in Python working. The input to the Python script is a state machine description written in a YAML file.

Dummy Shimmy

Here is the script:


And here is a very simple YAML state machine file for the boot up sequence:


Coding up something equivalent for the Arduino will be a pain.

PySerial not available for ActiveState Python 64bit free edition on Windows

If you install the free 64bit edition of ActiveState Python you will not be able to use pypm to download the pyserial package, as also listed here:


It works fine with the 32bit edition though. It seems like the 64bit editions of some packages are only available to customers with business licenses.