{"id":37585942,"url":"https://github.com/cristianst85/rrd-uradmonitor-perl","last_synced_at":"2026-01-16T09:46:08.799Z","repository":{"id":162558875,"uuid":"39156681","full_name":"cristianst85/rrd-uradmonitor-perl","owner":"cristianst85","description":"Perl scripts to fetch data from an uRADMonitor device into a RRD database.","archived":false,"fork":false,"pushed_at":"2020-04-26T22:17:31.000Z","size":8,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-06-11T16:05:37.447Z","etag":null,"topics":["environmental-monitoring","gamma","nuclear","perl","pressure","radiation","temperature","uradmonitor","uradmonitor-device"],"latest_commit_sha":null,"homepage":null,"language":"Perl","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cristianst85.png","metadata":{"files":{"readme":"README.MD","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2015-07-15T19:26:18.000Z","updated_at":"2021-10-17T20:21:27.000Z","dependencies_parsed_at":"2023-06-03T14:15:27.723Z","dependency_job_id":null,"html_url":"https://github.com/cristianst85/rrd-uradmonitor-perl","commit_stats":{"total_commits":4,"total_committers":1,"mean_commits":4.0,"dds":0.0,"last_synced_commit":"b0224f91e6f95a3e59c27ac0a1667fb7f724e2b3"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/cristianst85/rrd-uradmonitor-perl","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cristianst85%2Frrd-uradmonitor-perl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cristianst85%2Frrd-uradmonitor-perl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cristianst85%2Frrd-uradmonitor-perl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cristianst85%2Frrd-uradmonitor-perl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cristianst85","download_url":"https://codeload.github.com/cristianst85/rrd-uradmonitor-perl/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cristianst85%2Frrd-uradmonitor-perl/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28478049,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T06:30:42.265Z","status":"ssl_error","status_checked_at":"2026-01-16T06:30:16.248Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["environmental-monitoring","gamma","nuclear","perl","pressure","radiation","temperature","uradmonitor","uradmonitor-device"],"created_at":"2026-01-16T09:46:08.690Z","updated_at":"2026-01-16T09:46:08.779Z","avatar_url":"https://github.com/cristianst85.png","language":"Perl","funding_links":[],"categories":[],"sub_categories":[],"readme":"# rrd-uradmonitor-perl\n\nPerl scripts to fetch data from an uRADMonitor device, store it into a RRD database and generate some nice graphs that can be accessed from a web page.\n \nThe radiation values are stored in the database in counts per minute (cpm) but they are converted to microsieverts per hour (uSv/h) when the graphs are created. The conversion is done using the appropriate factor for the detector present in the device.\n \nThe pressure graph is generated only if the device has a pressure sensor. The detection is based on the values supplied in JSON.\n\n## Requirements\n\n- A Linux machine running a web server;\n- RRDtool and Perl, including additional libraries (shared RRD Perl module, perl-JSON, perl-Time-Piece);\n- An [uRADMonitor](http://www.uradmonitor.com/) device model A or A2 with firmware version 110 or newer.\n \n## Installation\n\nPut ```rrd_uradmonitor.pl``` script into ```/usr/local/bin``` directory.\n\nMake it executable by running the following command:\n\n```bash\nchmod 755 /usr/local/bin/rrd_uradmonitor.pl\n```\n\nLocalize the settings defined at the beginning of the script.\n\n```perl\n# Define your domain name or leave it empty.\n# This will be appended to graphs watermark.\nmy $MY_DOMAIN = ':: www.mydomain.com';\n\n# Define paths\nmy $RRD_DATABASE_PATH = \"/var/lib/rrd/radiation.rrd\";\nmy $RRD_GRAPHS_DIR_PATH = \"/srv/www/htdocs/radiation/images\";\n\n# Define JSON url (e.g.: http://192.168.0.2/j)\nmy $JSON_URL = '';\n```\n\nCreate the directories defined by ```$RRD_DATABASE_PATH```, ```$RRD_GRAPHS_DIR_PATH```.\n\nTest the script by running the following command:\n\n```bash\n/usr/local/bin/rrd_uradmonitor.pl\n```\n\nOn the first execution of the script the RRD database will be created and you should see something like this:\n\n```\nRadiation: 20 cpm (0.2 uSv/h)\nTemperature: 37 C\nPressure: 100802 Pa\nCreating RRD database...\nUpdating database...\nCreating graphs...\n```\n\nSchedule the script to run at one minute interval using crontab. Add the following lines to ```/etc/crontab```:\n\n```bash\n# uRADMonitor script\n*/1 * * * * root /usr/local/bin/rrd_uradmonitor.pl \u003e /dev/null 2\u003e\u00261\n```\n\n## Viewing the graphs\n\nPut ```radiation.cgi``` script into the ```/srv/www/htdocs/radiation``` directory.\n \nMake it executable by running the following command:\n\n```bash\nchmod 755 /srv/www/htdocs/radiation/radiation.cgi\n```\n\t\nAdjust the settings defined at the beginning of the script.\n\n```perl\n# Define page auto-refresh interval in seconds\nmy $REFRESH=60;\n\n# Define uRADMonitor device id (e.g.: #10000000)\nmy $DEVICE_ID = '';\n```\n\nIf your device doesn't have a pressure sensor you should comment or remove the following line:\n\n```perl\npush (@graphs, \"pressure\");\n```\n\nInstruct your web server to handle ```.cgi``` files from ```/srv/www/htdocs/radiation``` directory by creating an ```.htaccess``` file with the following directives:\n\n```apacheconf\nAddHandler cgi-script .cgi\nOptions +ExecCGI\n```\n\nNow you should be able to access the page from your browser at:\n\n```\nhttp://your_domain_or_ip/radiation/radiation.cgi\n```\n\nIf you want you can rename the ```radiation.cgi``` file to ```index.cgi``` so that it can be accessed more simply as ```http://your_domain_or_ip/radiation/```. Also you\nneed to add one more directive to ```.htaccess``` file:\n\n```apacheconf\nDirectoryIndex index.cgi\n```\n\nClicking any of the daily graphs will then display the detailed graphs for that instance, i.e., daily, weekly, monthly and yearly graphs.\n\n## Demo\n\nYou can see the live graphs from my uRADMonitor device readings [here](http://www.disruptivesoftware.ro/radiation/).\n\n## License\n\nReleased under the MIT License. See the [bundled LICENSE](https://github.com/cristianst85/rrd-uradmonitor-perl/blob/master/LICENSE) file for details.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcristianst85%2Frrd-uradmonitor-perl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcristianst85%2Frrd-uradmonitor-perl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcristianst85%2Frrd-uradmonitor-perl/lists"}