ESPGeiger

More
1 year 1 month ago #6686 by Simomax
Replied by Simomax on topic ESPGeiger
Blynk changed it's model a short while back. Seems they are going towards corporate IoT and their pricing structure is way off what any hobbyist/amateur would want to pay so there is no way I would ever use their latest version. Yes, it is Blynk legacy I am running and yes, it has gone EOL. It really suits what I want though. Note the 'I'. I don't think many other people have much interest in it, or even know about it. I had kinda already assumed your response, which is very valid. I'll just have to write my own module for it if I go down the route of using your firmware with anything I want to use with Blynk. I have quite a few projects using Blynk - Air quality, water pressure, my solar charge controller, a couple of geiger counters. It's really handy, and easy for me to quickly get together a custom interface together for projects, and requires quite minimal code for the arduino/ESP. I completely understand why you are hesitant, and understandably so.

 

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

More
1 year 1 month ago #6687 by Simomax
Replied by Simomax on topic ESPGeiger
Some thoughts/feature requests.

Do something with the decimal places on the status page. The main CPM reading shows no decimals, the averaging has decimals, but always 0's, and the graph has two proper decimals. It feels disjointed. Either don't have decimals anywhere, or make the decimals work everywhere.

Add total counts to the status page. Maybe make this available to MQTT/Thinkspeak etc. too? 'Counts since last reset'?

Have a variable submission time for radmon.org (and maybe MQTT, Thingspeak etc.) between 30 and 3600 seconds, defaulted to 60 seconds. Possibly make it so each service can have a different submission time. The way I currently use a couple of my counters are as follows:

Station radspod_one submits to radmon every 60 seconds, but submits to Blynk every 5 seconds. This gives a good set of records on radmon but also updates quickly when in my hand.
Station Simomax is currently just for testing and playing about with. I have the submission time for radmon configurable via Blynk, so I can change it at will for testing. Sometimes when working on radmon I might want to decrease submission time, then drop it back to 60 seconds for just regular counting.

Having the ability to change submission time on the fly would allow for better experimentation. For example, measuring sources. Someone may want to record testing of different sources and recording them at 1 second resolution. The decimals would be handy too. 

Another thought, and this is completely aimed at radmon. Have configurable fields on the ESPGeiger for station description, conversion factor, maybe lat/lon, alerts on/off/levels. Preferably governed by a switch, a check box or something 'Send config to radmon' kind of thing. Many new stations simply sign up, get their login credentials and start sending readings in without changing their station description. This may have changed slightly since implementing the control panel, as users now have to create their station and are then faced with the parameters. So maybe not as needed as once was. I would also have to check all the functions are working. I think they are as I went through them all when creating the API document.

And finally, I have been thinking of looking at one of the other IoT platforms - MQTT, Thinkspeak etc. but when I have looked in the past they all seem to have not very pretty interfaces for the apps I have seen on the app store. One of the reasons I like Blynk is because it looks good. At least I really like the look of it. If there are any you can think of that fit my needs then please let me know: It's got to look good. I tend to view everything in dark mode when I can, especially on my phone, so gotta be dark, and pretty. It has to support two-way buttons/switches/variables. 1 second resolution - configurable to whatever. Some kind of terminal, or at least a text window so I can view debug messages from the ESP. Configurable graphs/dials/readouts. Small DB size, and the ability to be able to backup and restore onto another server if SHTF with the current server. That's what I get from Blynk legacy on my system so would have to tick all those boxes (and maybe some I haven't thought of yet) for me to move to another platform.

Cheers
The following user(s) said Thank You: steadramon

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

More
1 year 1 month ago - 1 year 1 month ago #6688 by steadramon
Replied by steadramon on topic ESPGeiger
Thanks again for the feedback. I've cleaned up some of the inconsistencies with floats and ints and the use within the web interface.
One thing to note, because we're counting CPS at the base and there are 60 buckets, the CPM value will be .00 after the warmup, please also allow for floating point maths on the ESP.

"Total counts" is also there now - interesting choices to be made regarding serial counters which just report the CPM - here an approx count is calculated.

These are in release v0.4.0 - if you upgrade using the Update button in the web interface your settings should be kept.

Adjustable submission timers are on the roadmap, but also needs the question answering regarding which value to send at higher than 1 minute intervals, as well.

I want to get all the core functionality working before extending to more site specific functionality - plus there's only so much RAM available on these little devices :) What would be handy on the API to help this would be a single call that could update all the items in one call to save multiple calls from the ESP which struggles with async requests.

MQTT I think generally is the method *most people* use.
MQTT is the "pipe" to deliver the data to any of a number of endpoints - some endpoints can be used for visualisation, or for making choices on the data etc...

Homeassistant can be used to take the data in from MQTT and make visualisations - ESPGeiger automatically sets up some basic graphs within Homeassistant if MQTT is working properly -
 

Some other options for storing data could be to feed InfluxDB from MQTT and then use Grafana to visualise the data
 

Using nodered you could make choices based on the input value and trigger other outputs
 
Attachments:
Last edit: 1 year 1 month ago by steadramon.
The following user(s) said Thank You: Simomax

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

More
1 year 1 month ago #6689 by Simomax
Replied by Simomax on topic ESPGeiger
Thanks for that info. I'll have a look at MQTT at some point soon.

because we're counting CPS at the base and there are 60 buckets, the CPM value will be .00 after the warmup

I understand. I actually started thinking about it and then realized that for 60 samples per minute it will always be a round number.

interesting choices to be made regarding serial counters which just report the CPM - here an approx count is calculated

I hadn't even considered serial input! Doh! Good job implementing it though.

Adjustable submission timers are on the roadmap, but also needs the question answering regarding which value to send at higher than 1 minute intervals, as well.

I don't understand exactly what you mean by this. The counter will always calculate the CPM every second, or few seconds. So whether the submission is a minute or an hour, it is the current CPM at that time that should be submitted. 

No worries wanting to get your code solid before expanding it. I'll still let you know my thoughts though. 

What would be handy on the API to help this would be a single call that could update all the items in one call

Sure! I can look into implementing this. Not sure when, but should be relatively simple.

I'll grab 0.4.0 soon and have a go with it.
The following user(s) said Thank You: steadramon

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

More
1 year 1 month ago - 1 year 1 month ago #6690 by steadramon
Replied by steadramon on topic ESPGeiger

Adjustable submission timers are on the roadmap, but also needs the question answering regarding which value to send at higher than 1 minute intervals, as well.

I don't understand exactly what you mean by this. The counter will always calculate the CPM every second, or few seconds. So whether the submission is a minute or an hour, it is the current CPM at that time that should be submitted.


We also have the CPM averaged over 5 minutes and 15 minutes - it might be more appropriate to submit the 5 minute average if submitting @ 5 minute interval. Otherwise something significant could happen within that 5 minute interval, but the CPM @ 1 minute would not report if it if happened half way between submissions.
Last edit: 1 year 1 month ago by steadramon.

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

More
1 year 1 month ago #6691 by Simomax
Replied by Simomax on topic ESPGeiger
Ahh, I see now. Could it be a user setting so they can choose 1, 5 or 15 minute averages?

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

Moderators: Gamma-Man
Time to create page: 0.205 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 37% Memory 21% Swap 70% CPU temp=48.2'C Uptime 71 Days