Ok I'll use you the formula you suggest and read your comments again.
Please, however, let me know and answer any of the questions I asked which are not covered in your comments or the GL manual.
Yes, I'll look at the gsup_utils.py file, thanks.
Now for something completely different:
Have you considered, or have any opinions on, modifying you GL app for use with gamma spectrometry to identify radionucleotides via a scintillation crystal, photomultiplier tube (PMT), (USB) audio adapter solution? Somewhat like a DIY version of a Radiacode.
I recently purchased a PMT (pic attached) and eventually I'll be trying to connect it to a multichannel analyzer (MCA) + spectrometry software solution from an open-source software project I found.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
Anonymous
-
2024-06-23
Ok will use the formula you suggest and re-read your comments.
Please however, respond to my questions (not covered in your comments or the GL manual).
Thanks for letting me know about gsup_utils.py, I will look at it.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Actually, the Radiacode and its software are so good, it is hard to make anything significantly better. I had contacted them, offering GeigerLog adaptation, but they are not interested. So, this won't happen.
The requirement for spectra analysis is so much different from GeigerLog's current offer, that its integration into GeigerLog is a real challenge. Maybe a separate program, like "GeigerSpectra", is needed. Demanding, but not impossible.
What is your plan regarding data preparation from the PMT and delivering to "GeigerSpectra"? I guess you will need a microprocessor to handle this? Are you able to program C/C++?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Yes, interesting project and not as difficult (or expensive) as would seem.
I'd love to get a Radiacode but I've got a few more pennies to add to the piggybank :)
I believe they're using solid state ICs to perform photomultiplication, and these must be sufficiently accurate/efficient to get reliable results. While bulky, PMTs seem a bit more "old-school" but might be just still as accurate or maybe even better depending on the type of scintillation material and tube design.
Yes, it's a shame they're not interested in adapting GL, or may it's for the best.
Plan:
It's pretty straightforward actually. Hardware is relatively simple to build and software is handled by that open-source project I mentioned before. Here's the basic topology:
Scintillator (plastic or NaI(Th)) >> PMT (rewired w/ resistors in series + some caps) >> MCA (provides high-voltage power, reads voltage spikes from PMT) >> USB Audio adapter (powers the MCA and transmutes signals into audio pulses) >> Software (reads the audio signal intensity and plots them on a known KeV/MeV scale for various known radionucleotide signatures)
Happy to provide more details if you're interested.
Last edit: Simon Harrison 2024-06-25
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
So, you are ending with an audio signal? Hmmm. GeigerLog can handle audio signals with its AudioDevice (see manual). All it does is to detect an audio pulse. However, the audio signal height is also available, so there is at least a chance it could measure pulse heights.
However, audio conversion tends to insert noise. I would put an MCU (STM32, ESP32) at the point where a pulse (not audio pulse) is defined, and let its ADC measure the pulse height. At this point you can already share the pulse height via WiFi, or, better, let the MCU also do the MCS sorting.
Keep me informed on the progress!
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
...and one more suggestion for the web monitor page (if feasible):
If you look at the attached screenshots, you see that in GL program graph, each of the 4 plots correlate to a common Y-axis scale (from 0-25 CPM in my case). This is perfect.
However in the website monitor plot page, the range of the Y-axis for of each COUNTRATE formula, spans the zero and maximum value of that specific dataset. While this makes sense most of the time, IMO, it's not very helpful for moving averages normalized to the CPM.
My 4 plots include the CPM data + 3 calculated moving averages all "normalized" to the CPM:
* CPM1st = COUNTRATE_AVG("CPM", 600)/10
* CPM2nd = COUNTRATE_AVG("CPM", 7200)/120
* CPM3rd = COUNTRATE_AVG("CPM", 21600)/360
So my question is: In the website monitor plot page, would it be possible to programmatically make the:
Y-Axis scale = CPM Y-Axis scale
for all moving averages normalized to the CPM)?
This (plus the splice-smoothing the plot), would help mightily to visualize trends in the moving averages.
At a quick glance this Theremino looks quite good. What do you think can GeigerLog do better?
This error message is strange; clearly pointing to a bug, but the referred-to line does not have anything it complains about. Therefor, please post:
your file gsup_utils.py and a * .logdb file, in which this error has occurred.
An what exactly does not work in COUNTRATE_AVG("CPM","HOUR")? It is all ok here.
A smoothing function is e.g. the Moving Average. And so are the COUNTRATE_AVG functions. If it is not smooth enough for you, the select a longer period, like DAY instead of HOUR. Currently this function skips the first 10 records, so it doesn't ruin your data, like the FET "feature" in GMC counters does.
The common scale in the Monitor is certainly possible, but would require a major revision in code. Don't wait for it ;-)
I don't see a problem in your cfg file. Just a note: in the GCM-Device I would record both CPM and CPS. Simply set it to auto, unless you absolutely don't want CPM1st, CPS1st. I sometimes find it helpful to check CPS.
In the WiFiClient situation there is of course no CPS.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Found the bug, new file attached. Copy it over the existing one.
Slight change to COUNTRATE_AVG("CPM","HOUR"): It now skips only the "first 30 sec", i.e. it is relevant only when averaging CPS. In your case only the first CPM value will be skipped, and the first average returned is the average of the first 2 CPM.
Use of HOUR and DAY is recommended over the specification of seconds.
I still think the smoothing function would add value (at least to the COUNTRATE graphs in the website_monitor) and then I could set the period to hour(s) w/o a jagged plot (which even a 1500 minute period has).
Using "HOUR" returns no data.
Understand and appreciate that programming a common scale is not feasible. Shame though.
Thanks for looking through my config. I'll change GMC-Device to "auto" then.
Thanks for finding the bug. With the new gsup_utils.py, no more bugs and the "HOUR" type works.
Now using COUNTRATE_AVG("CPM","HOUR")
Cheers.
Last edit: Simon Harrison 2024-06-28
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
among other it has the locked scale feature for the Monitor. It is pre-configured for your purposes; see the geigerlog.cfg file for explanation in the Monitor section
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Note that Ullix's custom config settings in geigerlog.cfg (which comes packaged in geigerlog-1.5.1pre02.zip) are overwritten to defaults when executing ./GeigerLog.sh setup
Upgrading from 151pre01 to 151pre02 (in Linux) required that I re-create my virtual environment:
sudo apt install python3.12-venv
and run:
./GeigerLog.sh setup
and (in my case) possibly the following additional script:
**********geigerlogubuntuconfig**********sudoaptupdate&&sudoaptupgrade#python 3.10.6 is default version preinstalled in 22.04sudoaptinstall-ysoftware-properties-commonsudoadd-apt-repositoryppa:deadsnakes/ppasudoapt-cachesearchpython3.1sudoapt-getinstallpython3.12-ysudopython-Vsudopython3-Vsudoupdate-alternatives--install/usr/bin/python3python3/usr/bin/python3.101sudoupdate-alternatives--install/usr/bin/python3python3/usr/bin/python3.122sudoupdate-alternatives--configpython3sudoapt-getinstallpython3-setuptoolssudoapt-getinstallpython3-devsudoapt-getinstallpython3sudoapt-getinstallpython3-pippython3-mpipinstall-Upippython3-mpip--versionsudoaptinstallpython3.12-venvsudoapt-getinstalllibportaudio2sudoapt-getinstalllibxcb-xinerama0python3-mpipinstall-Upaho-mqttpython3-mpipinstall-ULabJackPythonpython3-mpipinstall-URPi.GPIOpython3-mpipinstall-Usmbuspython3-mpipinstall-Upsutilpython3-mpipinstall-Upip-checkpython3-mpipinstall-Upippython3-mpipinstall-Utestresourcespython3-mpipinstall-Usetuptoolspython3-mpipinstall-Upyqt5python3-mpipinstall-Upyqt5-sippython3-mpipinstall-Umatplotlibpython3-mpipinstall-Unumpypython3-mpipinstall-Uscipypython3-mpipinstall-Upyserialpython3-mpipinstall-Usounddevicepython3-mpipinstall-Usoundfilepython3-mpipinstall-Untplibpython3-mpipinstall-Upy-cpuinfopython3-mpipinstall-Urpi-lgpiopython3-mpipinstall-Usmbus2pipinstall--upgradepsutilpython3./GLpipcheck.py./GeigerLog.shsetupsudopython3GLrelay.py-hsudopython3GLrelay.py-I10.220.3.163-P4000./GeigerLog.shconnectloadstart
... config settings in geigerlog.cfg (which comes packaged in geigerlog-1.5.1pre02.zip) are overwritten to defaults when executing ./GeigerLog.sh setup
Ooops, I actually forgot about this :-/ But this feature will stay. Only the next time I spend the time to pre-configure the config, I will provide it as a separate file!
re-create my virtual environment ...
Yes, a necessity! And with respect to your own script:
Do NOT do this!
The very reason for using a Python Virtual Environment (PVE) is to NOT fiddle with these pips! There is a chance you could solidly ruin your system!
Let GeigerLog do it, and if something isn't going right, make a bug report
In fact, because those uncalled-for actions could result in a possible disaster, the next Linux OS releases will make it impossible to issue many of these commands, and so you must use a PVE.
The reason behind all of this is the immense success of Python, which increases the chances of conflicting installations.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Ok, thanks. I'll update my Ubuntu python setup instructions as advised.
Quick question:
In the attached images, do you have any insights into why the shape of the average curve squares-off at the beginning and end of my two "elevated radiation" tests? I would have thought the curve to be more like a lopsided "bell"? I.e. the running average values to be weighted by the prior hour's worth of "typical" data*? I'm transmitting data via WiFi once per minute.
(Maybe its just a scaling issue as the 60 test graph from Excel average column data values, "=average($c$1:$c60)" are similar to your Average formula. )
do you have any insights into why the shape of the average curve squares-off at the beginning and end of my two "elevated radiation" tests?
It is a mathematical necessity when using the average. Try it out in Excel.
And, FYI, I got a new error:
Not an error, but an Exception. It is caused by your local network, and GeigerLog has caught this exception, reported it, and recovered. The problem is in your network - GeigerLog can't fix that! But such things happen, and there is little you can do about it. Perhaps moving either counter, or GeigerLog, or both closer to your router?
Some additional 151pre02 error messages. (Works fine though):
Again, exceptions, not errors. But this time inside the Python code. It does not even tell me in which part of GL it happened. It also points to issues in your local network; perhaps in the WiFi module in your laptop/desktop. Again, nothing I can do to fix it.
Last edit: ullix 2024-07-11
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
The attached running average chart shows the smoothing.
The sharp fall-off in your average must be due to the spike event being aged out (and not skewing the average) after the specified HOUR window.
I might have missed it, but what is the function of the "0" in COUNTRATE_AVG("CPM", "HOUR", 0) again?
COUNTRATE_AVG(vname, period, idle=30)
idle is the number of sec at the start, before it delivers its first value. For a cycle of 1 min, the first value will thus be the average of the first to recorded values. Relevant mostly for CPS recordings to minimize the FET distortion.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
What are you thoughts on adding password protection to the web_mon http monitor page? Easy add?
It may be a bit of a superfluous ask, I know, as it's likely only useful to my "access over the public WAN" use case, but hey, it doesn’t hurt to ask. Maybe there are others who'dlike it, maybe not.
While clunky, Knockd+UFW still works nicely, but with a password, I could take the calculated small risk of slightly expanding the list of allowed IP subnet vs. registering each (/32 mask) WAN IP.
Last edit: Simon Harrison 2024-07-28
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi, are you asking: what value does adding password access impart the MonServer web page?
If so I answered that above,but to expand:
It would allow me to set define a broader set of WAN IP address (via Knockd) of which my WAN IP is a part). This woukd cut down on the number of times I need to execute Kockd on my mobile phone in order to access the Geigerlog dials and plots.
This is very much a minor request so no problem at all if adding optional password protection doesnt make sense outside my tiny need.
(An example, if you're interested: If I'm away from home (LAN) and want to access the plots on my phone, via IP A.B.C.D, I could define all IPs in the subnet mask A.B.C.x as "allowed" in exchange for a small risk hit, so as not to have to re-run Knockd when the "x" part of my WAN IP changes.)
Last edit: Simon Harrison 2024-07-28
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I have no idea what Knockd is. But if I wanted to access my GeigerLog running at home from underway, I would have to open a port on my router. And that would already suffice. And if there were some intruder using this path, I doubt he would get very far. A password on MonServer, annoying to everyone else, would not be real hurdle if he made it that far. No, I don't think such a use case warrants a password.
Last edit: ullix 2024-07-29
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Btw, I don't think anyone would be particularly "annoyed". Keyword here is "optional".
Also, I'd never advise anyone open ports (80, 8080 or otherwise) to the outside so here we disagree. Hence Knockd (see below). And if you ever have suggestions on a more elegant solution to "passwords", I'm all ears. If not, that's ok too.
Anyway, I never feel it hurts to ask, and I a said, "it's a minor request, and "no problem at all...".
PS. As for the Knockd daemon, Google it. Or read the "how to" I wrote in your "Remote monitoring..." forum. It took me a while to figure out how to reconcile the DHCP nature of Cellular WAN IPs so that only my IP has access via my (home) router. I hope this use case helps some Geigerlog users view their real-time counter data while away. At least that was the thinking behind why I wrote it.
:)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I was looking for a way to configure GL to diaplay in unts of uSv (calculated from CPM and the associated conversion factor foe my counter). Specifically, I'm interested in displaying these units graphically in the GL monitor (of which I can only seem to get CPM or CPS to show).
In the main GL graph, toggling to the uSv/h option seems to display properly but throws off the data from the countrate_avg funtion.
I haven't spent too much time trying to configure this yet, but maybe you can let me know if I'm on the right track.
I didn't see instructions in the manual, unless I missed them. Could you explain how I might do this please?
Thanks much.
Btw, I have 2 counters connected simultaneously to the same server via 2 GL instances as shown below.
@ullix
Ok I'll use you the formula you suggest and read your comments again.
Please, however, let me know and answer any of the questions I asked which are not covered in your comments or the GL manual.
Yes, I'll look at the gsup_utils.py file, thanks.
Now for something completely different:
Have you considered, or have any opinions on, modifying you GL app for use with gamma spectrometry to identify radionucleotides via a scintillation crystal, photomultiplier tube (PMT), (USB) audio adapter solution? Somewhat like a DIY version of a Radiacode.
I recently purchased a PMT (pic attached) and eventually I'll be trying to connect it to a multichannel analyzer (MCA) + spectrometry software solution from an open-source software project I found.
Anyway, I'd be interested to see what you think.
Simon
Last edit: Simon Harrison 2024-06-23
Ok will use the formula you suggest and re-read your comments.
Please however, respond to my questions (not covered in your comments or the GL manual).
Thanks for letting me know about gsup_utils.py, I will look at it.
Wow, this sure looks like a project!
Actually, the Radiacode and its software are so good, it is hard to make anything significantly better. I had contacted them, offering GeigerLog adaptation, but they are not interested. So, this won't happen.
The requirement for spectra analysis is so much different from GeigerLog's current offer, that its integration into GeigerLog is a real challenge. Maybe a separate program, like "GeigerSpectra", is needed. Demanding, but not impossible.
What is your plan regarding data preparation from the PMT and delivering to "GeigerSpectra"? I guess you will need a microprocessor to handle this? Are you able to program C/C++?
@ullix
Yes, interesting project and not as difficult (or expensive) as would seem.
I'd love to get a Radiacode but I've got a few more pennies to add to the piggybank :)
I believe they're using solid state ICs to perform photomultiplication, and these must be sufficiently accurate/efficient to get reliable results. While bulky, PMTs seem a bit more "old-school" but might be just still as accurate or maybe even better depending on the type of scintillation material and tube design.
Yes, it's a shame they're not interested in adapting GL, or may it's for the best.
Plan:
It's pretty straightforward actually. Hardware is relatively simple to build and software is handled by that open-source project I mentioned before. Here's the basic topology:
Scintillator (plastic or NaI(Th)) >> PMT (rewired w/ resistors in series + some caps) >> MCA (provides high-voltage power, reads voltage spikes from PMT) >> USB Audio adapter (powers the MCA and transmutes signals into audio pulses) >> Software (reads the audio signal intensity and plots them on a known KeV/MeV scale for various known radionucleotide signatures)
Happy to provide more details if you're interested.
Last edit: Simon Harrison 2024-06-25
So, you are ending with an audio signal? Hmmm. GeigerLog can handle audio signals with its AudioDevice (see manual). All it does is to detect an audio pulse. However, the audio signal height is also available, so there is at least a chance it could measure pulse heights.
However, audio conversion tends to insert noise. I would put an MCU (STM32, ESP32) at the point where a pulse (not audio pulse) is defined, and let its ADC measure the pulse height. At this point you can already share the pulse height via WiFi, or, better, let the MCU also do the MCS sorting.
Keep me informed on the progress!
Will do. Also, take a look at Theremino.
That's the open-source software/hardware project I was referring to. https://www.theremino.com/downloads/radioactivity
Back to the moving average:
You've been a big help but one last try for COUNTRATE_AVG("CPM","HOUR") which stubbornly just does't seem to work for me.
Smoothing?
"Bells & whistles" I know, but have you ever thought about smoothing functions? Maybe it would be nice with the moving average?
for example:
https://www.geeksforgeeks.org/create-scatter-plot-with-smooth-line-using-python/
https://pieriantraining.com/python-smoothing-data-a-comprehensive-guide/
My geigerlog.cfg
Last edit: Simon Harrison 2024-06-25
@ ullix
...and one more suggestion for the web monitor page (if feasible):
If you look at the attached screenshots, you see that in GL program graph, each of the 4 plots correlate to a common Y-axis scale (from 0-25 CPM in my case). This is perfect.
However in the website monitor plot page, the range of the Y-axis for of each COUNTRATE formula, spans the zero and maximum value of that specific dataset. While this makes sense most of the time, IMO, it's not very helpful for moving averages normalized to the CPM.
My 4 plots include the CPM data + 3 calculated moving averages all "normalized" to the CPM:
* CPM1st = COUNTRATE_AVG("CPM", 600)/10
* CPM2nd = COUNTRATE_AVG("CPM", 7200)/120
* CPM3rd = COUNTRATE_AVG("CPM", 21600)/360
So my question is: In the website monitor plot page, would it be possible to programmatically make the:
Y-Axis scale = CPM Y-Axis scale
for all moving averages normalized to the CPM)?
This (plus the splice-smoothing the plot), would help mightily to visualize trends in the moving averages.
(please see 4 attached screenshots)
Thanks
-S
Last edit: Simon Harrison 2024-06-27
At a quick glance this Theremino looks quite good. What do you think can GeigerLog do better?
This error message is strange; clearly pointing to a bug, but the referred-to line does not have anything it complains about. Therefor, please post:
your file
gsup_utils.py
and a* .logdb
file, in which this error has occurred.An what exactly does not work in
COUNTRATE_AVG("CPM","HOUR")
? It is all ok here.A smoothing function is e.g. the Moving Average. And so are the COUNTRATE_AVG functions. If it is not smooth enough for you, the select a longer period, like DAY instead of HOUR. Currently this function skips the first 10 records, so it doesn't ruin your data, like the FET "feature" in GMC counters does.
The common scale in the Monitor is certainly possible, but would require a major revision in code. Don't wait for it ;-)
I don't see a problem in your cfg file. Just a note: in the GCM-Device I would record both CPM and CPS. Simply set it to auto, unless you absolutely don't want CPM1st, CPS1st. I sometimes find it helpful to check CPS.
In the WiFiClient situation there is of course no CPS.
Found the bug, new file attached. Copy it over the existing one.
Slight change to COUNTRATE_AVG("CPM","HOUR"): It now skips only the "first 30 sec", i.e. it is relevant only when averaging CPS. In your case only the first CPM value will be skipped, and the first average returned is the average of the first 2 CPM.
Use of HOUR and DAY is recommended over the specification of seconds.
Theremino does seem good. Ok I'll use it.
I still think the smoothing function would add value (at least to the COUNTRATE graphs in the website_monitor) and then I could set the period to hour(s) w/o a jagged plot (which even a 1500 minute period has).
Using "HOUR" returns no data.
Understand and appreciate that programming a common scale is not feasible. Shame though.
Thanks for looking through my config. I'll change GMC-Device to "auto" then.
Thanks for finding the bug. With the new
gsup_utils.py
, no more bugs and the "HOUR" type works.Now using
COUNTRATE_AVG("CPM","HOUR")
Cheers.
Last edit: Simon Harrison 2024-06-28
Take a look at the pre02 release
https://sourceforge.net/p/geigerlog/discussion/devel2/thread/27576f2128/
among other it has the locked scale feature for the Monitor. It is pre-configured for your purposes; see the
geigerlog.cfg
file for explanation in the Monitor section@ullix
Excellent and very nicely done!
Thanks for your efforts Ullix!
A few small points for users:
Note that Ullix's custom config settings in
geigerlog.cfg
(which comes packaged ingeigerlog-1.5.1pre02.zip
) are overwritten to defaults when executing./GeigerLog.sh setup
Upgrading from 151pre01 to 151pre02 (in Linux) required that I re-create my virtual environment:
and run:
and (in my case) possibly the following additional script:
Last edit: Simon Harrison 2024-07-03
Ooops, I actually forgot about this :-/ But this feature will stay. Only the next time I spend the time to pre-configure the config, I will provide it as a separate file!
Yes, a necessity! And with respect to your own script:
Do NOT do this!
The very reason for using a Python Virtual Environment (PVE) is to NOT fiddle with these pips! There is a chance you could solidly ruin your system!
Let GeigerLog do it, and if something isn't going right, make a bug report
In fact, because those uncalled-for actions could result in a possible disaster, the next Linux OS releases will make it impossible to issue many of these commands, and so you must use a PVE.
The reason behind all of this is the immense success of Python, which increases the chances of conflicting installations.
Ok, thanks. I'll update my Ubuntu python setup instructions as advised.
Quick question:
In the attached images, do you have any insights into why the shape of the average curve squares-off at the beginning and end of my two "elevated radiation" tests? I would have thought the curve to be more like a lopsided "bell"? I.e. the running average values to be weighted by the prior hour's worth of "typical" data*? I'm transmitting data via WiFi once per minute.
(Maybe its just a scaling issue as the 60 test graph from Excel average column data values, "=average($c$1:$c60)" are similar to your Average formula. )
And, FYI, I got a new error:
Last edit: Simon Harrison 2024-07-04
@ullix
Some additional 151pre02 error messages. (Works fine though):
It is a mathematical necessity when using the average. Try it out in Excel.
Not an error, but an Exception. It is caused by your local network, and GeigerLog has caught this exception, reported it, and recovered. The problem is in your network - GeigerLog can't fix that! But such things happen, and there is little you can do about it. Perhaps moving either counter, or GeigerLog, or both closer to your router?
Again, exceptions, not errors. But this time inside the Python code. It does not even tell me in which part of GL it happened. It also points to issues in your local network; perhaps in the WiFi module in your laptop/desktop. Again, nothing I can do to fix it.
Last edit: ullix 2024-07-11
The attached running average chart shows the smoothing.
The sharp fall-off in your average must be due to the spike event being aged out (and not skewing the average) after the specified
HOUR
window.I might have missed it, but what is the function of the "0" in
COUNTRATE_AVG("CPM", "HOUR", 0)
again?Last edit: Simon Harrison 2024-07-12
COUNTRATE_AVG(vname, period, idle=30)
idle is the number of sec at the start, before it delivers its first value. For a cycle of 1 min, the first value will thus be the average of the first to recorded values. Relevant mostly for CPS recordings to minimize the FET distortion.
thanks.
Hi again,
What are you thoughts on adding password protection to the web_mon http monitor page? Easy add?
It may be a bit of a superfluous ask, I know, as it's likely only useful to my "access over the public WAN" use case, but hey, it doesn’t hurt to ask. Maybe there are others who'dlike it, maybe not.
While clunky, Knockd+UFW still works nicely, but with a password, I could take the calculated small risk of slightly expanding the list of allowed IP subnet vs. registering each (/32 mask) WAN IP.
Last edit: Simon Harrison 2024-07-28
What value is the MonServer offering, which needs password protection?
Hi, are you asking: what value does adding password access impart the MonServer web page?
If so I answered that above,but to expand:
It would allow me to set define a broader set of WAN IP address (via Knockd) of which my WAN IP is a part). This woukd cut down on the number of times I need to execute Kockd on my mobile phone in order to access the Geigerlog dials and plots.
This is very much a minor request so no problem at all if adding optional password protection doesnt make sense outside my tiny need.
(An example, if you're interested: If I'm away from home (LAN) and want to access the plots on my phone, via IP A.B.C.D, I could define all IPs in the subnet mask A.B.C.x as "allowed" in exchange for a small risk hit, so as not to have to re-run Knockd when the "x" part of my WAN IP changes.)
Last edit: Simon Harrison 2024-07-28
I have no idea what Knockd is. But if I wanted to access my GeigerLog running at home from underway, I would have to open a port on my router. And that would already suffice. And if there were some intruder using this path, I doubt he would get very far. A password on MonServer, annoying to everyone else, would not be real hurdle if he made it that far. No, I don't think such a use case warrants a password.
Last edit: ullix 2024-07-29
Ok, np.
Btw, I don't think anyone would be particularly "annoyed". Keyword here is "optional".
Also, I'd never advise anyone open ports (80, 8080 or otherwise) to the outside so here we disagree. Hence Knockd (see below). And if you ever have suggestions on a more elegant solution to "passwords", I'm all ears. If not, that's ok too.
Anyway, I never feel it hurts to ask, and I a said, "it's a minor request, and "no problem at all...".
PS. As for the Knockd daemon, Google it. Or read the "how to" I wrote in your "Remote monitoring..." forum. It took me a while to figure out how to reconcile the DHCP nature of Cellular WAN IPs so that only my IP has access via my (home) router. I hope this use case helps some Geigerlog users view their real-time counter data while away. At least that was the thinking behind why I wrote it.
:)
Hello,
I was looking for a way to configure GL to diaplay in unts of uSv (calculated from CPM and the associated conversion factor foe my counter). Specifically, I'm interested in displaying these units graphically in the GL monitor (of which I can only seem to get CPM or CPS to show).
In the main GL graph, toggling to the uSv/h option seems to display properly but throws off the data from the countrate_avg funtion.
I haven't spent too much time trying to configure this yet, but maybe you can let me know if I'm on the right track.
I didn't see instructions in the manual, unless I missed them. Could you explain how I might do this please?
Thanks much.
Btw, I have 2 counters connected simultaneously to the same server via 2 GL instances as shown below.
Last edit: Simon Harrison 2024-08-27