Troubleshooting

Working with electronics can be fun and also frustrating at times. The most common issues that arise with MudPi are improper wire connections or incorrect format in the configuration. If you run in to trouble running MudPi, don't give up! Included are several methods and tools to help debug.

Debugging

I included two folders tools and debug for helping make sure things are working correctly. They include a few checks for sensor reads, communication between devices and GPIO tests.

Simply cd into the folder and run the script using python3

cd path/to/mudpi/debug
python3 blink.py

These scripts can help test features like simple GPIO writing to checking communication between node modules.

Bugs & Odd Behavior

While I was creating MudPi there was a ton of debugging along the way. I experienced a bunch of odd behavior that ranged from bugs in code, weird things due to small electronics, and still unknowns (aka leaving solder flux on connections...).

Here are a few things I ran into worth noting:

  • When using DHT11 temperature sensor on an Arduino it would connect and read correctly on the first script run for as long as the script ran for. However on the second run the sensor/device would timeout and never work unless I rebooted.
  • Temperature one wire probes tested and read fine on their own but as soon as they were loaded with other sensors they would always return bad readings.
  • Rain sensors are a bit difficult to get accurate time ranges of rain because moisture and corrosion on the sensor cause elongated moisture readings. I had to typically wipe them off once or twice a week.
  • Flux and small electronics can have leak voltage quite easily if your not super clean with your hardware work which can interfere with readings.
  • Reading False from redis in python can be cast as a string by default which is truthy and caused a long confusing bug. Instead of storing false we just removed the key from redis using a del command and check for it the keys existance in MudPi.

If you find a bug and want to propose a solution I greatly welcome any contributions. MudPi is still being developed and can use your support. Open a pull request in the repo.