
gittech. site
for different kinds of informations and explorations.
RadiaCode โ Python Library for RadiaCode-10x Radiation Detectors
Published at
4 days ago
Main Article
RadiaCode Python Library
Python library for interfacing with the RadiaCode-10x radiation detectors and spectrometers. Control your device, collect measurements, and analyze radiation data with ease.
๐ Features
- ๐ Real-time radiation measurements
- ๐ Spectrum acquisition and analysis
- ๐ USB and Bluetooth connectivity
- ๐ Web interface example included
- ๐ฑ Device configuration management
๐ธ Demo
Interactive web interface example (backend | frontend):
๐ฎ Quick Start
Examples
pip install --upgrade 'radiacode[examples]'
Run the web interface shown in the screenshot above:
# Via Bluetooth (replace with your device's address)
$ python3 -m radiacode-examples.webserver --bluetooth-mac 52:43:01:02:03:04
# Via USB connection
$ sudo python3 -m radiacode-examples.webserver
Basic terminal output example (same options as web interface):
$ python3 -m radiacode-examples.basic
Library Usage Example
pip install --upgrade radiacode
from radiacode import RadiaCode, RealTimeData
# Connect to device (USB by default)
device = RadiaCode()
# Get current radiation measurements
data = device.data_buf()
for record in data:
if isinstance(record, RealTimeData):
print(f"Dose rate: {record.dose_rate}")
# Get spectrum data
spectrum = device.spectrum()
print(f"Live time: {spectrum.duration}s")
print(f"Total counts: {sum(spectrum.counts)}")
# Configure device
device.set_display_brightness(5) # 0-9 brightness level
device.set_language('en') # 'en' or 'ru'
More Features
# Bluetooth connection
device = RadiaCode(bluetooth_mac="52:43:01:02:03:04")
# Connect to specific USB device
device = RadiaCode(serial_number="YOUR_SERIAL_NUMBER")
# Energy calibration
coefficients = device.energy_calib()
print(f"Calibration coefficients: {coefficients}")
# Reset accumulated data
device.dose_reset()
device.spectrum_reset()
# Configure device behavior
device.set_sound_on(True)
device.set_vibro_on(True)
device.set_display_off_time(30) # Auto-off after 30 seconds
๐ง Development Setup
Install prerequisites:
# Install Poetry curl -sSL https://install.python-poetry.org | python3 -
Clone and setup:
git clone https://github.com/cdump/radiacode.git cd radiacode poetry install
Run examples:
poetry run python radiacode-examples/basic.py
โ ๏ธ Platform-Specific Notes
MacOS
- โ USB connectivity works out of the box
- โ Bluetooth is not supported (bluepy limitation)
- ๐ Required:
brew install libusb
Linux
- โ Both USB and Bluetooth fully supported
- ๐ Required:
libusb
and Bluetooth libraries - ๐ May need udev rules for USB access
Windows
- โ USB connectivity supported
- โ Bluetooth supported
- ๐ Required: USB drivers
License
This project is licensed under the MIT License - see the LICENSE file for details.