The use of the ESP8266 in the world of IoT

User avatar
By jonsmirl
#571
elektronika_ba wrote:Just wondering, would it be possible to access IoT device within your home (for example) from outside of your home (away from local WiFi network) without using some sort of Cloud server?


You need to open ports on your router to do that. Open port means open doors for hackers to play with.

That is why a cloud server is used. The IOT device talks to the cloud server without opening a port (the cloud can't call it back). The cloud server is hardened to take all of the normal Internet junk. Then you talk to the cloud server via your browser. So the cloud is used to increase security.

Of course you might want to write your own cloud server. Google App Engine has a free tier that never expires.
User avatar
By JDub
#582 For SSDP, below is a link to code for on an arduino, so I don't see why not. All you need is a basic HTTP server and some multicast capabilities. We can probably just port over a lightweight server and add what's needed.

https://github.com/jcw/ethercard/blob/master/examples/SSDP/SSDP.ino

I'll have to look into what else UPnP needs on the device side.

Yes, if you want external access you either need to use the cloud or run your own externally-accessible cloud. I already run an open SSH server, so I prefer an option that uses as little infrastructure as possible.
User avatar
By jonsmirl
#586 You don't even have to have a server. You can just write a C app that implements http and UPNP all in one.

The ESP8266 IP stack is from Contiki. http://www.contiki-os.org/
Contiki also has a micro web server.

If you are more adventurous, it might make sense to port Contiki onto the ESP8233. It can run in as little as 64KB.

Contiki is used in a lot of IOT platforms. It has IPv6 and some encryption support.
Instead of UPNP it uses COAP. COAP works with battery power devices which are only on 1% of the time.