If you're not familiar with the project, I suggest heading over to the project description first.

Last Miles Refactored

After a substantial hiatus, I returned to the Last Miles installations a few months ago, trying to figure out what the next steps might be. The experience with the installation in last spring demonstrated what a challenge issues of internet connectivity can pose. Most available open-source software that coordinates live video, audio, and ssh feeds just doesn't work well without extremely good internet connections -- and flaky internet connections is all that's available when putting things in public spaces in Durham and Duke.

Yet the idea of having the installation "connect" the user with another place that she or he may or may not be familiar with -- but that is geographically close -- remains compelling. And working with live audio and video created plenty of space for the unexpected to sneak in. Last Miles Refactored, as I'll call this second version, is going to try to preserve as much of the initial vision for the project while making sure that the installation's technological supports are more reliable.

For now my ideas include:

  • Interfacing with Flickr or similar service to pull down photos from Durham of public spaces (this latter may need to be flagged by users themselves)
  • Better user interface with support for arbitrary display types -- I'm considering PyGTK or pygame. I'd really like to find something that lets me create nice looking transparent widgets out of the box. I used gtk last time but spent way too much time styling the interface.

Last Miles at HASTAC 2

I'll be presenting Last Miles at a poster session at the HASTAC 2 conference at UCLA on Saturday.

For the conference I've revised the project description considerably, adding a bunch of visual aids and updating the description to reflect the current state of the project.

Update 2008-5-6. Here's a photo from the poster session on Saturday:

HASTAC II Poster Session

Successful test of installations

Lots of last minutes problems, but around 3:30pm things started working. Thanks to all the volunteers!

Installation Test, May 15, 2008

Public Demo (Beta) Thursday May 15th

There will be a public demonstration of a beta version of the project tomorrow, May 15th at 3pm in the John Hope Franklin Center. Everyone is welcome.

Tutorial on Arduino-Python Servo Control

There's a group of folks over at Principia Labs who have documented how to control servos via a python script: Arduino-Python 4-Axis Servo Control | Principia Labs

Their discussion of Ardunio's Serial.read() was especially helpful; it's prompted me to make some changes in my code.

Arduino and the Wii Nunchuck

Seems like a Wii Nunchuck will make a great input device for the project. I'm deeply indebted to folks who have put up such great tutorials on how to do this, Tod E. Kurt in particular.

Continue reading 'Arduino and the Wii Nunchuck'

Carpentry!

We're building the platforms for the project this week. Here are some pictures from the shop.

Early stage photo from the scene shopFurther along..first platform finished

Two Arduinos Connected By an SSL Relay

A critical part of the project involves allowing one arduino board to communicate with a remote arduino board. Two computers mediate the connection and send the information via a secure connection (SSL). The code is below. At this stage it's very simple, all the action happens in the arduino code. What this python script does is take the serial output from one arduino board and feed it into the serial input for the other board. The code below the fold works but I imagine I'll change it before I'm finished, so please check the SVN web repository when I've installed that for the latest code.
Continue reading 'Two Arduinos Connected By an SSL Relay'

Controlling a Parallax (Futaba) Continuous Rotation Servo with Arduino

Parallax (Futaba) Continuous Rotation ServoSo there's a presentation on controlling a basic servo at ITP on the very subject: class 3 (communication, servos, and pwm). As luck would have it, I have a continuous rotation servo, which functions a bit differently than the servo described in the presentation. In short, both types of servos use pulse width modulation (PWM) but the continuous rotation servo operates in terms of a "set point" and left and right rotation. You can also control speed.

UPDATE 2008-8-3: We ended up using "normal" (i.e. non-continuous) servos. So things work a bit differently now.

Continue reading 'Controlling a Parallax (Futaba) Continuous Rotation Servo with Arduino'

Learning Arduino, AMD64 Ubuntu NBs

First hiccup I encountered was that the Arduino software doesn't run out of the box on an AMD64 platform (i.e. my desktop). Thankfully Tero Karvinen has a quick HOWTO on making the Arduino IDE run on an AMD64.

Got through the "Hello World" equivalent for Arduino, i.e. make an LED flash. Next on my list was getting the servomotor to move. As luck would have it there's a presentation from ITP on the very subject: class 3 (communication, servos, and pwm).