It's been a while since I published an update to my project. Seems I have too many projects!
Recently, I started this project back up. I've made a lot of headway in programming the project in Python, with major changes to the architecture.
Here's the status as of March 28 2014:
- It's still slated to be deployed on a Beagle Bone Black (B3)
- It will follow a MVC (Model View Controller) paradigm.
- The GUI display will utilize Kivy.
- The three major components:
- The portion that runs on the B3 will be the portion that is responsible for monitoring the sensors.
- The code for each sensor will run in its own thread.
- The GUI will run distributed across a network, both local as well as Internet.
- The Controller will run on a desktop machine. It's currently running on Ubuntu, but since it's Python, it should also run on Mac and Windows.
- The logger will run on the desktop machine.
- It will support multiple monitoring nodes.
I have been actively working on this, making a lot of headway.
At one point, after taking a couple of days off, I realized rather than reorienting myself to the code through manually walking through the code, I should put together some Sequence Diagrams. So at first I had drew these, but after having to update them a couple of times, I started looking around for something better suited to this task, while being free and lightweight.
I settled on 'PLANTUML.COM' for this activity. I highly recommend it! Now, I just keep a text file open, where I add the sequence of messages as I change the code, run plantuml tool against it, which produces a PNG output file. This has enabled me to return to the code much faster whenever I take some time off.
The first attempt was using TkInter, but after taking some time off and returning to this project, I wanted to take a look around and see what might be new. I came across Kivy. After a deep dive, I decided this was the path I was going to take. I've been reading the following books (in addition to the kivy.org documentation):
- Kivy: Interactive Applications in Python (Roberto Ulloa)
- Creating Apps in Kivy (Dusty Phillips)
Of the two books, I prefer Dusty's book "Creating Apps in Kivy"