Radiation Alert Monitor 200: Python library / software

More
6 months 1 week ago #6792 by jigpu
A few years back I picked up a Radiation Alert Monitor 200 from S.E. International to play around with. It is a small handheld geiger counter which has both micro-USB and Bluetooth LE connections. It can be used standalone or connected to a PC or phone for survey / logging / monitoring duties. The manufacturer supplies software for Windows and an Android app but neither of these really met my needs.

I ended up writing a Python library that can connect to this device (and very likely some of its siblings like the Monitor 1000EC, the Ranger, and the Ranger EXP) over both USB and Bluetooth. The library includes sample programs that simply log counts as they are received. They default to printing to the screen, but the samples can also be configured to communicate with the radmon.org server or gmcmap.com. I've been running this code on a Linux server for ages now without problem and thought I might as well share the code with anyone else who might be interested.

https://github.com/jigpu/radalert-py

Library features:
  • USB, HID, and BLE backends
  • Reading most recent CPS (device-averaged CPM also available over BLE)
  • Reading displayed value and unit
  • Reading battery percent (BLE only) and charging status
  • Reading calibration data (CPM <-> mR/h, tube deadtime, calibration date, serial number)
  • Reading device settings: e.g. alarm level, beeps enabled, clicks enabled, contrast, etc. (not all data is available on all backends)
  • Basic sanity checking of read values
What's Missing:
  • No support for writing calibration data or performing remote-control of the device (the protocol seems straightforward, but I was also too hesitant to write commands that might brick this thing...)
  • Downloading logs recorded by the device (I haven't been able to figure out the protocol)
  • Handling some still-unknown fields (these are documented in the code, if anyone wants to give it a shot)

I have only really tested the library on a few local Linux machines, but I suspect it should also work from Windows and macOS as well. If anyone knows a way of getting Python to run on Android (or is willing to port the code to something that Android can run) I'd be very interested in seeing an app since I was pretty underwhelmed by the manufacturer's app.
The following user(s) said Thank You: Juzzie, Simomax

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

Moderators: Gamma-Man
Time to create page: 0.121 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 44% Memory 14% Swap 17% CPU temp=60.3'C Uptime 56 Days