

Build a Robot Overlord Using Node.js, Twilio, and Arduino - jonmarkgo
http://www.twilio.com/blog/2012/06/build-a-phone-controlled-robot-using-node-js-arduino-rn-xv-wifly-arduinoand-twilio.html

======
zenocon
That's cool. Incidentally, I'm building something related (incorporates node,
Twilio, and Roving Networks WiFly). We launched a Kickstarter that did not
make funding [http://www.kickstarter.com/projects/daisyworks/internet-
your...](http://www.kickstarter.com/projects/daisyworks/internet-your-thing-0)
but I am continuing to build it out. It monitors sensors and alerts you when
conditions are met. You can also control the RN WiFly to drive GPIO through
the web browser using node, redis and SocketStream on the backend. The
hardware we built also allows you to plug in an Atmel/Arduino with more
sensors - so you could do things like drive a servo from your browser/phone,
or control a robot.

~~~
jonmarkgo
That sounds awesome, reminds me of Twine a bit. I'd love to talk more about it
if you want to drop me an e-mail: jonmarkgo@twilio.com

~~~
zenocon
Cool - sent you an email. Would be great to collaborate / exchange ideas.

------
thechut
Great work! I don't have any experience with node.js but this looks very cool,
and I love that you can just call it up.

From your writeup:

>This code is mostly self-documenting, however the one area that confused me
starting out was that you need to open a Serial port in order to use the WiFly
module.

>The one possible issue to note is that you cannot use the Serial monitor or
the Serial.print commands because the WiFly has taken over the usual port.

If this was causing debug headaches for you I would reccomend checking out the
NewSoftSerial library by Arduiniana[1]. It allows you to turn any digital pins
on the Arduino into a UART serial (RX/TX) setup. I use it all the time with
Bluetooth or Xbee projects. If you are using Arduino IDE 1.0 it's actually
already included, you don't even have to donwload the library, it's called
just "SoftSerial" in the library menu I believe.

[1]: <http://arduiniana.org/libraries/newsoftserial/>

~~~
jonmarkgo
Can you use NewSoftSerial for Serial Monitor output? The problem was that the
Wireless SD shield connects the RN-XV directly into pins 0/1 (hardware serial)
so I was unable to use the Serial Monitor.

~~~
thechut
I don't have any experience using the wireless SD shield, but after looking at
it, I see what you are saying. It forces the connection on 0 and 1 and then
has a switch to use when you need to program it? That seems like a silly
limitation of the wireless SD shield. I use the Adafruit breakout boards for
my Xbee's or wireless modules. You should still be able to use software serial
to setup a debugging serial environment, so you can use Serial.print() etc.
Here are some references:

SoftwareSerial- <http://arduino.cc/hu/Reference/SoftwareSerial>

Wifly Tester- <http://arduinology.tumblr.com/WiFly>

~~~
jonmarkgo
I'll have to try that - I was able to use the Wireless SD shield to have a
direct connection to the WiFly, but once I switched it back I was unable to
use the Serial Monitor - looks like SoftwareSerial might solve that

------
jonmarkgo
If anyone has any other Twilio/Arduino tutorials they would like to see,
please let me know! I'm working on another one at the moment but am always
open to suggestions

------
hack_edu
Why in God's name is Node.js at all appropriate for this?!

~~~
kylek
who cares. i only hope to see something interesting with hubot[1] come out of
it!

[1] <https://github.com/github/hubot>

~~~
jonmarkgo
Awesome idea, Arduino adapter

------
jgrahamc
Would be interested to know how much power those servos are pulling from the
Arduino. The regulator on the Uno is fairly limited in power output and
there's also the WiFi board to power as well.

Did you experience any problems with crashes on the Uno because of a lower
power condition?

~~~
jonmarkgo
I didn't experience any crashes, but I also haven't tried running the bot for
any extended period of time (longest I had it on was maybe 10 minutes)

If I were to make this a consumer device, or even make it a bit more resilient
I'd definitely use a separate power supply but for the purposes of just making
it work, 1 9V did the trick.

------
Bharath1234
Great one ! Thanks a lot !! Could you tell me how to connect some Input device
like UI Screen with Arduino and get touch inout from it? Any links will be
helpful!!

~~~
jonmarkgo
This tutorial looks pretty solid, LadyAda is pretty great:
<http://www.ladyada.net/products/tfttouchshield/>

~~~
Bharath1234
This is the one I was looking for ! Thanks !

------
arrowgunz
I love the idea and the project. It's so awesome. I am so happy to see NodeJS
being used this way. +10 man.

~~~
jonmarkgo
Glad you enjoyed it!

------
ericmoritz
this is basically the Rube Goldberg machine of robotics; which is cool in its
own right.

~~~
jonmarkgo
Hah, I suppose so. The hardest part for me was getting the WiFi module to work
- it was very finicky...

------
eragnew
holy crap, i need to build one of these. just to see how it works.

~~~
jonmarkgo
Its pretty fun to play with, honestly. Hasn't tried to kill me yet...

~~~
eragnew
thanks for putting the tutorial together. looks like i have plans this weekend
now :)

