Fight the Google Glass Cyborgs with Glasshole.sh

Glasshole script

We live in a connected world where social media is ubiquitous and many people feel compelled to share every waking moment with anyone who will listen. In this type of world, wearable computers like Google Glass allow us to share experiences like never before. A Glass user can take photos, record video and audio, or potentially even stream video live on the Internet with the greatest of ease. That might be great for the Glass user, but what about the rest of us? As wearable computing becomes more and more mainstream, people are naturally going to become divided on the issue of privacy. Is it a good thing to have “cyborgs” with wearable computers and cameras constantly at the ready, or is it a privacy nightmare? The cyborg war is coming, and [Julian] has already chosen his side.

It would seem that [Julian] lands on the side of the privacy advocates, based on his “glasshole” script. Glasshole is a relatively simple bash script that relies on some other common network security tools to take care of the heavy lifting. The basic premise relies on the fact that every manufacturer of network interface devices is assigned their own MAC prefix. This is a piece of the MAC address that is unique to that manufacturer.

[Julian’s] script uses a utility called arp-scan to obtain a list of all MAC addresses on a given wireless network. It then loops through each address and compares it to the known Google Glass MAC prefix. If it finds a match, it will make an audible beeping noise to alert the script user. The script then launches aireplay-ng in de-authentication mode. This will send spoofed disassociate packets to the client (in this case the Google Glass device), hopefully forcing them to disconnect from the access point. The script runs continuously, ensuring that once the device reconnects to the network it will get booted off once again. The script is designed to be run on a small Linux computer such as a Raspberry Pi or a BeagleBone black. This way, the user can carry it around with them as a sort of portable defense mechanism.

How do you fit into the cyborg war? Will you stand proudly with your computer on your face for all to see? If so, what kind of countermeasures would you deploy to prevent this type of attack from working on you? If not, what other types of interesting attacks can you think of to keep the cyborgs at bay?

[Thanks Syed]

Mini Ms. Pacman

MsThe bragging rights of owning a vintage arcade machine are awesome, but the practicality of it – restoring what is likely a very abused machine, and the sheer physical space one requires – doesn’t appeal to a lot of people. [Jason] has a much better solution to anyone who wants a vintage arcade machine, but doesn’t want the buyer’s remorse that comes with the phrase, “now where do we put it?” It’s a miniaturized Ms. Pacman, mostly scale in every detail.

The cabinet is constructed out of 1/8″ plywood, decorated with printed out graphics properly scaled down from the full-size machine. Inside is a BeagleBone Black with a 4.3″ touchscreen, USB speakers, and a battery-backed power supply.

The control system is rather interesting. Although [Jason] is using an analog joystick, the resistive touch screen monopolizes the ADC on the BeagleBone. The solution to this problem would be to write a driver, or if you’re [Jason], crack the joystick open and scratch away the resistive contact until you have a digital joystick. A nice solution, considering Ms. Pacman doesn’t use an analog joystick anyway.

Pictures over on [Jason]’s G+ page, along with a vertical video that G+ displays properly. Thanks, Google.

CNC Zen Garden

 

Meet the second version of [David’s] sand manicuring CNC machine. We saw version one about six months ago which he built for a science museum in Canada. This offering is much the same, except for the controller. The initial version demanded a full-blow computer to drive it but now that has been swapped out in favor of a Beaglebone Black.

The software has no feedback on the position of the plotter, which is an aluminum slug that [David] machined at Calgary Protospace. It needs to be in a specific position when the machine starts out, and from there patterns are traced by calculating how much spooling or unspooling of the four strings will move the slug.

There’s a bunch of other really neat art installations and projects on [David’s] webpage, it’s worth clicking through!

Synergizer: The Emergency Key-Turn Barbot

Synergizer: Emergency Drink Dispenser

It’s been a rough day at the office. You need a break. But by yourself? No, what you need is to be Synergized! This Barbot only works if all four keys are inserted and turned — kind of like a nuclear launch procedure — only then will it dispense four perfectly sized drinks to make your day better.

The Synergizer uses an Arduino to control a belt driven linear actuator which moves the spout from cup to cup. A series of reed switches along the length provide feedback to the system for positional control. The machine makes use of a peristaltic pump, called the Bartendro Dispenser, which pumps an exact volume of your liquid of choice into each cup. The cool thing with peristaltic pumps is they are self priming,and capable of pumping an exact volume of liquid every time.

[Nick Poole], the designer, also included a CPU fan and heat-sink paired up with a peltier plate in order to also chill the liquid as it is being pumped. To make it even more interesting, he added a four key override, so the Synergizer can only be used if all four unique keys are inserted.

Continue reading “Synergizer: The Emergency Key-Turn Barbot”

Blobless Printing With Velocity Extrusion

velocity

The current crop of 3D printers are technically four-axis machines, with three axes of movement and a fourth for the position of the filament. [Bas] had an entirely different idea – why not link the speed of the extruder to the speed of the nozzle? It turns out this technique gives you more ‘plasticy-looking’ prints and a vast reduction in blobbiness.

[Baz] has been working with LinuxCNC, a BeagleBone Black and the BeBoPr-Bridge cape, and there’s been a lot of development with that system in turning many straight lines into one smooth arc. This led him to adjusting the flow rate of a nozzle while the printer is running, but this is difficult if the extrusion is controlled by position as in a traditional printer setup. A new configuration was in order.

What [Baz] ended up with is a config that calculated the speed of the extruder based on the speed the nozzle is moving over the print surface. This gave him the ability to add live nozzle pressure adjustment, and as a result, a near complete disappearance of the little blobs that appear at the start of each layer.

For a well calibrated machine, it’s only a small difference between the ‘normal’ and ‘velocity’ methods of controlling an extrusion rate. It’s a noticeable difference, though, and one that vastly improves the visual quality of a print.

 

BeagleBone Black + RAMPS

CRAMPS

The BeagleBone Black, with an impressive amount of computing power and a whole bunch of I/O, would make an impressive CNC controller, save for two shortcomings: The BBB isn’t in stock anywhere, and CNC capes are a little on the pricey side. [Marc Peltier] can’t do anything about finding a distributor that doesn’t have the BeagleBone on backorder for you, but he did come up with an adapter for the very popular RAMPS-FD 3D printer controller board (Forum, French, Here’s the Google translation matrix).

The RAMPS-FD is an extension of the RAMPS board and a shield for the Arduino Due. Both the Due and BBB work on 3.3 V, meaning controlling the RAMPS-FD is simply a matter of finding the correct wiring diagram and pin assignments on the BeagleBone. [Marc] solved this problem by using the settings from the BeBoPr cape and using the existing BeBoPr LinuxCNC configuration.

The end result of [Marc]’s tinkering is something a lot like [Charles Steinkueler]’s CNC capes for the BeagleBone Black we saw at the Midwest RepRap Fest. [Charles] isn’t selling his capes, but no one else seems to be selling BeagleBone Blacks, either.

Continue reading “BeagleBone Black + RAMPS”

BeagleBone Black and FPGA Driven LED Wall

LED Wall

 

This is 6,144 RGB LEDs being controlled by a BeagleBone Black and a FPGA. This gives the display 12 bit color and a refresh rate of 200 Hz. [Glen]’s 6 panel LED wall uses the BeagleBone Black to generate the image, and the LogiBone FPGA board for high speed IO.

[Glen] started off with a single 32 x 32 RGB LED panel, and wrote a detailed tutorial on how that build works. The LED panels used for this project have built in drivers, but they cannot do PWM. To control color, the entire panel must be updated at high speed.

The BeagleBone’s IO isn’t fast enough for this, so a Xilinx Spartan 6 LX9 FPGA takes care of the high speed signaling. The image is loaded into the FPGA’s Block RAM by the BeagleBone, and the FPGA takes care of the rest. The LogiBone maps the FPGA’s address space into the CPU’s address space, which allows for high speed transfers.

If you want to drive this many LEDs, you’ll need to look beyond the Arduino. [Glen]’s work provides a great starting point, and all of the source is available on Github.

[Thanks to Jonathan for the tip]