Emoncms v10.6.0 serial monitor & extended firmware upload options

There are a couple of new developments now available for testing in the Emoncms and EmonScripts master branches.

Serial Monitor

The first is a serial monitor tool, useful for serial configuration of connected hardware. Using this tool it is possible to connect up say an EmonTx up to an emonPi/emonBase and then configure the EmonTx by sending calibration commands. It will also be possible to use the tool to configure the soon to be released continuous sampling firmware for the emonPi that @Robert.Wall has been working on.

Example screenshot showing command entry:

Extended firmware upload options

With this change it is now possible to upload a wider range of firmware options from an emonPi/emonBase, either to upload the emonPi/base firmware itself or to upload firmware to a connected EmonTx or EmonTH. It’s also possible to select a firmware version to upload. The available firmwares are defined in the EmonScripts repository EmonScripts/firmware_available.json at master · openenergymonitor/EmonScripts · GitHub

Both of the above features are now available in the master branch for testing. I will aim to do a stable release with these in 1-2 weeks time.

Admin module refactoring

Included in the above is a fair bit of admin module refactoring and splitting out of what was one page into several sub pages. I’ve also moved away from calling the update emonpiupdate, with the update log file now being called just update.log (/var/log/emoncms/update.log) and a couple of other related references changed.

The underlying mechanism to start, stop, restart and disable services has also been implemented in the backend, but not in the user interface yet apart from on the serial monitor page to start and stop emonhub.

Here’s the API end points:

http://emonpi.local/admin/service/status?name=emonhub
http://emonpi.local/admin/service/stop?name=emonhub
http://emonpi.local/admin/service/start?name=emonhub
http://emonpi.local/admin/service/restart?name=emonhub
http://emonpi.local/admin/service/disable?name=emonhub
http://emonpi.local/admin/service/enable?name=emonhub

Testing

To test these features, use the Admin > Components feature to switch both Emoncms Core and EmonScripts to their master branches.

A couple of minor improvements uploaded, latest version is now 10.6.2

Here’s an example of EmonTx serial configuration using this new interface.

1. Connect the EmonTx up to the emonBase or emonPi via a USB to Serial cable/programmer:

2. Navigate to Admin > Serial Monitor. Select the external USB port: /dev/ttyUSB0, set the baud to 115200 and click Start:

The EmonTx will print out it’s current configuration at startup.

3. To enter the configuration mode at startup, type +++ and then press Enter or Send, you should now see the list of available commands: (Note the window does not auto scroll at the moment so you will need to scroll down to see this)

4. Set the node id to a custom node id by typing i and then the node id e.g 18, it will confirm by printing out the new nodeid:

image

5. Save the configuration by typing s and then press Enter or Send. Exit and continue by typing x and then Enter or Send.

6. Voltage sensor and CT calibration can be adjusted whilst the EmonTx is outside of its startup configuration mode, with the results on the readings visible immediately.

To change the Voltage sensor calibration type:

k0 CALIBRATION_VALUE
k0 265.0

To change the CT calibration type:

k1 CALIBRATION_VALUE PHASE_CALIBRATION 
k1 90.9 4.2
1 Like

I pushed up another minor fix whilst writing the above, latest version is now 10.6.3