Croduino Nova ESP8266 as server and dynamic DNS for IoT

Customer:

I have two questions:

  1. Following the article “Croduino Nova as a client”, you mentioned Nova as server would be next. I’m interested in how you plan to access the internet network through a router. The router doesn’t have a fixed IP. While you can reach the current IP through [method], that’s not a solution. I’ve found there are special services that enable IoT (similar to DropBox for short messages) but they require a subscription. Do you know of such a service?

  2. “How to write your own library” - Arduino IDE doesn’t allow viewing the library code, making it impossible to fix errors live (like in .ino files). If the library is somewhat larger, this is a major difficulty. How can this be solved?

Original message (Croatian)

Zahvaljujem, dobio sam odgovor za ventil.

Postavljam vam dva nova pitanja :

  1. ispod clanka “Croduino -Nova kao klijent”.

—Najavili ste kao slijedece, Nova kao server.

Zanima me kako planirate izaci na internet mrezu preko rutera. Ruter neme fiksni IP. Do trenutacnog IP. mozese doci preko , ali to nije rjesejne. Naisao sam da postoje posebni servisi koji omogucuju IoT (nesto slicno DropBoksu sam uzivoza kratke poruke) ali uz pretplatu. Znadete li neki takav servis?

  1. “Kako napisati vlastiti library”

---- Arduino IDE ne omogucije prikaz koda librarya, a time nije moguce uzivo ispraviti pogresku (kao u .INO). Ako je library iole veci to je velika poteskoca. Kako to rjesiti

Unapred zahvaljujem

Originally submitted via email support on 14 November 2016. Migrated to the forum for community visibility.

Soldered Support:

For ESP8266 as a server, this tutorial covers the basics: Build an ESP8266 Web Server - Code and Schematics (NodeMCU) | Random Nerd Tutorials. Googling “ESP8266 server” will find additional tutorials if that one doesn’t suit your needs.

However, using ESP8266 as a true internet-facing server is not recommended. The ESP8266 has limited hardware resources and can only handle a very small number of connected devices.

Regarding the IP problem, you need dynamic DNS: Dynamic DNS - Wikipedia. There are probably free services available, though I’m not sure how reliable they are.

What are you trying to accomplish? There might be a better approach - perhaps Nova works as a client to another service rather than as a true server.

For writing libraries: the compiler will output errors the same way it does for sketch (.ino) errors. Find the error in the library and fix it. You can write and develop libraries directly in Arduino IDE, compiling constantly to check for errors - just leave empty loop() and setup() functions during development. Once you find and fix the error in a text editor, compile again in Arduino IDE. You don’t need to reload the library files or reset the IDE.

Original message (Croatian)

isprike na kasnom odgovoru.

Tako je, najavaili smo NOVU kao server, a još uvijek nema tutorijala.. Privremeno, šaljem na engleskom: Build an ESP8266 Web Server - Code and Schematics (NodeMCU) | Random Nerd Tutorials
Inače, googlanjem “ESP8266 server” ćete pronaći još više tutorijala - ako Vam baš ovaj ne odgovara.

Ako želite ESP8266 koristiti kao server u smislu servera za web/servise/bilo-koju drugu stvar na internetu - nije baš preporučljivo. ESP8266 je hardwareski dosta slab te se vrlo mali broj uređaja može povezati na njega. Što se tiče problema s IP-jem, tako je, trebali biste neki dynamic DNS: Dynamic DNS - Wikipedia
Vjerojatno postoje neki free servisi, ali ne znam koliko su kvalitetni.
Možda da mi kažete što biste htjeli ostvariti, pa ću možda imati bolju ideju? Jer vjerojatno se može odraditi na drugi način umjesto da NOVA stvarno koristi kao server, nego samo kao client nekom drugom servisu.

  1. Compiler će Vam izbaciti error na jednak način kao što bi izbacio i za error u sketch-u(.ino). Pronađete error u libraryu i ispravite ga. Inače library možete pisati i “razvijati” u Arduino IDE te konstantno compile-ati kako biste vidjeli imate li grešaka, samo ostavite prazne loop i setup funkcije prilikom tog developmenta.

Kada grešku pronađete, u nekom text editoru ispravite grešku, te ponovno compile-ajte u Arduino IDE. Ne morate ponovno učitavati fajlove od library-ja ili resetirati IDE.