Putting The BBC In Seattle

radio

Among great British traditions, there’s tea, knowing how to lose an empire, tea, Parliament, big ben, tea, incalculable wit, Parliament, big ben, tea, and BBC radio. While Britons in foreign lands may not be able receive BBC radio over the airwaves, there is the remarkable BBC iPlayer that allows online streaming of all those awesome BBC radio stations. Unfortunately, moving away from the Prime Meridian means the BBC radio schedule deviates from the schedule ordained by divine right. In Seattle, for example, a Friday evening comedy would be broadcast in the middle of the afternoon. Basically, it’s like listening to  Prairie Home Companion on Saturday morning. It just feels wrong.

[Adam] came up with a clever solution to this problem. Yes, it’s really just a Raspberry Pi-powered web radio, but there’s a twist to this build: everything from BBC radio is buffered and time shifted. A program that airs at noon in London will now play on [Adam]’s radio at noon in Seattle.

The hardware portion of the build is an exceedingly British radio which [Adam] deftly modified to include an auxiliary input. The software portion of the build uses ffmpeg, mplayer, and a PHP script to stream the iPlayer audio to a file, wait 8 hours (or whatever the offset from GMT is), and start playing the audio.

In the end, the time shifted BBC radio works perfectly, and even caught the attention of a few people at BBC Radio 4. [Adam] was interviewed about his project, and was even able to listen to his interview several hours later.

One-button Scan To Email Using Raspberry Pi

one-button-scan-to-email-raspberry-pi

We’ve come across extremely expensive photocopiers that also fax, scan to email, and generally have too many features to list. [Eduardo Luis] figured out how to implement some of this type office magic using very inexpensive components. Specifically, he can press one button to scan a document and send it to an email address.

The user controls patch into the RPi GPIO header. There’s the button we already mentioned, a red LED for “System Busy”, and a green one for “System Status”. A set of scripts montor the button and drive the LEDs. When it’s time to scan, the RPi uses the scanimage package to capture a .PNM file, then converts it to .JPG before sending it via email using the mutt package.

We’d love to see a character LCD and a few more buttons added to the setup. This way you could select between different recipients (or even send via fax). And there’s always the possibility of connecting a printer to the other USB port on the RPi to make it work as a photocopier too.

You can catch a demo video after the jump.

Continue reading “One-button Scan To Email Using Raspberry Pi”

Adding AirPlay To A Shelf System

adding-airplay-to-a-shelf-system

AirPlay is a great system. It allows you to send whatever media is playing from one device to another. Sure, we wish it were a bit more open (Apple is certainly not known for that) but there are several option for creating your own AirPlay receivers. After coming across a project that does just that, [Matt Shirley] decided to turn his shelf system into an AirPlay receiver.

The path to his goal depends on the Raspberry Pi’s ability to receive AirPlay audio using the Shairport package (we just looked in on another player that does this last week). He uses an Edirol UA-5 USB audio interface as an amplifier for his record player. He wasn’t using the USB port for it and knew that it would be simple to connect the RPi USB as a host for the device.

Wanting to keep the look of the system as clean as possible he popped the lid off of the amp. There is just enough room to fit the small RPi board inside. He hacked (literally, look at the pictures) an opening for the USB ports into the side of the metal enclosure. A short patch cable connects from one port to the USB jack on the back of the amplifier. The white cable leaving the side of the case provides power to the Rasperry Pi. The surgery was a success and now he can listen to his tunes with a tap of his finger.

Picture Frame That Scrapes Train Times From The Web

rpi-train-times-fixture

Whenever [Gareth James] needs to catch a train he has only to push a button on this frame and the next three departure times will be displayed. As you can see from the post-processing in the photo, this is accomplished by a Raspberry Pi board using a few familiar tools.

Let’s take a look at the hardware first. He acquired a 7″ LCD display which he removed from its plastic case. The bare screen will easily fit inside of the rather deep wood frame and its composite video input makes it quite simple to interface with the RPi board. There was a little work to be done for power. The LCD needs 12V so he’s using a 12V wall wart to feed the frame, and including a USB car charger to power the RPi. The last thing he added is a button connected to the GPIO header to tell the system to fetch a new set of times.

A Python script monitors the button and uses Beautiful Soup to scrape the train info off of a website. To get the look he wanted [Gareth] wrote a GUI using tkinter. Don’t miss the demo after the jump.

If you need a bit of a primer on scraping web data take a look at this guide.

Continue reading “Picture Frame That Scrapes Train Times From The Web”

Hardware SPI With Python On A Raspberry Pi

While the Raspberry Pi has very good support for an I2C bus, a lot of very cool chips – including the in system programmer for just about every ATtiny and ATmega microcontroller – use an SPI bus. [Louis] sent in a tutorial for getting hardware SPI on his Raspi, and even though it’s rather limited right now, it’s a step in the right direction.

Previously, [Brian Hensley] put up a tutorial for using the Linux SPI drivers with the Raspi. [Louis] wanted to play with SPI in Python, so he added a C extension to the spidev.c file (available here) that allows him to open an SPI connection, initialize, transfer, and close the connection.

After connecting an Arduino to the MOSI, MISO and SCK pins of his Arduino, [Louis] was able to transfer data from his Raspi over an SPI bus. It should be noted that a level shifter would be a really good idea here, but this is an excellent project if anyone would ever want to port AVRDude to Python.

 

Dedicated Pandora Player Plus AirPlay Built Around The Raspberry Pi

rpi-pandora-radio

[Shaun Gehring] wanted an Internet radio player. Although he did have some troubles along the way, the final project turned out very well. Housed inside this case which used to house a spindle of bland CDs is a Raspberry Pi that plays Pandora radio and serves as an AirPlay receiver.

The GPIO header of the RPi makes this project a lot easier. [Shaun] used Adafruit’s breakout board to solder connections for the six buttons and the character LCD screen. Plug some speakers into the audio jack and the hardware end of the deal is finished. The software side of things is very similar to the BeagleBone Pandora player we looked at in September. It uses a Linux distribution (Rasbian Weezy) and the Pianobar package.

Pianobar is very versatile. You can control it using a First-In First-Out file. Once [Shaun] figured out how to use mkfifo to set up the file, he was able to control it from a script by monitor button presses and echoing the associated command to the FIFO. The finishing touch was to add AirPlay support via the shairport package.

Turning A Raspberry Pi Into An SNES

snes

Back at the turn of the century, shoving MiniITX motherboards into just about everything was all the rage with the technologist crowd. [waterbury] had the idea of making a computer out of an SNES, but with the added ability of reading SNES cartridges. This idea had been floating around in [waterbury]’s head for years now, and with a Raspberry Pi he can finally make his project a reality.

After desoldering a cartridge connector from an original SNES, [waterbury] plugged it in to a piece of perf board and started to figure out how to actually read the cartridge. An SNES cartridge need 16 address pins, 8 data pins, 8 bank control pins and 4 other control pins to be read; a total of 36 pins that [waterbury] accessed with the help of a neat I/O expander and a whole bunch of level converters.

[waterbury] accessed these data, address, and control lines via the Raspberry Pi’s I2C interface, a non-trivial task that took 70 minutes to read Donkey Kong Country before he found a way to speed up the Raspi by a factor of two. You can check out [waterbury]’s complete project – able to read cartridges and play roms with EmulationStation after the break. Also, the code for the cart reader is available on [waterbury]’s git
.

Continue reading “Turning A Raspberry Pi Into An SNES”