Google+ Followers

Wednesday, 19 April 2017

The Annoying Pi

Are practical jokes your forte ? Then this will be right up your street and can be built for around £20 of which probably be a lot less as you will no doubt have these bits already lying around.

So lets get started this is what you need:

Pizero w
Usb powerbank to power it.

After following the instructions on Pimoroni the makers of speakerphat and the installation of the phat to the pi you will need to do a few things. First is to log on to wifi, there is enough tutorials should you need to ask how to do that.  Next is to search for "annoying .wav" you should find quite a few sites and from here download the files.  I found that renaming the files to something shorter like buzz.wav or scream.wav will make things easier later on.

Next open a command line and go to raspi-config and enable ssh.  It will also be a good time to change any default password so no one else can ssh into your pi.

Once done shutdown the pi, attach battery pack to pi and hide somewhere like under the bed or even back of a cupboard.

Now fire up another pi or computer and start up terminal.

Here we can use nmap to search for all connected devices on our network and get the ip address of the annoying pi or if before you shutdown the pi you do an ifconfig and write down the ip address on the wlan0 line.

Next we need to ssh in and the command will be like this:

sudo ssh pi@

Pi will be the user name and (will be whatever your device has allocated to it) the ip address.

Next it will ask for password and if correct will go on to ask you further questions of which just reply yes.

Now we are logged in to the pi we can have some fun. Start by logging into the folder the .Wav files are stored in and most likely be Downloads with cd Downloads command.  Here with the ls command we can see all the files.  Next is to launch the files, you could write a random playing script with python but i dont think you will get the element of surprise to what we want.

The next task is to start the sounds, this will be done with the following command with my scream.wav file.

Sudo aplay scream.wav

Now if all has gone well you should be hearing the file being played.  When you have done this with a few files you will be able to choose the files quicker at the command line by pressing the up arrow to go through previous commands and choose the file if previously played quicker.

Have fun and feel free to post any extra tips below.

Tuesday, 7 March 2017

Raspberry Pi Wedding Twitter selfie camera

I wanted to do something for my wedding to my wonderful wife that was different.  We had already planned a non traditional wedding with lots of different things, but I also wanted something that would be seen as trendy amongst the cool kids.

My daughter told me about a photo booth company but with such a small budget we couldnt afford one then I remembered something similar had been done and after a few googles I found tons of similar ideas but all seem to use Twython and from what I read parts had been depreciated yet I couldnt find the right commands to actually make it work.

So with the latest Raspberry PiZeroW and offical case, old pi camera from another project I began my project.  I had to enable ssh and vnc, personally I prefer sshing in to deal with issues but vnc can be better for trouble shooting.

I then had to make a twitter account (@angelapawedding) and set up the api so i could get the access and consumer tokens and set to read write and got to work, even soldering two pins on the back to 3rd and 4th pin in on the top row to attach a two wire pc wire/button reset switch to.  I figured this way if kids dropped or pulled it at least it could be reconnected with ease.

here is the code:

#mypifi feel free to use
#!/usr/bin/env python2.7
import tweepy
import sys
from picamera import PiCamera
from time import sleep
from datetime import datetime
from gpiozero import Button

consumer_key        = 'goes here'
consumer_secret     = 'goes here'
access_token        = 'access token code goes here'
access_token_secret = 'access secret goes here'
button = Button(14)
camera = PiCamera()
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)

while True:
    status = "#LobsterWedding"
    timestamp =
    photo_path = '/home/pi/wedding/photo/%s.jpg' % timestamp

    with open(photo_path, 'rb') as photo:
        api.update_with_media(photo_path, status=status)


The status part of the code is what text you want to display with the picture I used a hashtag so it be easy for people to find pictures or even add theirs for the wedding.  If you are interested, lobsters are supposedly meant to mate and be loyal to the same partner for life.

photo_path is where the picture is stored in my case its stored in folder called wedding in another folder within called photo.  each file saved here is given a unique filename and the program then tweets the latest picture using the twitter api via tweepy.

I saved the file as and chmod +x the file.  Once in place I vnc'd into it opened up a terminal and ran and then left it.

So throughout the evening guests (and especially the younger ones) had something to do and even my selfie obsessed daughter had a go as you will see below.  Guests could look up what had been tweeted by the camera at @angelapawedding or by searching the hashtag #lobsterwedding.

Sure the code could be cleaned up a bit more and more could be done with it, but for a quick project between finalising the final parts of the wedding I thought it was pretty good and was also a good talking point to guests.

If you do find a way of tidying up code then feel free to comment below and I will add it to the blog.