Emonpi auto reflash

From lechacal
Jump to navigation Jump to search

If you have installed the Emonpi image on your Raspberrypi and have connected the RPICT card on it then there are big chances the RPICT firmware has been wiped out.

Identifying the problem

To confirm this is the case install the lcl-show-header.py utility with the commands below.

wget lechacal.com/RPICT/tools/lcl-show-header.py.zip
unzip lcl-show-header.py.zip
sudo mv lcl-show-header.py /usr/local/bin/

Then run it with

lcl-show-header.py

If the RPICT firmware has been modified the following message will be displayed.

Reflash factory firmware

To fix this you will have to restore the original firmware.

First thing is to stop the emonhub process.

sudo systemctl stop emonhub


Then download the latest firmware

wget http://lechacal.com/RPICT/sketch/RPICT_MCP3208_v3.2.0.ino.hex


then upload it to the RPICT

lcl-upload-sketch.sh RPICT_MCP3208_v3.2.0.ino.hex

Restore the configuration

After that you should restore the factory configuration. You should have received a four letter code with the RPICT card. We will assume TKPJ in the example below. Replace TKPJ with appropriate.

Get the configuration:

wget lechacal.com/hardware/c/TKPJ.conf

Write it

lcl-rpict-config.py -a -w TKPJ.conf

At that point the RPICT card will be fully restored.

If you intend to keep using the Emonpi image and prevent the reflash from happening.

The right way to do this is still unknown to us. However we do have a solution that works for now. Let us know if you know a better solution.

Open the following file:

nano /opt/openenergymonitor/EmonScripts/update/atmega_firmware_upload.sh

Then change line number 6 to become

serial_port="none"