Expose your Raspberry Pi on Any Network

Everyone’s talking about the Internet of Things (IoT) these days. If you are a long-time Hackaday reader, I’d imagine you are like me and thinking: “so what?” We’ve been building network-connected embedded systems for years. Back in 2003, I wrote a book called Embedded Internet Design — save your money, it is way out of date now and the hardware it describes is all obsolete. But my point is, the Internet of Things isn’t a child of this decade. Only the name is.

The big news — if you can call it that — is that the network is virtually everywhere. That means you can connect things you never would have before. It also means you get a lot of data you have to find a reason to use. Back in 2003, it wasn’t always easy to get a board on the Internet. The TINI boards I used (later named MxTNI) had an Ethernet port. But your toaster or washing machine probably didn’t have a cable next to it in those days.

Today boards like the Raspberry Pi, the Beagle Bone, and their many imitators make it easy to get a small functioning computer on the network — wired or wireless. And wireless is everywhere. If it isn’t, you can do 3G or 4G. If you are out in the sticks, you can consider satellite. All of these options are cheaper than ever before.

The Problem

There’s still one problem. Sure, the network is everywhere. But that network is decidedly slanted at letting you get to the outside world. Want to read CNN or watch Netflix? Sure. But turning your computer into a server is a little different. Most low-cost network options are asymmetrical. They download faster than they upload. You can’t do much about that except throw more money at your network provider. But also, most inexpensive options expose one IP address to the world and then do Network Address Translation (NAT) to distribute service to local devices like PCs, phones, and tablets. What’s worse is, you share that public address with others, so your IP address is subject to change on a whim.

What do you do if you want to put a Raspberry Pi, for example, on a network and expose it? If you control the whole network, it isn’t that hard. You usually use some kind of dynamic DNS service that lets the Pi (or any computer) tell a well-known server its current IP address (see figure below).

Continue reading “Expose your Raspberry Pi on Any Network”

The Cicada: A Parasite Art Piece With Commitment Issues

How often do you think deeply about the products around you? How about those you owned five years ago? Ten? The Cicada — brainchild of [Daniel Kerris] — is an art piece that aims to have the observer reflect on consumer culture, buyer’s remorse, and wanting what we cannot have.

The Cicada consists of an ultrasonic sensor feeding data to a Raspberry pi which — calculating the distance of an approaching human — either speeds up or slows down a servo motor connected to a General Electric Walkman’s cassette speed potentiometer. Upon detecting someone approaching, The Cicada begins to loop the chorus of Celine Dion’s “I Will Always Love You”. As you move closer, the tape speed slows, and there is a transition from love at first sight to nightmarish drawl as the music slows.

Continue reading “The Cicada: A Parasite Art Piece With Commitment Issues”

Hackaday Prize Entry: Text To Speech The Hard Way

Studies have shown reading to children leads to improved academic performance later in life, a trait that will make them more competitive in the workforce, and ultimately happier human beings. It follows, then, that having a robot read to children will also lead to happier and more productive adults, while normalizing the cyborg uprising takeover of the AI apocalypse of 2037.

It’s a good thing the above paragraph is a complete non-sequitur and has nothing to do with this Hackaday Prize entry. The TextEye, [Markus]’ entry for the Assistive Technology portion of the Hackaday Prize, is a handheld device that translates the written word into speech, useful for anyone who either can’t see well or can’t read gooder. Yes, it will also read to children, but so did Teddy Ruxpin.

If you’re keeping track, this isn’t the first time [Markus] has entered this project in a Hackaday Prize contest. The first time was six months ago in the Hackaday / Adafruit Raspberry Pi Zero contest. [Markus] was inspired by a group of blind computer science students using specialized hardware that allowed them to study the same thing as everyone else.

Since the first few project logs, a lot has changed in this project. You can buy a Pi Zero easily, and the updated Pi Zero 1.3 now comes with a camera connector. [Markus] is swapping out his Pi Model A and USB webcam for the Pi Zero and Pi camera. The software remains the same — GraphicsMagick, Tesseract OCR, Festival and Wiring Pi handle reading text and turning those words into speech — with a slight refactoring of the code. It’s a great use for the Pi Zero, and an excellent example of an Assistive Technology, and we’re happy to see it again in the Hackaday Prize.

Clustering A Lot Of Raspberry Pi Zeros

It became something of a cliché a few years ago in online discussions, whenever a new single board computer was mentioned someone would pop up and say something like “Imagine a Beowulf cluster…“. Back then it was said largely in jest, but with the current generation of boards it’s a distinct possibility. Who hasn’t looked at a Raspberry Pi and idly thought about a cluster of them, or even created one!

[Electronoob] did just that, creating a variety of Raspberry Pi cluster configurations, the most impressive of which is a stack of 32 Pi Zeros mounted together with stand-offs. The plan was to network it via USB, for which he initially considered building a backplane, but was put off by the cost of vertical USB connectors and instead went for a wired approach. If there is a lesson to be learned from his experiences it is that buying very cheap USB cables is a minefield: his pile of eBay specials turned out to have significant numbers of faults. He’s now faced with a stark choice, solder  32 sets of USB pads on the base of each Zero or buy better cables.

The stack of Zeros is pretty impressive, but so what, you think. It’s still not working properly. But the Zero cluster isn’t his only work. He’s also created a set of very nicely executed Ethernet clusters using the larger Pi boards, and the way he’s mounted them on top of compact Ethernet switches sets them apart from some of the more spaghetti-like Pi clusters.

It’s true a Pi cluster won’t cut it in the world of supercomputers, you could almost certainly buy more bang for your buck without too much effort. But it does represent a very accessible way to learn about cluster computing, and you have to admit it a stack of Zeros does look rather impressive.

We’ve seen quite a few Pi clusters here since 2012, the biggest of which is probably this 120 node behemoth, complete with screens.

Hackaday Prize Entry: AutoFan Saves Tired Drivers With Face Recognition

Long distance driving can be tedious at times. The glare of the sun and the greenhouse effect of all your car’s windows make it hot and dry. You turn on the fan, or air conditioning if you have it, and that brings relief. Soon enough you’ve got another problem, the cold dry air is uncomfortable on your eyes. Eventually as you become more tired, you find yourself needing the air on your face more and more as you stay alert. You thus spend most of the journey fiddling with your vents or adjusting the climate controls. Wouldn’t it be great if the car could do all that for you?

AutoFan is a project from [hanno] that aims to automate this process intelligently. It has a fan with steerable louvres, driven by a Raspberry Pi 2 with attached webcam. The Pi computes the position of the driver’s face, and ensures the air from the fan is directed to one side of it. If it sees the driver’s blink rate increasing it directs the air to their face, having detected that they are becoming tired.

The build logs go into detail on the mathematics of calculating servo angles and correcting for camera lens distortion in OpenCV. They also discuss the Python code used to take advantage of the multicore architecture, and to control the servos. The prototype fan housing can be seen in the video below the break, complete with an unimpressed-looking cat. For those of you interested in the code, he has made it available in a GitHub repository.

Continue reading “Hackaday Prize Entry: AutoFan Saves Tired Drivers With Face Recognition”

Chair Dances Like No One Is Watching

Although it might be more accurate to say that this chair dances because no one is watching, the result is still a clever project that [Igor], a maker-in-residence at the National Museum of Decorative Arts and Design in Norway, created recently. Blurring the lines between art, hack, and the ghosts from Super Mario, this chair uses an impressive array of features to “dance”, but only if no one is looking at it.

In order to get the chair to appear to dance, [Igor] added servo motors in all four legs to allow them to bend. A small non-moving dowel was placed on the inside of the leg to keep the chair from falling over during all of the action. It’s small enough that it’s not immediately noticeable from a distance, which helps maintain the illusion of a dancing chair.

From there, a Raspberry Pi 3 serves as the control center for the chair. It’s programmed in Python and runs OpenCV for face detection and uses pigpio for controlling the leg servos. There’s also a web interface for watching the camera’s output and viewing its facial recognition abilities. The web interface also allows a user to debug the program. [Igor]’s chair can process up to 3 frames per second at 800×600 pixels.

Be sure to check out the video after the break to see the chair in action. It’s an interesting piece of art, and if those dowels can support the weight of a person it would be a great addition to any home as well. If it’s not enough chair for you, though, there are some other more dangerous options out there.

Continue reading “Chair Dances Like No One Is Watching”

Hacklet 125 – DIY Laptops

In the old days of the 1970’s, the only way to get your own computer was to build one from scratch. Thanks to an army of hackers like [Woz], PC’s are no commodity objects that can be bought for a couple of hundred dollars. The magic of building your own still is there though – especially when we’re talking about portable machines. Laptops, notebooks, netbooks take quite a bit of skill to assemble. Stuffing a keyboard, screen, and battery into a small clamshell case takes a bit of planning. Our last look at DIY laptops was exactly 100 Hacklets ago, so it’s time for a refresh. This week we’re checking out some of the best DIY laptops and portable computers on Hackaday.io!

piberryWe start with [Sahas Dinesh Chitlange] and Pi-Berry Laptop. [Sahas] found just the right mix of simple and elegant with this build. A Raspberry Pi 2 is the brains of the operation. The Pi sits in a case built from a mix of MDF and regular wood. The display is a 10.1″ HDMI LCD. The keyboard was pulled from a tablet case. Power was easy — a USB power bank provides enough for 4-5 hours of runtime. [Sahas] covered his laptop in Italian leather for a polished look. He planned out his parts layout well enough that the power-hungry Pi stays cool without a fan.

pivenaNext up is [Tim] with PIvena. [Tim] took his inspriation from [Bunnie Huang’s] Novena open laptop. Rather than roll his own ARM board, [Tim] went with a Raspberry Pi. His original design was for the Raspberry Pi model B. Last time we looked at PIvena, the model B+ was still pretty new. As we hoped, [Tim] modified his design to accept the new Pi layouts. This means it will physically work with the B+, Pi 2, and Pi 3 boards. [Tim] didn’t stop there though. He also upgraded from an 800 x 480 LCD to an 1200 x 800 LCD. He managed to do that while keeping the same bolt pattern on the travel cover. Nice work [Tim]!

elloNext we have [KnivD] with ELLO 2M. The most striking thing about ELLO 2M is the construction. The entire laptop is made from 6 PCBs which sandwich all the other parts. The keyboard is PCB material with keys routed out. The processor is a Microchip PIC32MX470-120. Software is loaded from one of 3 microSD cards. The 7 inch touchscreen LCD and 4500 mAh LiPo battery are nestled in between PCB layers. A true hacker, [KnivD] included a generous pin grid for debugging add-on circuits. The whole setup looks great with white silkscreen. As [Mark Sherman] mentioned in the comments, this machine reminds us of a modern-day TRS-80 Model 100.

pipdaFinally we have [pdrift86] with Mini rpi2 laptop. Palmtop might be a better name for this. [pdrift86] took his inspiration (and his keyboard) from the old HP Jornada Personal Digital Assistant (PDA). The housing is Masonite, cut from a clipboard. A Raspberry Pi 2 hides inside, along with a 4 cell 18650 Li-Ion battery. The screen is a 5″ LCD with a composite input. The display isn’t a touchscreen, so a Playstation Portable analog stick is on-board, and will eventually be connected for mouse control. [pdrift86] even managed to sneak the Pi camera on the back of his machine, so it can take pictures cellphone style.

If you want to see more DIY laptop projects, check out our new DIY Laptops notebooks, and portables list. Notice a project I might have missed? Don’t be shy, just drop me a message on Hackaday.io. That’s it for this week’s Hacklet, As always, see you next week. Same hack time, same hack channel, bringing you the best of Hackaday.io!