Easy peasy wireless speakers

Using the instructions from LifeHacker here I quickly turned some basic speakers into fancy AirPlay speakers that you usually have to pay Bose your life savings for.

Since I’ve got a working Raspberry Pi with Raspbian installed, and was trying it without an added sound card, I skipped to the ‘Install the Shairport AirPlay Emulator’ part. The instructions were simple to follow and I had Shairport running in no time.

I have DoubleTwist with AirTwist/AirPlay installed on my Android phone and, once I had Shairport running on my Pi, I was able to see it listed as ‘AirPi’ on DoubleTwist. My first attempt at streaming to my speakers didn’t go well. My Pi was only connected to my network via a USB wifi adaptor, which started blinking away as I tried to stream, playing my music in a very stuttering way. My flat is pretty small and the Pi wasn’t that far away from the wireless hub so it’s annoying that this didn’t work. My second attempt worked flawlessly. I plugged an ethernet cable into my Pi with speakers attached. A second or two after pressing play on DoubleTwist, my speakers were playing music from my phone and really not bad quality at all considering I hadn’t added a sound card to my Pi. I then tried my MacBook in another room streaming over AirPlay from iTunes and that worked brilliantly too.

A success for a wireless music system for essentially no £££s. The only disappointment has been having to connect via ethernet, making it less wireless than I would have hoped. I’d be interested to know if anyone’s managed to find a way to use a USB wifi adaptor when streaming music to a Pi.

Monitoring temperature and humidity

I bought a cheap DHT22 humidity and temperature sensor module from eBay. It comes with the jumper wires you need and, as far as I can tell, it doesn’t require a resistor, meaning you don’t have to mess around with a breadboard. The benefit of this is that it comes ready to plug straight onto your GPIO pins.

I connected the sensor to my Pi (+:VCC, OUT:data port, -:GND) and used the instructions from Adafruit to get it recording the data and adding it to a Google Spreadsheet. I changed the Python code to update my spreadsheet every five minutes. You can make a nice chart from this but the charts available don’t automatically expand the range if you add more data (i.e. if your Pi is updating the spreadsheet every few minutes). You have to use Script Editor if you want to make a chart from a dynamic range. Also, I found that Google Drive on my Nexus phone doesn’t display charts, so if I wanted to be nerdy and check my chart at any time of day, I couldn’t.

I created a GitHub Page as it looked like a quick way of making a website. It was! Then it was easy to use the Google Chart API to make a line chart for my site. This now shows the most up-to-date readings from my Pi sensor (provided I have my Pi turned on): http://abbie2020.github.io/

Photobooth with webcam and LCD

I dug out an old webcam for a ‘photobooth’ idea. The user is updated with what’s happening by the LCD display. Continue reading →

Custom screensavers for Kindle

Grayscale version of Ernst Haeckel's Asteridea drawing

Grayscale version of Ernst Haeckel’s Asteridea drawing

I followed these instructions to jailbreak my Kindle and add some custom screensavers to it. I used newer versions of the files given for download, found here.

Then I set about finding some images I liked. I’d seen some biological line drawings by a man called Ernst Haeckel a while ago, and thought they would work well as screensaver images as they look a lot like images in the default Kindle screensavers.

I downloaded the images I wanted, then followed the instructions from How To Geek (first link above) on converting images to a suitable format for the Kindle. I updated my version of GIMP while I was editing the images and found it’s got a really simple batch image editing function (in GIMP > File > Batch Image Manipulation). You can also save the batch edit profile to use again at a later date.

So here’s my batch image manipulation profile for GIMP (right-click to save file):

https://dl.dropboxusercontent.com/u/20660071/batch_edit_for_kindle.bimp

This will:

  1. Resize image so that it is 800 pixels high (preserving aspect ratio of image)
  2. Convert to grayscale
  3. Convert image to PNG format
  4. Save edited image with the original filename suffixed by ‘_edit’

Customising Dashing

Screen shot 2013-06-18 at 21.50.34

This post follows on from installing Dashing.

Add Twitter search

URL=https://gist.github.com/jeroenbegyn/5419267

~/abbies_dashboard $ sudo gem install twitter

~/abbies_dashboard $ sudo dashing install 5419267

Opened Gemfile in ~/abbies_dashboard and added new line:

gem 'twitter'

~/abbies_dashboard $ sudo bundle install

Add Twitter configs to twitter-search.rb [to edit file, had to save edited version to a different folder then cut and paste into jobs folder]

Add weather widget

URL=https://gist.github.com/davefp/4990174

~/abbies_dashboard $ sudo gem install xml-simple

Opened Gemfile in ~/abbies_dashboard and added new line:

gem 'xml-simple'

~/abbies_dashboard $ sudo bundle install

~/abbies_dashboard $ sudo dashing install 4990174

You’ll also need the Climacons Webfont. Download it, and put the .eot, .ttf, and .woff files in your /assets/fonts folder

Added WOEID to weather.rb file

Installing Dashing

Dashing allows you to make beautiful customised dashboards. I’ve got to the point of it being up-and-running and displaying a dashboard in my browser. Next task is to customise it!

Dashing dashboard screenshot

How I got Dashing installed and running

Install ruby:

$ sudo apt-get install libyaml-ruby

$ sudo wget http://rubyforge.org/frs/download.php/76729/rubygems-1.8.25.tgz

$ tar -xvzf /boot/rubygems-1.8.25.tgz

~/rubygems-1.8.25 $ sudo ruby setup.rb

$ sudo apt-get install ruby1.9.1-dev

Install nodejs:

$ sudo apt-get install nodejs

Install bundler:

$ sudo gem install bundler

Install dashing:

$ sudo gem install dashing

Create new dashboard:

$ dashing new Abbies_dashboard

Bundle gems:

$ cd abbies_dashboard

~/abbies_dashboard $ bundle

Start dashing server:

~/abbies_dashboard $ dashing start

Accessing via SSH

Easy peasy on my Mac!

Super useful app for finding out the IP addresses for all devices on your network: Fing (that’s the Android store link but I think it’s also available for other OS)

On Mac, open Terminal.

$ ssh -X pi@<add IP address here>

It will ask you to type in your password, which by default is ‘raspberry’.

In addition to you being able to control your Pi via the Terminal on your Mac, this will allow you to open Pi applications in a window on your Mac screen.

E.g. I can open the program Geany in a window on my Mac just by typing $ geany into the Terminal

Doing it cheap

I didn’t know how much I was really going to use my Pi so I didn’t want to spend much money on it. I got it with a cheap case from http://www.modmypi.com then scrounged the other parts from elsewhere:

  • Display – my TV
  • HDMI cable – already had for plugging laptop into TV
  • Keyboard (with mouse trackpad) borrowed from my friend to set the system up
  • Ethernet cable from my friend
  • Power cable – the USB mains charger from my Kindle
  • SD card – 2GB one from my camera, reformatted (had to buy a replacement so I can take photos!)

The keyboard was just a temporary thing because I now SSH/Share Screen into my Pi from my MacBook. I also bought a USB wireless adaptor, so I don’t need the ethernet cable but I keep it plugged in for streaming TV.