Monthly Archives: September 2019

Sensor Control ‘n’ More

It’s getting time to release another version into the “Stable” Alpha channel.

I have been working on Sensor Control for the most part and have added the following features.

  • Online Status – Now Creates a new page with Sensor IP, Response Time and Sensor Name.
  • The Reports for System, Configuration and Test are pretty much the same with a few minor tweaks like colour coding response time and adding total RAM with % RAM used.
  • Added “Relay and Direct” download options.
    • With Relay, all files are collected and zipped on the local sensor
    • Download buttons are enabled upon zip creation completion
  • Download Zip of all 3 Reports – Creates a zip with all 3 reports.
  • Sensor Databases – Creates a zip of all online sensor databases.
  • Logs – Creates a zip of all online sensor logs
  • The Big Zip – Creates a zip of all online sensors Databases + logs and add all 3 reports

This section of Sensor Control is now pretty much done. I did some sloppy coding to get it working, so I’ll have to review and refactor it. I have tested using it most ways, and it seems stable, but I’m sure I’ll find an extra bug or two. I’m also not sure about the RAM limitation of the Pi’s, because even when using zipped files, the Raspberry Pi doesn’t have much RAM. I created a function to save to disk instead of memory should the database downloads be larger than available memory, but I’m pretty sure I’ll have to do a bit more to get it to writes from the HTTPS download right to disk, instead of putting all the databases into memory and then writing to disk.

Let us see… what else changed… O I’m zipping Database delivery over HTTPS by default, as it can reduce the download size of the Database A LOT! There’s more, but I’ll leave that to the changelog on GitHub.

New Release soon!

Sensor Control – Reports

I have Sensor Control Reports complete. I even upgraded the configuration report to colour code on/off items and include more settings. I still don’t really like the layout of the IP’s and functions… but I’ll worry more about that later, and just concentrate on the functionality. I have the HTML layout complete for configuring online services in Sensor Control as well.

Sensor Control is coming together fairly well. It shall be a worthy replacement for Sensor Control Center. I might end up stripping down what Sensor Control Center does, so it concentrates on data manipulation, instead of sensor manipulation. Since data manipulation is where you want real computing power, that’s the direction Sensor Control Center should go… which means it probably needs a name change… hmm something like… Kootnet Data Manipulation? or … Kootnet Sensor Companion? Probably more along the lines of Kootnet Sensors Analytics. Yeah, I think I like the last one.

This means I have a fair amount of work ahead of me. I need to finish off the new Sensor Control, then re-model Sensor Control Center into Kootnet Sensors Analytics. This means I also have to add advanced analytical abilities to Kootnet Sensors Analytics, AKA, put in some AI learning to analyze the data and find neat patterns we would miss ourselves. O I also need to work on tests.

O I added the ability to download the Sensor Database or Logs from whatever sensors you have listed in Sensor Control. one click to Download all sensor logs and Databases to review at a later time. I have also been thinking about adding a “Download the ‘Full Package'” option that would combine reports, databases, and logs of all listed sensors into a single zip file. This would make it especially easy to “grab ‘n’ go”.

KootnetSensors does run on Ubuntu!

It was surprisingly easy to get Kootnet Sensors installed on Ubuntu. After tweaking a few Raspbian specific areas, it installed just fine!

So this is awesome and will help with development, as I can test things on much faster systems before deploying to the Pi Sensors. I can also run it from my development environment now (making sure the original service is disabled). So yay!

I suppose this opens up the possibility of using this on other platforms too, like Windows. I have no plans to support Windows as a sensor but it’s nice to know someone could donate time to add support or fork the project.

I just wanted to say it works on Ubuntu. W00t.

Improvements, Fixes, and a New Server-Side Release

I have been working on the final touches for the past few days. Improving logging, refactoring and finalizing Open Sense Map as best I can. Kootnet Sensors now supports adding the sensor onto an Open Sense Map account with the press of a button. It will automatically add all supported sensors to Open Sense Map but I’m not sure how to get the ID’s required through the API, so you have to log in to Open Sense Map and grab the IDs used in the settings section of Kootnet Sensors for Open Sense Map.

I have already sent Open Sense Map an email asking about how to get those ID’s through the registration process, so hopefully, they’ll reply soon.

Things seem fairly stable right now, so I released Version Alpha.27.126 under the standard update channel.

I’m pondering what to work on next since there are a few area’s I need to update now. Here’s a list of my Todo’s so far.

  1. Continue working on ‘Sensor Control’ – This is a web-based replacement for the PC Control Center program. Right now it can check if up to 20 other sensors are Online.
  2. Update the Control Center program.
    • Support the new Online Service Configuration files.
    • Incorporate improvements made to Graphing from the Sensor Side.
  3. Include the required sensor “Drivers” and other Python modules instead of downloading them – This should speed up installation and standardize the module versions. Some will always be downloaded, such as Flask to ensure security updates.
  4. Update Sensor reports with newly learned CSS & HTML.
  5. Add more sensor support (This one will never be complete, always adding more sensors).

Another thing I have been thinking of doing is adding support to install the Sensor Server side on Ubuntu. I’m not sure I could get the main sensors working with it, but at least I could more quickly view changes I want to test in areas outside the sensors, such as cosmetic changes to the HTML pages… In fact… I have not actually tried to install it on Ubuntu … it might just work now… Guess that’s the first step, see what breaks 🙂

That’s it for today.

Enhancements and more Online Services

I had someone email me about my program recently who asked if I was going to support more online services like Luftdaten. This was great, because I posted a few days before, asking what other Online Services I could add support for. In fact, I still have gotten no replies on the forum post asking about other services. Through Luftdaten, I also found Open Sense Map, which I am adding support for right now.

Luftdaten is already working and supported but Open Sense Map has a much more complicated API with Logins, Tokens, Station ID and even Sensor IDs (one per sensor). It looks like the API is pretty comprehensive, as I can even create new accounts, sensor stations, change sensor settings, etc. So far I have 2 sensors uploading to Open Sense Map with manually set Sensor ID’s and such, so next, I want to be able to just enter in a Username / Password and have the program create the sensor under their account with included Sensor IDs and such (Program use Simplicity is a project goal).

I modified my Graphing to use multiprocessing instead of threading. There was no difference in the time it took to finish a graph, but the web interface seemed more responsive during its creation on the Pi’s with more then 1 CPU core.

Let’s see … what else… I have started on the web portals “Sensor Control”, which allows interaction with multiple sensors (up to 20 right now). Sensor Control is going to be a “replacement interface” for the PC software Control Center. I don’t think I’ll actually get rid of the Control Center, as it can create graphs on much faster computers and interact with offline databases but I will be putting more focus on the Web App’s side of things. So far it can check to see if other sensors are online. Next, I’ll be adding the ability to create system and configuration reports, then the ability to change settings on multiple sensors at a time (Good for the deployment of multiple similar sensors).

That’s it for now.