Performing remote configuration of our data loggers with ydocTerminal in combination with our Java data collector is pretty easy, but obviously a lot of clients, which we encourage, want to use their own preferred (third party/cloud based) data collection software. Commonly, data collection software is provisioned with several methods to collect data (e.g. by importing CSV files by FTP or JSON messages through MQTT). However, enabling interactive remote configuration through such systems is a “different cup of tea” and requires a lot of implementation effort if possible at all!
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.
When a user wants to configure a data logger he can use ydocTerminal to schedule a “side path” connection by sending a request to the same MQTT-broker, FTP-server or HTTP-server as used by the data loggers and their data collection software. After a data logger has performed its regular scheduled data transfer, it will get/read the request from the broker/server.
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
Server address: The same address, port and path (URL) as used by the data logger (e.g. your-data-our-care.com/logfiles)
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.
- 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.