If you have your BeagleBone Black or Raspberry Pi running a process and you would like it to send updates to your phone, you can easily accomplish that using a new API and service from Pushover.

This morning I was considering different methods for getting messages from my BeagleBone Black sent to my iPhone. At first I considered setting it up to send emails, but that is a little bit of work and isn’t extremely reliable. I also considered setting it up to send tweets, but that involves creating a separate twitter account and dealing with OAuth to interface with Twitter.

As it happened I ended up stumbling across Pushover while I was looking at possible channels in IFTTT. I spent a few minutes looking around the Pushover website and looked over their API and what do you know, this is the perfect service for pushing updates to your phone. So how can we do that?

Step 1: Download Pushover and Create Account

You first need to install the device side application on your phone. This is the only part of the process that you are charged for. At the time of writing, the app cost me a cool $4.99, I generally don’t like paying more than $1.99 for an app but this one seemed worth it.

After you download the app, open it up and create an account. This will assign you a unique user token that you will need to use to communicate with the Pushover server. I recommend copying this key into a text file so you can easily use it later.

Step 2: Create Your Pushover Application

After you have an account with Pushover you will need to create an application so you can receive an application token. This process is free and you are allowed to send up to 7,500 messages a month.

Once you have created an application you will see an application key, I also recommend copying this into a text file because you will need it later.

Step 3: Set It Up On Your System

Since the Pushover API is composed of simple HTTP transfers it is a simple matter to interact with their service from many different environments. For this example I have chosen to use Python because it is so simple to use and highly portable. For more examples on how to interact with Pushover visit the FAQ page on their website.

I have adapted the Python example from the FAQ page to be more descriptive and dynamic, take a look:

import httplib, urllib

# Application specific variables
application_token = "YOUR APPLICATION TOKEN"
user_token = "YOUR USER TOKEN"

# Message specific variables
title = "A Simple Test"
message = "Saying hello from BeagleBone Black"
url = "http://michaelhleonard.com/blog"
# To remove any of these fields you will need to remove them
# from the conn.request() below

# Start your connection with the Pushover API server
conn = httplib.HTTPSConnection("api.pushover.net:443")

# Send a POST request in urlencoded json
conn.request("POST", "/1/messages.json",
urllib.urlencode({
"token": application_token,
"user": user_token,
"title": title,
"message": message,
"url": url,
}), { "Content-type": "application/x-www-form-urlencoded" })

# Listen for any error messages or other responses
conn.getresponse()

Try copying this code onto your BeagleBone Black or Raspberry Pi and running it using Python, remember to change the variables for your user and application keys. I have included some images below of this working on my own BeagleBone Black and iPhone 5.

Networked BeagleBone Black

Networked BeagleBone Black. As you can see it is just connected to a power source that I made from a modified mini-usb cable and a LAN connection.

Just a few seconds after running the script through Python on my BeagleBone Black I received the following push message to my phone.


  • Pushover from iPhone Lock Screen

    Pushover from iPhone Lock Screen


  • Pushover from iPhone Application

    Pushover from iPhone Application

And that’s it for this introduction to Pushover, if you would like to learn more check out their API Reference and the Pushover FAQ page. If you have questions or suggestions for me, post them in the comments below. If you liked this article be sure to subscribe.

5 Comments

  1. Haaaahhh. I’m not too bright today. Great post!

  2. Wow, that’s a really clever way of thniikng about it!

  3. Hey, that’s a clever way of thinikng about it.

  4. Hello Web Admin, I noticed that your On-Page SEO is is missing a few factors, for one you do not use all three H tags in your post, also I notice that you are not using bold or italics properly in your SEO optimization. On-Page SEO means more now than ever since the new Google update: Panda. No longer are backlinks and simply pinging or sending out a RSS feed the key to getting Google PageRank or Alexa Rankings, You now NEED On-Page SEO. So what is good On-Page SEO?First your keyword must appear in the title.Then it must appear in the URL.You have to optimize your keyword and make sure that it has a nice keyword density of 3-5% in your article with relevant LSI (Latent Semantic Indexing). Then you should spread all H1,H2,H3 tags in your article.Your Keyword should appear in your first paragraph and in the last sentence of the page. You should have relevant usage of Bold and italics of your keyword.There should be one internal link to a page on your blog and you should have one image with an alt tag that has your keyword….wait there’s even more Now what if i told you there was a simple WordPress plugin that does all the On-Page SEO, and automatically for you? That’s right AUTOMATICALLY, just watch this 4minute video for more information at. Seo Plugin

Leave a Reply