In the weeks leading up to Christmas, we replaced the hardware that was running the digital 4Candles prayer system in St Michael’s church in Hawkshead. One of the reasons for the system upgrade was to attempt to improve and/or deal with poor network connectivity that the system relies so heavily upon. As St Michael’s church is in a very rural location, even the most reliable 3G internet dongles available to us have a very poor connection – transmission times are excessive, messages can be received corrupted or in many cases not at received all.
This post is specific to the changes we made to the new system that was installed in hawkshead, but seem applicable to much of the IoT, which is inherently reliant on a stable internet connection.
The new system is based on a raspberry pi 2, and is much smaller, more robust, and more energy efficient than the old version. With an update to the software, it no longer assumes that messages transmitted have been a success – any transmissions are now cached and only considered sent once an acknowledgement is received. Additionally, all messages are now sent as a two-part message consisting (a) the message, and (b) a generated checksum of message. When this message is received, the data and checksum are compared, and only considered uncorrupted and complete if these two components are a match. The raspberry pi based version can now handle a lack of internet connection more elegantly. In the case of a connection dropout, the system caches the data and retries a while later. Finally, the new system handles power outages more elegantly. All of the data is now persistent after a restart or power-outage, and doesn’t require an internet connection to resume where it left off.
All of these upgrades where just in the nick of time too, with much of Lancashire being flooded at the start of December resulting in rolling blackouts and terrible weather. These upgrades helped keep the system up and running as much as possible, allowing members of both St Micheal’s and St Peter’s to show their support with digital prayers.