Thursday, January 26, 2012

Vinterstitial Objects and Spaces - A proposal.


The shift to living in virtual reality a large portion of our day has been gradually taking place over the last 20 years or so as the Internet has grown in size and scope.

Bifurcation is our first response.   That is Inelegant.

How we currently deal with this bifurcation:
 - augmented reality
 - Internet of things
 - qrc/tags
 - away status
 - bridges/translation/transformation/portals, etc

Ill-effect of bifurcation:
 - fragmented vision of reality
 - difficulties keeping VR and RL in sync
 - conferencing and telepresence simple visual bridges
 - collaborative spaces only in either VR or physical

Proposal - We treat virtual reality dimensions as first class dimensions rather than second class ones.   We create a new classification of objects that inhabit all dimensions, VR and RL, as Vinterstitial.

(read Flatland for inspiration)

Interstitial Icon - for use on both Real and Virtual Objects:


Interactivity is either uni-directional or bi-directional, and is indicated by the binary existence of the internal dots. 

The Internet Doorbell Mk I


VR doobell with recursive doodad thingy picture
I like things simple.

That's just how it is.  Things most people have no problem with bother me. 

For example:

I have a house in Second Life that my online friends occasionally visit. I also have a house in real life that my real life friends occasionally visit. It bothers me that I have to treat these two houses separately, that I have to constantly context switch between them. It seems inelegant. Primitive. So I've decided to overlap the two using vinterstitial objects and spacial techniques.

I'm trying to merge my real and virtual lives, become a whole person again.  Is that so wrong?

To accomplish this I am going to start with the front door. The plan is to have my doorbell in VR ring my doorbell in RL and visa versa.

technical architecture diagram
Platform: 

WiFly Xbee module
I needed a relatively inexpensive stand alone solution that combined a programmable controller with wifi wireless capability.  I intend for this platform to eventually include other functionality to support my project so it needed to have decent digital and analog i/o capability.   I was also interested in having battery backup and/or power.   I chose the Arduino Fio and WiFly Xbee module.   The Fio is a great little arduino, it is inexpensive, has a xbee socket on the back already and a built in charger and battery connector, so minimal work is needed to meet my goals. The WiFly Xbee module is an inexpensive drop in wifi replacement for the popular 802.15.4 xBee radios. This means that I can program my Fio wirelessly via the xbee radios, test the code via the serial port, then simply switch in the WiFly module and the fio for standalone wifi. For comparision consider an Uno and wifi sheild ($30 + $90 = $120).  The Fio and WiFly xbee I use costs ($25 + $35 = $60) and has a battery connector, wireless programming and charger circuit.   I have a feeling I'll be using the Fio + wifly xbee quite a lot.

My RL doorbell guts and diagram
Doorbells:

Most doorbells are simple buttons that power a selenoid striker that hits the chime plate(s) when the circuit is closed.  They generally have support for two different chimes so that the front and back doors have different rings.  This is usually accomplished by having two selenoid strikers, one that rebounds from the first chime plate strike and hits the second chime plate, creating the classic doorbell 'ding dong'.  That is also why the dong can be delayed by holding down the doorbell button.  "Ding.........Dong..Ding.Dong...Ding......." The second striker is blocked from strike plate two so it only chimes once "Ding".

Hand Crafted Project Harness



Ringing the Doorbell from the Internet:

The Fio/Wifly connects to my home network automatically on powerup and runs a simple web server listening on the (newly dubbed) standard internet doorbell port of 33301.   My home router forwards any requests from the internet on that port to my home's public ip address to the fio. When the fio gets a http request it rings the doorbell "Ding" and sends a message back to the requestor.  Easy peasy.
Solid state relay
Relay Hardware:

I used a solid state relay kit from sparkfun although any sort of relay with the proper characteristics should work fine.  Basically doorbells are ~15-25V AC, so solid state relays are a really good solution (they generally can't switch DC on/off).  Most solid state relays are also opti-coupled.  This means there is no current path between the 24V AC and your arduino, which is a good thing in case your arch enemy's robot tries to fry it via the doorbell.  I suppose your doorbell is also protected from cyber threats as well.  Doorbells can be dangerous in the wrong hands so be careful.

Planned Improvements:

  • Bi-Directional - ie add a RL doorbell detector circuit and ring my internet doorbell
  • Add a text display to tell me who rang the internet doorbell
  • Add a video camera capture to tell me who rang the RL doorbell
  • Power the circuit off of the doorbell AC.
  • Add mobile device notification.

Do It Yourself: