{"id":13497190,"url":"https://github.com/EarToEarOak/RF-Monitor","last_synced_at":"2025-03-28T21:32:06.727Z","repository":{"id":151267422,"uuid":"43897762","full_name":"EarToEarOak/RF-Monitor","owner":"EarToEarOak","description":"RF signal monitor","archived":false,"fork":false,"pushed_at":"2018-04-17T23:11:14.000Z","size":216,"stargazers_count":43,"open_issues_count":1,"forks_count":16,"subscribers_count":14,"default_branch":"master","last_synced_at":"2024-01-24T03:42:43.234Z","etag":null,"topics":["radio","rtl-sdr","sdr","signal"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/EarToEarOak.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,"roadmap":null,"authors":null}},"created_at":"2015-10-08T15:18:03.000Z","updated_at":"2023-10-13T11:22:10.000Z","dependencies_parsed_at":"2023-04-07T05:01:09.628Z","dependency_job_id":null,"html_url":"https://github.com/EarToEarOak/RF-Monitor","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EarToEarOak%2FRF-Monitor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EarToEarOak%2FRF-Monitor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EarToEarOak%2FRF-Monitor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EarToEarOak%2FRF-Monitor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/EarToEarOak","download_url":"https://codeload.github.com/EarToEarOak/RF-Monitor/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246105319,"owners_count":20724293,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["radio","rtl-sdr","sdr","signal"],"created_at":"2024-07-31T20:00:26.219Z","updated_at":"2025-03-28T21:32:06.316Z","avatar_url":"https://github.com/EarToEarOak.png","language":"Python","readme":"# RF Monitor #\n\nCopyright 2015 Al Brown\n\nal [at] eartoearoak.com\n\nRF signal monitor for recording the time and location of signals which exceed a threshold. For use with a RTLSDR dongle.\n\n\n## Requirements ##\n\n- [Python 2.7](http://www.python.org) or greater\n- [wxPython](http://www.wxpython.org/)\n\n\n## Installation ##\n\n`pip install rf-monitor`\n\n## Usage ##\n\n`rf_monitor.py [file]`\n\n**Main Window**\n\nSet the frequency, gain and calibration in the toolbar located at the bottom of the main window.\n\nTo add 'monitors' for frequencies of interest click the '+' button on the right hand side of the toolbar.\n\nThe 'Start' button begins radio reception and 'Stop' finishes it.\n\nPress 'Record' to begin recording signals which exceed the threshold of each monitor. Press it again to stop recording.\n\n**Monitors**\n\nEach monitor allows you to watch a particular frequency and record when it's level exceeds a threshold.  The colour on the left corresponds to the plots in the spectrum and timeline views (see below).\n\nSet the frequency using the drop-down list and set level threshold with the slider.\nEach monitor can be enabled and an alert played if the respective check boxes are ticked.\n\nTo remove a monitor remove the tick from the 'Enabled' box and press the '-' button.\n\n**Spectrum View**\n\nThis window (found in the View menu) displays the received frequency spectrum and marks the frequencies and thresholds of any monitors that are enabled.\n\nTo begin reception press the start button on the toolbar in the main window.\n\n**Timeline View**\nThis window (found in the View menu) displays recorded signals for enabled monitors.\n\nBlocks are displayed when the signal is larger than the threshold, lighter coloured blocks indicate the recording periods.\n\n\n**Plot controls**\n\nTo zoom and pan the plots press the 'Pan' button in the plot's toolbar (crossed arrows).\nDrag using the left mouse button to pan and use the right button to zoom in and out.\n\n**GPS**\n\nA NMEA serial GPS can be connected, this will record the location for each signal as it's recorded.\n\nSet up the GPS by opening 'GPS Settings' in the edit menu, select the port and baud rate of your GPS and tick the enable box.\n\n**Command Line Mode**\n\nOnce you have added your monitors and saved the file you can run the application from the command line.\n\nSpecify the file you want to use with the '-c' switch:\n\n`python rfmonitor.py -c \u003csavedfile.rfmon\u003e`\n\nThe application will begin recording signals, press Ctrl-C to exit it.\n\nTo use GPS add the port using '-p' and the baud rate with '-b'\n\n`python rfmonitor.py -p \u003cserial port\u003e -b \u003cbaud\u003e -c \u003csavedfile.rfmon\u003e`\n\nFor example on Windows:\n\n`python rfmonitor.py -p COM4 -b 115200 -c savedfile.rfmon`\n\nor Linux\n\n`python rfmonitor.py -p /dev/ttyUSB0 -b 115200 -c savedfile.rfmon`\n\n\n**Network**\n\nA TCP server is available on port 15622 which outputs JSON describing the recorded signals, for example:\n\n`{\"Frequency\": 89000000, \"Signal\": {\"Start\": 1447075856.359, \"End\": 1447075856.632, \"Level\": -24.174076948140357}}`\n\n## License ##\n\nThis program is free software: you can redistribute it and/or modify\nit under the terms of the GNU General Public License as published by\nthe Free Software Foundation.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\nGNU General Public License for more details.\n\nYou should have received a copy of the GNU General Public License\nalong with this program.  If not, see \u003chttp://www.gnu.org/licenses/\u003e.\n","funding_links":[],"categories":["Python","Other SDR Software"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FEarToEarOak%2FRF-Monitor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FEarToEarOak%2FRF-Monitor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FEarToEarOak%2FRF-Monitor/lists"}