ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | Q&A
Ask Your Question

Bare, very slim ROS node running on DD-WRT router?

asked 2012-03-15 04:40:53 -0600

JBuesch gravatar image

updated 2014-01-28 17:11:38 -0600

ngrennan gravatar image

Hello everyone,

I am looking for information about having a ROS node running on a DD-WRT enabled router.

The node would be used to send status data back to the ROS main system about certain router parameters and thus doesn't need any fancy ROS features. Basically I am looking for something that is doing the ROS communication management (XML-RPC management and TCP/IP channel allocation) stuff for me.

I know that I could do that on my own, but I am not that deep into c++ programming (I don't want to use python due to the overhead) and any hints would save precious for time :)

Thanks for any help/hints in advance. J.B.

edit retag flag offensive close merge delete


You may write a simple socket-based application, which will communicate with your host, and thus translate into ROS.

noonv gravatar image noonv  ( 2012-03-15 08:25:24 -0600 )edit

3 Answers

Sort by ยป oldest newest most voted

answered 2012-03-15 10:37:30 -0600

tjay gravatar image

As the author of rosbridge, my bias goes without saying. Still, it is meant for exactly your situation. Here's a quick example of sending a simple UInt8 status message from C: status.c. This simple client ignores any feedback from the server what-so-ever. My recommended approach would be for the WRT to open and close a fresh connection each status update. That way it doesn't have to handle long-standing connections. With this approach, the very first status update might be lost (because establishing a fresh topic can take longer than the publish request), but everything should work smoothly once the /wrtStatus (or whatever you use) is established.

edit flag offensive delete link more

answered 2012-03-15 05:03:12 -0600

Have you looked at dd_wrt_acces_point? It may be able to do what you want.

edit flag offensive delete link more

answered 2012-03-15 05:14:01 -0600

JBuesch gravatar image

updated 2012-03-15 06:53:07 -0600

Yes, I did look into that, but they are pulling the information out of http website requests and parsing the site afterwards (total overkill and dead slow). That also means that there is no ROS stuff actually running on the WRT.

But thanks for the suggestion. I am kind of unwilling to hack the ROS stack into a few C++ files myself so I might end up with something like that :)

I also recognized the rosbridge package which sounds like an interesting alternative.

edit flag offensive delete link more


You say dead slow; I don't believe you. How much data are you really talking about?

Mac gravatar image Mac  ( 2012-03-15 10:34:22 -0600 )edit

I am sorry to hear, that you don't believe me... ;) No seriously, what I meant was that the web interface is dead slow in respect of my needs. It takes at least one second until I get a refreshed web interface page while I want to read out data 10 times a second or so.

JBuesch gravatar image JBuesch  ( 2012-03-15 21:36:57 -0600 )edit

Oh, that makes sense. I thought you meant that pulling and parsing the page was slow. If the server is slow _generating_ the page, then I totally buy it.

Mac gravatar image Mac  ( 2012-03-19 05:47:22 -0600 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools


Asked: 2012-03-15 04:40:53 -0600

Seen: 643 times

Last updated: Mar 15 '12