2

Hi we have an IOT project that has a running website + android app , that is made on Node.js server and uses the HTTP protocol with REST API's to communicate with embedded device CC3200 from Texas Instruments .

The project controls heating beds by sending messages from web or mobile to CC3200 which is our control box that sends the commands to the heating beds .

Problems :

  1. We require port-forwarding on certain ports , we need to get rid of it
  2. CC3200 when post changes to the web , changes cannot be seen unless the page is refreshed .

I researched and found that there are two possible solutions , either to use IO.js or switch to MQTT . But at this final stage of the project both the solutions seem like starting from a beginning .

Any help on this will be appreciated .

PS: Port-forwarding is more of a big issue

dexter87
  • 85
  • 1
  • 8

1 Answers1

0

Most solutions typically relies on a long-lasting connection initiated by the embedded device to the outside server in order to get rid of port forwarding issues. As you cited it, MQTT allows you to do just that, but so does Long-polling HTTP, or even Websockets.

Using one of the above does not necessarily mean starting from the beginning, but certainly requires some additional work to get this logic implemented on the embedded device on the first hand, and setup a publicly available secure message broker (e.g MQTT) on the other.

Another solution, would be to use UPnP IGD to dynamically add port-forwarding entries on the home gateway (if it is supported), or use STUN techniques. Note however that this solution will expose the device to the outside world, publicly, so you might want to pay attention to the security aspects this implies.

See also :

Halim Qarroum
  • 13,985
  • 4
  • 46
  • 71