WebSockets, Raspis, And GPIO

socket

A while back, [Blaise] tried his hand at getting the WebSocket protocol working with PIC microcontrollers, WiFi adapters, and a few pots, knobs, and switches. It was an excellent project for its time, but now [Blaise] has a Raspberry Pi, and the associated GPIO pins and Ethernet connection. He decided it was time to upgrade his build to the Pi, this time with a project he calls PiIO.

The basic idea of [Blaise]’s project requires a Pi, a server, and a computer running a browser for the end user. On the Pi side of the build, [Blaise] connected a Microchip MCP3008 eight input, 10-bit ADC via the SPI bus. The Pi takes the ADC sensor values from pots, buttons, or any other analog source and sends them to a server with the WebSocket protocol.

The server hosts a web site written with Django, Autobahn, and Python to communicate with the Pi and host the web page for the data received from the Pi. There’s support for multiple Pis in [Blaise]’s build, making complicated projects we can’t even conceive very possible.

[Blaise] put up an awesome demo video of PiIO up; you can check that out after the break.

Continue reading “WebSockets, Raspis, And GPIO”

Quantifying Cloudiness With OpenCV

What Can I see From the Shard?

The Shard is the tallest building in Western Europe, and has a great view of London.  The condos in the building are very expensive, and a tourist ride to the top of the building costs £24.95.

Since the value of the view is so high, [Willem] wanted to quantify the quality of the view at any given time. His solution is the Shard Rain Cam. This device combines a Logitech webcam with a Raspberry Pi to capture a time-lapse set of images. These images are fed to a Python script using OpenCV which quantifies the cloudiness.

[Willem] also had to build a weatherproof enclosure with a transparent window for the camera and RPi. ‘Clingfilm’, which is British for saran wrap, and mineral oil is used to improve the waterproofing of an IP54 rated enclosure.

The resulting data is displayed on www.whatcaniseefromtheshard.com, which provides an indication of whether or not the view is worth £24.95. All of the Python code is available, and is a good starting point for learning about image processing with OpenCV.

Raspberry Pi Camera Board Incoming

camera

Your Raspberry Pi has on-board connectors for cameras and displays, but until now no hardware demigod has taken up the challenge of connecting an image sensor or LCD to one of these ports. It seems everyone is waiting for official Raspi hardware designed for these ports. That wait is just about over as the Raspberry Pi foundations is hoping to release a camera board in the coming weeks.

The camera module is based on a 5 megapixel sensor, allowing it to capture 2560×1920 images as well as full 1080 video with the help of some drivers being whipped up at the Raspberry Pi foundation.

Considering the Raspi USB webcam projects we’ve seen aren’t really all that capable – OpenCV runs at about 4 fps without any image processing and about 1 fps with edge detection – the Raspberry Pi camera board should be less taxing for the Pi, enabling some really cool computer vision projects.

The camera board should be available in a little more than a month, so for those of us waiting to get our hands on this thing now, we’ll have to settle for the demo video of the Pi streaming 1080p video to a network at 30fps after the break.

Continue reading “Raspberry Pi Camera Board Incoming”

Complete Siri Home Automation Controls Everything But The Kitchen Sink

complete-siri-home-automation

[Elvis Impersonator] spent three full days but in that time he managed to hand control of everything in his house over to Siri. The technique used is a familiar one. A Raspberry Pi running SiriProxy listens for commands from the iPhone and acts on them based on [Elvis’] predefined configuration. The difference here is that it’s not just a single device (read: lamp) that is being controlled to prove the concept. His video (embedded after the break) shows him operating an entire range of devices in his home.

The demonstration starts off with his garage door being opened and closed. From the YouTube video description we know that he’s using Trendnet IP cameras and it looks like one of them lets him see if he remembered to close the garage.  Next he disarms his home security system as shown in the image above. From there he adjusts the Nest thermostat, switches off the living room lights, and changes the TV channels.

We think the need to give voice commands would get old pretty quickly. But that aside we applaud his work to pull everything together into one single interface.

Continue reading “Complete Siri Home Automation Controls Everything But The Kitchen Sink”

Rack Mount Home Automation With A RPi

RPi Home Automation

[Patrick] wanted to have centralized sensing and control over various parts of his house. His Raspberry Pi Home Automation System integrates a bunch of functionality in one rack mount package, salvaged from an old network switch.

The automation system is based on a Raspberry Pi running Arch Linux, which talks to an ATmega over SPI. We’ve seen this setup used many times before to add additional ports to the Raspberry Pi, but what makes [Patrick]’s build unique is the amount of control he’s built into the system.

The box controls outdoor lighting at sunset and sunrise, generates wakeup calls, controls IR cameras, and plays sounds based on events. It’s capable of monitoring sump pump water level, the state of a house alarm, and more. A custom REST API is used to interact with the device. This allows for programs on any platform to interface with his home, and acts as an API for his house.

[Patrick] provides a lot of details in his build log, which should be helpful to anyone looking to roll their own home automation system. The source is also provided.

Web Connected Treat Dispenser Appeases The Pets

web-connected-treat-dispenser

[John] was looking for a project for his newly acquired Raspberry Pi and decided to include his dog in the fun. although his finished project looks a lot like an old time camera, it’s actually a web-connected treat dispenser that uses his dog’s email address for dispensation.

Let’s take a look at the hardware from top to bottom. There’s a camera with a eagle’s eye shot of his furry friend waiting for treats. The cylinder below that is the motor which drives the treat dispenser. You can see the chain tensioner on the back which connects the motor to the tube dispenser in the center of the box. Just above that outlet is the character display which gives feedback to anyone watching the dispenser. Nearing the bottom is a hopper that catches the treats, then flips over to dump them onto the floor. And finally at the bottom is a slot for the Raspberry Pi which drives everything.

Most of [John’s] projects revolve around CNC work. In addition to the demo video found after the break there’s a second that focuses on CAD design. About half way through that clip he gives us a close-up tour of all the hardware.

Continue reading “Web Connected Treat Dispenser Appeases The Pets”

Easy Web Interface With GPIO Access Runs On Raspberry Pi

Here’s a Raspberry Pi hack that adds web control using PHP and MySQL. As you can see in the image, it serves up a webpage (using the Apache2 server) which allows you to change the state of the GPIO pins. It’s not super-complicated, but it is nice to see a step-by-step guide for installing and configuring the package.

Web interface GPIO control is one of the features we loved about the Adafruit Web IDE. But this offering is loaded completely from the RPi (the Adafruit package uses cloud based code) and utilizes the tools most Linux network admins will be used to. A MySQL database manages the connection between GUI commands and GPIO modification. The webpage is served up by a PHP script which takes care of polling and changing database values. Configuration requires a new database, plus the username and password which has access to it.