Radmon.org Update

  • Simomax
  • Simomax's Avatar Topic Author
  • Offline
  • Moderator
  • Moderator
  • Nuts about radioactive everything!
More
2 months 1 week ago - 2 months 1 week ago #6284 by Simomax
Radmon.org Update was created by Simomax
Hello all,

I'm posting this as you may not read the Radmon.org blog very often.

Dan has asked that I work with him on Radmon.org, and I eagerly accepted! I have written a short blog post here about that and some potential upgrades and changes that may come to Radmon at some time in the future .
https://radmon.org/index.php/home/2-uncategorised/21-introduction-update

Cheers,
Simomax
 
Last edit: 2 months 1 week ago by Simomax.
The following user(s) said Thank You: nu3e

Please Log in or Create an account to join the conversation.

More
2 months 1 week ago #6285 by mw0uzo
Replied by mw0uzo on topic Radmon.org Update
Tis true! Simomax will bring energy and his tireless fascination with radioactive stuff and we'll be able to step radmon.org up a level.

Many of you will agree that radmon.org deserves more than just periodic maintenance, I know and feel it and it's time to face up to the fact that I need some help with it to push it along the way.

radmon.org was always meant to be a community effort, lightweight and fun. It will remain that way, plus be simple, accessible and functional. It will always be independent and standalone.

If there is something you can help with, whether it is writing articles, digging up news for discussion or maintaining/writing software that has been at home on the forum, please let us know!
The following user(s) said Thank You: nu3e

Please Log in or Create an account to join the conversation.

  • Simomax
  • Simomax's Avatar Topic Author
  • Offline
  • Moderator
  • Moderator
  • Nuts about radioactive everything!
More
2 months 1 day ago - 1 month 2 weeks ago #6298 by Simomax
Replied by Simomax on topic Radmon.org Update
I have spent quite some time over the last week getting to know the system and how everything fits together. I have been looking at things and documenting them more than actually making changes at the moment, but improvements will be coming. I have found several bugs, found some ways performance can be improved and started making a list of improvements and new features that we can implement in the future. Below are some of the things Dan (mw0uzo) and I will be addressing in the future. I am not giving any time scales for these, as I have mentioned, both Dan and I have life commitments that take priority and we are doing this in our free time.

Performance:
  • Graph generation uses a lot of valuable CPU cycles. I would like this to be changed so the client machines (your browser) draws the graphs dynamically. This would move the processing from the Radmon.org server to the client. There is a good chance that the client can draw the graphs faster than the Radmon.org server, and so would speed up graph generation for the user and remove the load from the server. I have used a graph drawing library in the past, but unfortunetly there is no free license for it any more and would cost $350 for a perpetual license. I will look at this and if there are any free alternatives in the not too distant future. The same can be said about the station list, as a little graphic with the current CPM and status is drawn, for every station, every time the station submits. This can be changed to text only, IMHO, and will reduce some load.
  • We are looking into moving the database to a separate server (another Pi). The two most cycle consuming processes are apache (web server) and MySQL (database). Moving the database processing to another server would free up a lot of cycles on the main server. Dan thinks he might be able to get a Pi 3 for this, but a Pi 4 would be favourable. Any donations towards this would be very welcomed and we could purchase a new Pi 4 with a good chunk of RAM (~£85 for a Pi 4 with 8GB RAM). But, for now if Dan can get hold of the Pi 3, we will install that and move the DB over to that server.
  • Without going into too much detail (for security reasons), I will be looking at restructuring some of the core functions and moving them to their own scripts. Whilst this will add a little overhead to each function, it should, in theory, reduce the load on the server having to read thousands of lines of code only to execute 20 lines of them.

Bugs:
  • So far I have identified about 15 bugs. I am not going into any detail for security reasons although none are security related. I just don't want to give away anything a malicious user may use to our disadvantage.
    Generally these bugs are hangovers from when Dan migrated/rebuilt Radmon.org. Some things only half implemented, some depreciated, but still hanging around. There are a bunch of settings that when updated via API or Radlog.exe, they are written to the DB, but these are not reflected in the user's Joomla profile. And one where the 1 year graph (on one of my stations!) is failing to draw properly due to either duff data in the DB, or is not being processed properly.
    There isn't a whole lot, and 99% of users won't even notice this in normal operation, but nonetheless, I do intend on straightening them out.

Radlog.exe:
  • So far I/we haven't spent much time looking at this, as it mainly works well. One new feature I would like in Radlog.exe are buttons to 'get' all the information form a users' profile. For instance, a user sets up a new machine, installs Radlog, enters their username and data sending password, then hits a button and it will retreive all the settings from the user's profile. Things such as station description, location, lat/long, conversion factor etc.
  • Shared data isn't working properly and we are looking to address this with the next release of Radlog (0.44?)

Radmon.org - new features (the gravy ):
  • Update the 'software' page as it contains out of date information. I would like to remove the arduino code from that page and instead have a section for arduino etc that points to specific threads on the forum. Back in the day when there was only one or two types of arduino (Uno, Mega) boards the code there sufficed, but as there are now many flavours (ESP8266, ESP32 etc) that code will not work with them and has caused some confusion in the past. I suspect it may have also frustrated some users to the point they may have given up. I would also like to write and make available arduino code for all flavours - Uno, Mega, ESPs and their different network connection methods, WizNet ethernet, ENC28J60 ethernet, WiFi etc. I have already written a tried and tested bare bones sketch for the ESP8266 that works well and can be found here:  https://radmon.org/index.php/forum/howtos-and-faqs/1225-esp8266-wemos-d1-mini-arduino-code-bare-bones-code-verified-working
  • Write an 'About' page where new and old users can read a little history about the project. We may also include a change log going forward as I like to document everything!
  • Add a 'documents' library. This would contain user submitted documents. Books, datasheets, instruction manuals, basically anything that would be valuable to other users. These would have to be manually vetted to ensure no copyright material was made available for download. My thoughts are a one-stop-shop for information.
  • Make the users' station page (with all the graphs) prettier. Maybe add some kind of CPM meter to the page above the graphs or something similar, and maybe somewhere a user can write a little bit about their station without being restricted to just the description field. It would be nice to have the navigation on that page for ease of navigating the site, but I suspect there are reasons that hasn't been done already, namely, passing variables through Joomla. Joomla is a bitch, yanno. 
  • Write a complete Radmon.org API document. This is nearly complete, all API functions have been documented but I need to sort them into a nice order and make it pretty.
  • Write a complete configuration guide for Radlog.exe. Documentation along with pictures of the various Radlog configuration pages stating what each and every input field is and does, all the buttons, and an explanation of the shared data and log files etc. Basically a complete manual for Radmon.exe. If anyone would like to assist in this task then please send me a PM!
  • Have multiple stations under one user account. This is something I would like to see, as currently every station requires a separate user login for data submission. This would be a big task and require a large portion of Radmon.org core to be completely re-written.
  • Setup a user control panel where said user can enable and disable their station from the main stations page and map, remove submitted data between two time/dates, or change them with a fixed value. (This would aid in removing spikes and other arbitrary data submissions.) 
  • Add a facility for users to draw a historic graph between two dates.
  • Add a facility to automatically snooze stations that are in alert. I see too often a station just chunnering away, throwing alert after alert, one on top of the rest, of the alerts page. It would be nicer to display, say 10 alerts, then the alerts would be snoozed, but the station would still be shown, in alert, with the latest reading only at a different part of the page Alerts page was redesigned to accommodate more function without relinquishing the old.
  • Add a facility for gamma spectrum uploads. This is going to take some thinking about how to implement it in a way that works for both users submitting them and also users viewing them. This will be taking a low priority as I can only see a very small amount of users that would actually use this facility.
  • Create some form of off-site server monitoring so Dan and i can be notified if the server goes down, or looses it's network, or whatever.
  • Look into/add facility for users to be notified of private messages landing in their inboxes.
User requests:
I have been through some of the old forum topics and collated a list of user requests that I may implement in the future.
  • "It would be nice to have "erase" button to delete all your data in case you make changes in your setup or you finished the test period" - This feature already exists, but hasn't been implemented in any user friendly way - it looks to be something that was used during early development. I'm personally not a fan of deleting everything, so I will work on making it so a user can select a date range and remove the records that way.
  • "Is it possible to get graphs for the past 1, 2 or 5 years?" - As it stands right now, no. it is not something I would implement now with the way the graphs are generated and adding more graphs to those will only compound the performance with generating the current 5 graphs (daily, weekly, monthly, quarterly & yearly.) This would be a part of changes to moving the graph generation from the server to the client, and then implement a feature to display a graph between any two dates/times.
  • "A 'Last gamma spectrum' graph would be a nice addition." - See above with what I mention about a facility for gamma spectrum uploads.
  • "Expand the data that can be sent? Definitions of data could easily be put into the user profile for voltage, temperature, whatever." - Yes, this would be a cool feature. It requires some thought and a lot of code changes to incorporate this. It would also have to be done in such a way that the CPM submissions would govern whether the other data is displayed, or even received. The reason for this is to stop people simply using Radmon as a temperature gauge, or something else trivial. It would require that a CPM submission would be required in order for other data to be submitted. No CPM submission, no other sensors. That way we keep Radmon primarily for radiation, and the other sensors are 2nd to that. This would require major core changes.
  • "Implement php function call to draw custom radmon.org maps at specified zoom/location/mode for webmasters" - Agreed! I do miss the old map where I had it display just the UK on my personal site. This will come in time.

So, that is about where we are so far. Your comments and thoughts are most welcome and if you have any ideas for features that could be implemented in the future then please do let us know!

Simomax
Last edit: 1 month 2 weeks ago by Simomax.
The following user(s) said Thank You: FSM19

Please Log in or Create an account to join the conversation.

More
2 months 1 day ago - 2 months 1 day ago #6300 by FSM19
Replied by FSM19 on topic Radmon.org Update
Some great ideas there. I particularly like the comments about Arduinos. I have several projects underway, not all radiation linked, and due to some of the stuff being ancient, it is often tricky to get sketches to work. One project I am working on, and which might be useful is an alarm that announces when Radmon goes down.
Last edit: 2 months 1 day ago by FSM19.

Please Log in or Create an account to join the conversation.

  • Simomax
  • Simomax's Avatar Topic Author
  • Offline
  • Moderator
  • Moderator
  • Nuts about radioactive everything!
More
2 months 1 day ago #6301 by Simomax
Replied by Simomax on topic Radmon.org Update

One project I am working on, and which might be useful is an alarm that announces when Radmon goes down.

That sounds like an excellent idea! Please let us know how you get on.

Please Log in or Create an account to join the conversation.

  • Simomax
  • Simomax's Avatar Topic Author
  • Offline
  • Moderator
  • Moderator
  • Nuts about radioactive everything!
More
1 month 2 weeks ago - 1 month 2 weeks ago #6330 by Simomax
Replied by Simomax on topic Radmon.org Update
A sneak peek of the new control panel I am working on. We are gonna remove half of the Joomla profile and throw it into something like this:

 

I'll let you know when it is ready. 
Attachments:
Last edit: 1 month 2 weeks ago by Simomax.

Please Log in or Create an account to join the conversation.

Moderators: Gamma-ManGetSirius
Time to create page: 2.474 seconds
Powered by Kunena Forum
Everything's free. Please support us by considering a donation. Log in first!
Solar powered Raspberry Pi 4 server stats: CPU 97% Memory 15% Swap 18% CPU temp=69.1'C Uptime 32 Days