Night Sky Pi 0.1.0 Pre-Release
The Night Sky Pi has progressed to a point where I felt it was acceptable to create a pre-release. I’ve had an instance running in the garden for a few weeks now with little issue. The software has demonstrated that it is capable of capturing images from sunset to sunrise. The images have acceptable exposure, and the images are packaged at the end of the observation.
However, there have been issues, most notably with moisture. Sadly this is not something I can solve with software, so I feel that the release still stands. I’ll address the moisture separately.
Going Modular
The design approach has changed since starting the project. This is down to restricting the project to do single task and doing that task well. This was inspired by the work I had done with the open-weather dumper. The open weather dumper has the single task of getting the latest weather conditions from an API and dumping that data into a JSON file. The night sky pi was enhanced to be able to pull in external data to include in the image JSON file. Due to this pattern, I’ve decided to lower the requirements of the night sky pi.
The night sky pi is now only responsible for capturing the image, and associated data. Then at the end of the observation period zip all the data up into a single package, and keep the data directory clean which is configurable. The extra requirements expressed at the start of the project which was to send the data off-site to be processed elsewhere will be accepted by another small application with the sole task of scanning the data directory and sending the data to another system.
I feel that this direction will allow the night sky pi, and supporting applications to grow independently while being more reliable. It’s similar to the concept of microservices. Yes, there is duplication of code, mostly with reading a configuration and some boilerplate. Although, I believe the benefits outweigh this slight drawback.
Additional Testing
The intention is to run the Night Sky Pi in the garden for a few weeks or months, just to monitor how the system performs. While this is going on I’ll be trying to address or at least investigate the moisture issues that I’ve already established. The Night Sky Pi code also needs to be worked on, although, for the initial release, no additional features or enhancements will be incorporated. The changes between now and version 1.0.0 will consist of bug fixes as they arise and an increase in test coverage.
There is also a new supporting service already being started which is the nsp-data-sender, which completes the list of original requirements list, by sending the data on the night sky pi to a remote location.