HaddingtonDynamics / Dexter

GNU General Public License v3.0
375 stars 85 forks source link

Remote operation / monitoring #16

Closed JamesNewton closed 6 years ago

JamesNewton commented 6 years ago

In cases were Dexters are operating remotely, it will be important to get their status, and perhaps operate them over the internet. We already have a way of converting the actual socket connections used by the firmware into WebSocket connections (which are NOT socket connections at all) via the node.js server

To move this out to the internet, basically, we need a chat server: Each Dexter nodeJS server will connect to the chat server on startup, be registered as a robot in the "chat" and then when a human connects his or her browser to the chat server, they will see a list of online Dexters, and can send any of them a message. That message would go to the server, which would then relay it to the open websocket connection to that Dexter. The NodeJS server on the Dexter would receive the message, relay it as a true socket message to the firmware on localhost, pick up the response, and relay it back to the chat server via websocket. The chat server would then relay that back to the human via the websocket connection to the browser. Like a Private Message on a standard chat server.

Speed is very important for this application since moving the robot precisely requires very fast feedback.

If you have experience spinning up Node.JS servers on public facing platforms, we'd like to hear from you.

JamesNewton commented 6 years ago

Duplicate of #31

JamesNewton commented 4 years ago

Kamino cloned this issue to HaddingtonDynamics/OCADO