This tutorial explains how to send an SMS from your Raspberry Pi without using a GSM modem. In this tutorial, we’ll be sending the SMS through the internet using the ClickSend SMS API.

  1. Create an account at ClickSend.com
  2. Create a Python script and add your ClickSend credentials

    # -*- coding: utf-8 -*- username = 'User' # Your ClickSend username api_key = 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX' # Your Secure Unique API key msg_to = '+61411111111' # Recipient Mobile Number in international format (+61411111111 test number). msg_from = '' # Custom sender ID (leave blank to accept replies). msg_body = 'This is a test message' # The message to be sent. import json, subprocess request = { "messages" : [ { "source":"rpi", "from":msg_from, "to":msg_to, "body":msg_body } ] } request = json.dumps(request) cmd = "curl https://rest.clicksend.com/v3/sms/send -u " + username + ":" + api_key + " -H \"Content-Type: application/json\" -X POST --data-raw '" + request + "'" p = subprocess.Popen(cmd,stdout=subprocess.PIPE,stderr=subprocess.PIPE,shell=True) (output,err) = p.communicate() print output
  3. Connect to the Raspberry Pi via SSH/PuTTY (Raspberry pi must be connected to the Internet) https://raspberrypi4dummies.wordpress.com/2013/03/17/connect-to-the-raspberry-pi-via-ssh-putty/
  4. Copy script clicksend.py from your windows PC to your Raspberry Pi. (../home/pi)
  5. Start script clicksend.py with your parameters: python clicksend.py
  6. Done! Your SMS should’ve been sent by now.

We’d love to hear what you’ve created. Please get in touch with us for some free SMS credits.

Your first SMS is on us

Want to send your first SMS from your Raspberry Pi for free? Sign up for a trial with ClickSend and you’ll get $2 AUD of credit to test with. Happy sending.

Start your trial