Skip to content

Latest commit

 

History

History

rpi-radiation-monitor

RPi Radiation Monitor

This project describes how to build simple radiation meter and connect it to internet. RadiationD-1.1(CAJOE) board with M4011 Geiger Tube is used as radiation sensor.

block-schema

Hardware components

  1. RPi devices: Raspberry Pi Zero, Zero W, Zero 2W, 3, 4.
  2. 74HC14N - Hex Schmitt Inverter, transforming slowly changing input signals into sharply defined, jitter-free output signals.
  3. RadiationD-1.1(CAJOE) board Perform board calibration before use.

Install on Raspberry PI

  1. Install Raspberry Pi OS Lite
  2. Copy files on Raspberry Pi device into directory /opt/rpi-radiation-monitor
  3. Edit configuration file rpi-radiation-monitor.json.
  4. Install and enable rpi-radiation-monitor as systemd service.
    sudo cp rpi-radiation-monitor.service /etc/systemd/system/
    sudo chown root:root /etc/systemd/system/rpi-radiation-monitor.service
    sudo systemctl daemon-reload
    sudo systemctl enable rpi-radiation-monitor
    
  5. Start | Stop rpi-radiation-monitor service.
    sudo systemctl start rpi-radiation-monitor
    sudo systemctl stop rpi-radiation-monitor
    sudo systemctl status rpi-radiation-monitor
    

REST API

  • Security HTTP Basic access authentication is used for all REST endpoints, credentials are set in config file.
  • GET radiation measurements:
    curl -u client-001:Jah7thei --location --request GET 'http://<hostname>:<port>/api/v1/system/measurements'
    Example response. cpm = count per minute (last minute). Measurement values are recalculated after each pulse from detector. Normal background radiation (depends on your environment) should be between 0.3 - 0.1 μSv/h
    {
      "radiation": {
          "value": 0.1390728476821192,
          "unit": "uSv/h"
      },
      "counter": {
          "cpm": 21,
          "total": 2463
      },
      "timestamp": 1653722329.4236865,
      "uptime": 6450.739503145218
    }
  • GET system info:
    curl -u client-001:Jah7thei --location --request GET 'http://<hostname>:<port>/api/v1/system/info'
    {
      "id": "rpi-radiation-monitor-001",
      "type": "rpi-radiation-monitor",
      "version": "1.0.0",
      "name": "RPI Radiation Monitor",
      "timestamp": 1653722673,
      "uptime": 6793
    }

Prototype

prototype

Schema

schema