Emonpi auto reflash
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
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
then upload it to the RPICT
avrdude -c arduino -p ATMEGA328P -P /dev/ttyAMA0 -b 115200 -U flash:w:RPICT_MCP3208_v3.2.0.ino.hex
Restore the configuration
Now the factory configuration must be restored. 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:
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:
sudo nano /etc/rc.local
Then change line number 21 by adding a # in front to comment it like below.
#su pi -c '/opt/openenergymonitor/EmonScripts/update/firstbootupdate'