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”

Raspberry Pi Used As A Squeezebox Server

rpi-squeezebox-server

[Jacken] loves his lossless audio and because of that he’s long been a fan of Squeezebox. It makes streaming the high-bitrate files possible. But after Logitech acquired the company he feels they’ve made some choices which has driven the platform into the ground. But there is hope. He figured out how to use a Raspberry Pi as a Squeezebox server so that he can keep on using his client devices and posted details about the RPi’s performance while serving high-quality audio.

First the bad news: the RPi board doesn’t have the horsepower necessary to downsample on the fly. He even tried overclocking but that didn’t really help. The good news is that this issue only affects older Squeezebox clients (he had the issue with V3) and only when playing tracks that are much higher quality than a CD (24-bit at 88.2Khz). He has no problem streaming those files to devices that can play them, and can even stream multiple files at once without any issues.

You can install the Sqeezebox server on your own Raspberry Pi by following this guide.

FireHero: Raspberry Pi Controlled Pyrotechnics

Fire Hero 3

To put on a live pyrotechnic show at a music festival, [Chris] built the FireHero 3. The result is remotely controlled flames shooting up to 100 feet in the air.

The system is controlled by a Raspberry Pi and an Arduino. A server runs on the Pi and allows a remote computer to control the system. The Pi sends commands over serial to the Arduino, which switches solid state relays that actuate the valves.

There’s also some built in safety features: the system won’t boot unless you have the right key and RFID tag, and there are pressure transducers and temperature sensors to ensure the system is operating safely. A CO2 actuated valve can quickly stop fuel flow in an emergency.

Vaporized propane creates the fireballs. The vapor is created by heating the supply tank in a hot water bath. An accumulation tank stores the vapor and custom built manifolds distribute it to the various flame cannons. At each cannon, a silicon nitride hot surface igniter (HSI) is used to ignite the flames once the valve is opened.

After the break, watch a video the the FireHero making some flames.

Continue reading “FireHero: Raspberry Pi Controlled Pyrotechnics”

Raspberry Pi Laptop Is Just A Little Too Big For A Pocket

Over on the Parts People blog, [Nathan] created his own Raspberry Pi laptop. It’s got all the bells and whistles, including a keyboard, trackpad, battery, and even a 3D printed case.

Of course [Nathan]’s laptop contains a Raspi, but the other included parts are where this palmtop computer is turned into something useful. For powering the Pi and 3.5″ composite LCD, [Nathan] took apart the battery pack from an old Dell laptop. By throwing out the bits of plastic surrounding these rechargeable cells and reusing the battery connector, [Nathan] was able to power the Pi, and all the peripherals for 10 hours.

Also included in [Nathan]’s Raspi palmtop is a 64 GB SSD connected to the powered USB hub. This, along with the 4 GB boot SD card, provides more than enough storage for listening to a music library, or even watching a few TV shows on the 3.5″ screen,