Hacker News new | comments | ask | show | jobs | submit login
Build a Robot Overlord Using Node.js, Twilio, and Arduino (twilio.com)
75 points by jonmarkgo on July 3, 2012 | hide | past | web | favorite | 24 comments

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... 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.

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

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

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/

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.

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

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

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

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

It was the easiest way I found to set up a simultaneous HTTP server and TCP socket to the bot. What would you recommend?

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

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

Awesome idea, Arduino adapter

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?

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.

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!!

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

This is the one I was looking for ! Thanks !

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

Glad you enjoyed it!

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

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

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

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

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

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact