Tags

, , , , , , ,

My friend was chewing a toothpick like some hip gangster, like some grease-haired pretty boy. In actual fact, he was a puny little Belgian, a 27-year-old with a limp. But still he stuck his thumb into his leather belt and curled his lip. What yah doin’, he asked nonchalantly.

‘I am consuming a RSS feed using Python,’ I replied. It was true, I was pulling down the latest entertainment from Yahoo! Firstly, I’d got hold of the celebrated feedparser, installing the package into Python Tools for Visual Studio. This granted me some nice debugging, ensuring the feed was sliced and diced just the way I wanted it.

Then it was time to port the code over to my Raspberry Pi, which has a wireless connection to the RasWIK Kit. Now, every time Yahoo! serves up an article on Justin Bieber a radio signal is sent to the XinoRF development board to turn on a green bulb. Yay! But if, for some God damn reason, the little pop prince is not the subject of the article, then the red bulb triggers. Boo!

Here’s the code…

#!/usr/bin/env python
# -*- coding: utf-8 -*-

# imports
import serial
from time import sleep
import feedparser

# com port and speed
port = '/dev/ttyAMA0'
baud = 9600

# establish a serial connection
ser = serial.Serial(port=port, baudrate=baud)

# wait
sleep(0.2)

# keep going forever and ever
while 1 == 1:

    # get feed
    feed = feedparser.parse('http://sg.entertainment.yahoo.com/rss/')

    #loop through feed
    for i in range(0,len(feed['entries'])):

        #select bulb depending on feed
        if "Bieber" in feed['entries'][i].title:

            # turn on green bulb as Bieber in article
            ser.write('a--D13HIGH--')
            ser.write('a--D12LOW---')
            print(feed['entries'][i].title)
            
        else:

            # turn on red bulb to show our disgust
            ser.write('a--D13LOW---')
            ser.write('a--D12HIGH--')
            print(feed['entries'][i].title)

        # wait
        sleep(2.0)

# kill serial port
ser.close()

You can see from the syntax that we are sending wireless messages from the Pi to the XinoRF, instructing the bulbs on or off.

Here’s the print output…

pi_feedparser

And here’s the fuckin’ green bulb…

raswik_greenbulb

Arkwood was dumbfounded, his mouth wide open. ‘What’s the point of that?’ he finally asked.

I told him. It was a POC.

‘POC? What does that stand for? Piece Of Crap?’

‘No,’ I snapped, ‘It stands for Proof Of Concept. You see, I’ve just registered an account with Network Rail data feeds. Next, I plan to monitor the Swansea to Cardiff line. If the train is on time then I set the green bulb. Cancelled, and it’s red. Why get off the sofa if the news is bleak?’

Arkwood thought for a moment, then, spitting out flakes of wood, said, ‘Can you get it to work for Megan Fox?’