gmc320_QuickCPM_Reader

Forums:

Visit the QuickCPM Forum for more..
quickCPM provides a very small and lightweight monitor for your GMC-320 Plus geiger counter.
Chances are it will work with other models but you will need to test for yourself.
Here is an actual working copy using the new upload feature:

quickCPM.py basically loops a call to the gmc320 and displays it to the screen.
Each pass then writes/updates the CMB and Temp record to a file for storage in the format gmc_YYYYMMDD_cmb.csv, temperature scvfile ending with _temp (see below) .
It then combines the results into two linked html files that you can view in a browser locally or display from a web server using the new upload feature.

Advertisement:
Future:
  • button: Analysis Overview of data.
  • File Reader
  • Graph
  • button: Set Unit Date Stamp
  • button: GeoMap (??)
Topo
+ Bat -
>
GMC-320+
<->
Pi Zero
<->
quickCPM
<->
Apache
->
Dsply/Ctrl
Updates
  • 2018Apr08-Uploaded ftp version. You must set ftp variables in beginning of script or turn off ftpOn variable.
  • 2018Apr07-Added upload library. Allows upload to website. (above) Upload cycle variable, above set to upload every 90 cycles.
  • 2018Mar11-Updated gauges to use scripting over static html. Added bar/gauge button on each page to switch between the two.
  • 2018Mar10- I have added a new output file that is gauges only. The file is called simply gauges.html. It uses gauges.min.js file from https://canvas-gauges.com which appears to be an awesome gauge set and fairly simple to set up. Image is below. This will come in handy for small devices like pi zero.
  • 2018Mar07-Updated to use a log dir. You must create the dir before using.. just /logs where you run the app from. I will do a dir create on the next update. I also updated the html output.
  • 2018Mar06-Added meta auto refresh index.html creation to display results. (see pic)
  • 2018Mar05-Changed date format in csv. Now registers temperature in seperate temp.csv file. Changed output to include peak monitor.
  • 2018Mar04- Added CRs to csv output.
    Csv file should be in correct format now.
Raspberry Pi Instructions
Download quickCPM.zip below on your Raspberry Pi.
Unzip to your preferred directory
Create a /logs directory in this location if it does not exist (included in zip file)
I believe the serial library comes with raspian base install, if not you will have to google search install. I will try it with a fresh Raspian install and update this post.
Run the app by entering:
python quickcpm.py 60
Where 60 is the refresh cycle time in seconds. If you omit this, it will use 300 which is 5 minutes.
Your files will appear under the logs directory and the index.html will be built in the location you launched the program from.


Example Output
Headless quickCPM display with Chromium (See PIC)
I was able to create a semi-headless (no menu) version with Chromium by finding the Chromium desktop configuration file, copy it to the desktop and then set the following settings on the desktop file: (right click on the chromium icon, properties to find the path)
Once you have the desktop file on your desktop, right click on the desktop file and select properties.
Set Name to QuickCPM under General (or something cool)
Under Desktop Entry tab I set the command to:
chromium-browser %U --app=file:///home/pi/bin/quickcpm/gauges.html --window-size=400,400
(where --app=path from your browser to the index.html file or gauge file) Set working directory to that same directory path (not sure if required).
Set the description and Tooltip to something cool like quickcpm rules!
If you want, put it in your boot up to open when machine boots.
Pics: 
quickcpm gmc-32 capture
QuickCPM Python App for GMC-320
File Directory for quickCPM
Auto creates monitor page index.html
chromium headless example
abitowhit's picture

Next I want to also include a connection to my outdoor video cameras. Stay tuned. :)
abitowhit's picture

So it appears that the only way I can connect to my security cameras requires active x. This means that I will probably need to rewrite this in c# and use windows core on pi for my home monitoring. I am more comfortable with c# but that also means I have to rethink the entire deal. Not to sure on running python on windows core but it may be an option. This is why every little thing takes forever in the coding world.. haha. Probably more to come.
abitowhit's picture

You can create a startup script on the desktop by creating a blank file and pasting in:
[Desktop Entry]
Encoding=UTF-8
Type=Application
Name=QuickCPMStart
Comment=Starts QuickCPM
Exec= python /home/pi/bin/quickcpm/quickcpm.py
StartupNotify=false
Terminal=true
Hidden=false

This will allow you to launch it each time. Note the log dir will change.
This is easily fixed (which I may just add to the py file anyway) to change to the working dir you establish in the beginning of the file.
Simply add:
os.chdir(workDir)
directly after (or somewhere after) the workDir variable.
This will cause the script to change to the workDir before running.

You can have quickCPM start on boot if you make a copy of this desktop file to the /home/pi/config directory.
You may have to turn on view hidden in file manager or copy it via the command line.