Global System for Mobile Communications
Access to a network is basically what puts the “connected” in “connected-devices.”
For the Bad Vibes Desk, I wanted to be able to access the phone network in order to receive text messages or SMS. The Arduino Uno doesn’t have any type of connectivity, besides serial, on its own. In order to access the phone network I needed a GSM shield. That white square is a Quectel M10 radio modem, which connects to the network through GRSM (General Packet Radio Service), a data service on 2G and 3G mobile networks.
(Benedetta also happens to be a phone network wiz and she was kind enough to let me borrow a GSM shield that she had personally designed and had manufactured. That’s the smaller white shield below.)
A SIM card is also required in order to connect to the network. So for around $25 I got an AT&T SIM and a month of unlimited SMS.
Issues with Connectivity
I had a lot of issues during the first couple weeks of trials with both shields. Neither worked with the Arduino GSM library. So I bypassed the Arduino completely. Using serial communication and the native language of the GSM card, AT commands, I was able to connect to the network (on both devices) with a high rate of success.
Thinking I was in the clear, I left the GSM stuff behind for a few days and when I returned, nothing was working. So I brought it in to ITP from my apartment, where I had been doing the initial tests. To my chagrin (though not my surprise) it connected without any issues. In the end it seems like I spent two-plus weeks stressing out over nothing but poor signal strength in my apartment.
Once the GSM shield was connected, this was no problem at all. I used a slightly modified version of the Arduino GSM library’s ‘Receive SMS’ example code for my purposes.
Next was developing the circuit to trigger the vibration motor once a SMS had been received.