More features!

It’s been a bit since my last update.  I’m happy to say, there are a few nice new features to the PC Control Center.  

I have now added the ability to graph a sensor’s reading in real time with a customizable duration between new readings.  I was originally going to pull up a graph for each sensor IP & selected sensor types, but matplotlib isn’t thread safe, and I’ll have to look into multiprocessing to get that working.  You can open multiple copies of the program itself, to view multiple live sensors at the same time.  

I also made a new Report, for viewing a snapshot of all sensor readings from the selected sensor IP’s.  Its a good way to see if you have the sensor setup right remotely, or to quickly test multiple sensors, making sure things are working as expected.  

I’m feeling pretty good about the advancements, but the primary GUI code is getting pretty big, at over 2000 lines of code!  The more that builds up, the less I feel like figuring out how to break it up, but it will be done at some point, and the longer I wait, the more I’ll of learned about coding, which should help with re-designing.  The main problem I’m having, is wrapping my head around how to interact with all the GUI components between software modules.  I’m sure the solution is in Object Oriented Programing, but I’m still working on OOP concepts, so I’m not sure what my timeframe is going to be for re-designing the GUI. 

O cool side note, I have 4 Raspberry Pi’s that have been up and running continuously for more than 60 days!  That’s pretty good for reliability, considering 2 of them are outside and I test my programs on them all the time. 

I almost forgot, I spent time making sure the PC Control Center works properly under Linux, specifically Raspbian.  I had to add some customizations in the program for the GNU/linux OS, especially in the GUI window sizes, but it works very well now!  I’m going to put the PC Control Center into the Raspberry Pi Sensor installer, so you can manage multiple sensors, from the sensors themselves through VNC.  This may help with not so great remote connections, as the local units should have a better connection to interact with the local sensors and prevent network timeouts.  

On another side note, I’m kinda excited thinking of what I might do with the sensors, using these programs as a interface to get readings remotely.  I was thinking of making other programs, that interact with the sensor network server, to get readings and combine a bunch to automate certain things, like opening doors or windows, turning on and off lights, adjusting light levels based on current light levels, etc.   
With halloween coming up, one could add a thermal or motion detector with a distance sensor to perfectly time spooky whatevers. Imagine a skeleton that does something different depending on the distance of the person or objects, for example at 6 or more meters, it plays something to get them over, like a nice lady voice offering candy, then at 3 meters, it starts to laugh, if the person moves away, it stops laughing, and tries to call them back, otherwise if they keep coming, it laughs until 1 meter, then it does some scary thing with lights and all.
Loads of cool stuff that can be done!  

I’m sure I’m forgetting to mention a bunch of other changes …. like how I multithreaded the database downloads, but that’s good enough for this update.  I plan on doing a bit more testing and refactoring before putting out another version.  

Until next time!

Leave a Comment

NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>