Remote data logger configuration by MQTT, FTP and HTTP

Luckily we have implemented a method to unburden the developers of such systems, so they can fully concentrate on what they need to do with all the collected data. The idea behind our method is to have a separate "side path" for configuration purposes, but a path that is only walked when there is a need to configure, not unnecessarily consuming precious battery power! Our method makes use of a "tunnel-server" servicing secure and "peer-to-peer" encrypted communication channels between data loggers and ydocTerminal.

Note: Both the data logger and the PC running ydocTerminal should use NTP time synchronization.
Within ydocTerminal click: File->New->Schedule a remote connection.
Specify the S/N of the data logger you want to configure and when you think it’s a convenient moment to configure the logger. Obviously: A tunnel cannot be established before the next scheduled data transfer interval of the data logger. A tunnel can only be established if ydocTerminal is running at the scheduled moment. When running, ydocTerminal will pop-up a terminal window a few minutes before the scheduled moment.
Type of Server
- MQTT-broker
- FTP(S)-server
- HTTP(S)-server
User/Password: The same credentials as used by the data logger as they are a/o used in the encryption keys.
Tunnel Server Properties This is the Server servicing the secure and encrypted channel between data logger and ydocTerminal. Standard our server is used (tunnel.ydoc.biz), don’t worry we can’t eavesdrop your data as the communication is ‘Peer-to-Peer’ encrypted by security keys not know to the tunnel server. If having doubts, please feel free to run your own tunnel server (ydocDatacollector) on your own Java virtual machine.
Prerequisites
- FTP: User should have read/write/delete rights and the FTP-server/collector should not auto delete any *.tlr files.
- HTTP: The HTTP-server should pass the request to the data logger in a custom HTTP response header(See: Data logger manual for details).
Tip: If its not feasible to meet the prerequisites on your data collection platform you could consider to use a secondary data transfer method for just remote configuration purpose, e.g. by running a free ydocDatacollector on a Java virtual machine. You can setup a logger to send only a small heart-beat message by this secondary data transfer method once a day, to minimize power consumption and unnecessary data file transfer. This will give you the opportunity to schedule a remote connection the next day or later at a convenient time to you.