Dead Man Switch
The Battery Watch Arduino software has expanded to about 3000 lines of code. Guess what? There are certainly bugs in this software. One of the unresolved issues about the architecture of Project Curacao is that the software on the Raspberry Pi can be updated remotely easily across the Internet. The software on the Battery Watch Arduino on the other hand, can not be updated remotely as there is no current way of updating the Arduino without plugging in a USB serial port. While we are investigating options (different boot loader, figuring a way of using the USB port on the Raspberry Pi for programming – we are looking at connecting the Pi to the Arduino while cutting the power line on the USB line and feeding power from our power subsystem via the cut line to both the Pi (from the Pi Power Subsystem) and to the Arduino from the BatteryWatchdog Power Subsystem – this actually looks promising but we haven’t done it yet), we want to make our system just a bit more resilient than it currently is.
Hardware WatchDog Update
We have now built a board called the SwitchDoc Dual Watchdog . It allows for an external hardware reset of the Arduino Battery Watchdog on Project Curacao. It is now installed.
This board has been released as a product in November, 2014. It’s pretty cool and inexpensive.
Great project. I have a web-based thermostat project that also is very remote and uses some fairly elaborate fail-safe elements in hardware and software. (Look for user paulv in the forums on raspberrypi.org)
I’m interested to see how you’ve solved the updating of the python code on the pi remotely to see if I can learn about how you do it. I use a simple kludge, but since your code is better than mine…
I can offer a simple kludge to send shell commands to be executed by the pi per email, and get the results back, also per email. If you’re interested…
Tks,
Paul
Hi Paul,
Well, I kind of cheat. I have a rock solid connection down to the project most of the time. I use SCP to transfer the hourly files to a web server up here in the Northwest (https://www.milocreek.com/projectcuracaographs – Thank you MiloCreek!) and I use SCP to transfer things back and forth.
How do I cheat? I usually just edit the files on the Raspberry Pi in the Caribbean in text windows using vi (or nano for some folks). It’s edit in place.
Then I back things up with scp or in the case of a main software update, I send the software to github.com/projectcuracao
Please post your email kludge here. I’m sure there are lots of people that would be interested. Since I use RasPiConnect to control things all my commands are implemented using that. But I like your idea!
BR
John
If you use an Ethernet shield and this approach, you can update the Arduino over the web: https://www.freetronics.com/pages/how-to-upload-a-sketch-to-your-arduino-via-a-network
Actually, please disregard my last comment. That was for a network update, not the Web. Sorry.