Sunday, July 28, 2013

OSCON & PiDoorbell...

I was at OSCON last week and spoke on Thursday afternoon about PiDoorbell.  Frankly, I had expected that I would probably have about 10-20 people show up in the room that could accommodate about 100 people.  It was late in the day and there were SO many fantastic talks at the same time.

Well, when I started my talk, the room was packed, every seat was filled and there were a bunch of people standing in the back against the wall !!  I was amazed and flattered and hoped to god my live demo worked.

So, everything worked great in my hotel room and I tested it ad nauseum.  I packed things up in my little plastic box and walked the two blocks to the conference center.  Set up the hardware and, murphy showed up with a vengeance.  Video I/O errors - I thought that it was the loose connection on one of the USB connectors.  But, switching to the other one didn't help.  Repeated reboots didn't seem to make much difference either.  Ffmpeg?  Not sure.  Aaagh.

My talk was at 5p and the previous speaker didn't finish till 5p.  And, so, I was running around getting a private AP setup for dedicated network use for my project, setting up my hardware on a makeshift "table" consisting of a folding framework and a yellow notebook that my friend Melody had in her bag (I was supposed to get a separate table for my hardware, but, that didn't show up).  And, a quick test run before I plunged into my talk resulted in more video errors.  My heart sank - I had never done this talk where my live demo had not worked - that would be truly disappointing.  The live demo is what makes everything sink in and everyone finally understands the scope and use of the entire project.  Egads.  Oh well, onwards with the talk - pray to all the gods (hardware, software and any other kind).

Since I started about 15 min late, I went through my slides pretty quickly and got to the live demo portion.  A brave, obliging volunteer stepped up and we tried the first run with the whole audience watching my code run on the humungous screen.  And there was that damn "Audio I/O error" - not video this time but audio!  Great.

First attempt - resulted in audio I/O error, followed by an expletive emanating from me - hence, the laughter in the audience.

The volunteer looked mightily disappointed (as did everyone else including me) and I decided we would give it one last try.  And so we ran it again - and it WORKED ! :))  Everything uploaded swimmingly fast and I was able to play the video/audio clip on my phone.  The audience were impressed and clapped.  I wiped my brow and mentally thanked all the hardware/software gods/demi-gods/etc.

Second attempt - it worked and I got a 10 sec video/audio clip.  The video is truncated - it missed the text showing up on my phone and then playing.

I wrapped up my talk after showing a whole bunch of my code (some of it needed cleanup).

Bunch of people asked questions and were interested in downloading the code/slides etc.  I will clean up my code some more and then post all of it including my slides in the next couple of weeks.  I will also try to include a step-by-step guide to building your own PiDoorbell.  I think I'll go with MPL for the license - I believe it's Creative Commons currently.

All's well that end's well :).  I promptly signed up for the food truck crawl and spent a delightful afternoon eating my way through Portland's impressive array of food truck pods.

Next test I need to do is without the arduino and connect the proximity sensor directly to the RPI using GPIO.  Followed by live videostream + audio notification to the visitor.

[ Photos and videos courtesy of Chiu-ki Chan]