{"id":23235756,"url":"https://github.com/openrfsense/orfs-sensor","last_synced_at":"2025-04-05T20:34:50.431Z","repository":{"id":62061530,"uuid":"557522949","full_name":"openrfsense/orfs-sensor","owner":"openrfsense","description":"OpenRFSense radio data retrieval and processing software","archived":false,"fork":false,"pushed_at":"2022-11-22T23:04:17.000Z","size":453,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-11T20:57:11.970Z","etag":null,"topics":["avro","cpp","rtl-sdr"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/openrfsense.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-10-25T20:55:24.000Z","updated_at":"2024-08-24T02:22:17.000Z","dependencies_parsed_at":"2022-10-25T22:45:18.604Z","dependency_job_id":null,"html_url":"https://github.com/openrfsense/orfs-sensor","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openrfsense%2Forfs-sensor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openrfsense%2Forfs-sensor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openrfsense%2Forfs-sensor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openrfsense%2Forfs-sensor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openrfsense","download_url":"https://codeload.github.com/openrfsense/orfs-sensor/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247399889,"owners_count":20932876,"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":["avro","cpp","rtl-sdr"],"created_at":"2024-12-19T03:29:28.168Z","updated_at":"2025-04-05T20:34:50.411Z","avatar_url":"https://github.com/openrfsense.png","language":"C++","readme":"\n# orfs-sensor \n\nSensing software used in [OpenRFSense](https://github.com/openrfsense) nodes, originally forked from [es-sensor](https://github.com/electrosense/es-sensor).\n\nThis package will be pulled and built by the OpenRFSense [image builder](https://github.com/openrfsense/image), but build instructions are also included below.\n\n### Dependencies\n\nInstall the following packages on Debian 11+:\n\n```shell\n$ sudo apt install git cmake librtlsdr-dev librtlsdr0 libliquid2d libliquid-dev liblzma-dev liblzma5 libusb-1.0-0-dev fftw-dev libssl-dev libjson-c5 libjson-c-dev zlib1g-dev zlib1g\n```\n\nor, on Arch-based distros:\n```shell\n$ sudo pacman -S git cmake rtl-sdr liquid-dsp xz libusb libusb-compat fftw openssl json-c zlib\n```\n\nMore details on Apache Avro are available on [the Avro website](http://avro.apache.org). Releases may be downloaded from your package manager of choice:\n\n```shell\n$ sudo apt install libavro-dev libavro23\n```\n\nor (an AUR helper is needed):\n```shell\n$ sudo yay -S avro-c\n```\n\n### Building\n\nClone and build the repo (CMake is needed):\n\n```shell\n$ git clone https://github.com/openrfsense/orfs-sensor\n$ mkdir build \u0026\u0026 cd build\n$ cmake ..\n```\n\nTo create a `.deb` package use:\n\n```shell\n$ cpack .\n```\n\nTo build and install for the local machine:\n```shell\n$ cmake --install . --config Release --prefix /usr --strip\n```\n\n### Running\n\nStore PSD measurements to a CSV file. The output contains time, center frequency and PSD information.\n\n```\n./orfs_sensor \u003csensor_id\u003e \u003ccampaign_id\u003e 24000000 1700000000 -z PSD -s 2400000 -u /tmp/psd_data.csv\n```\n\n---\n\nRecord IQ data for 10 seconds to a file. Depending on the output format you like you must specify the samples format \njust right before the file name.\n\n**FLOAT**: The output contains I/Q samples as a sequence of 32-bit float values \n(little endian). IQ is normalized between -1 and 1, therefore it can be fed straight to gqrx or gnuradio as raw file.\n\n```\n./orfs_sensor \u003csensor_id\u003e \u003ccampaign_id\u003e 102000000 102000000 -z IQ -s 2400000 -t 10 -u FLOAT:/tmp/iq_data.raw\n```\n\n**BYTE**: The output contains I/Q samples as a sequence of 8-bit unsigned values \n(little endian). IQ is in the range of [0, 255], therefore it is fully compatible \nwith the rtl-sdr suite. This option is quite convenient to use on a RPi0.\n\n```\n./orfs_sensor \u003csensor_id\u003e \u003ccampaign_id\u003e 102000000 102000000 -z IQ -s 2400000 -t 10 -u BYTE:/tmp/iq_data.raw\n```\n\n### Differences from original project\nSeveral changes were made to the original (pre-fork) source code, most notably:\n- Cleaned up Avro schemas, breaking compatibility\n- Added sensor ID and campaign ID as mandatory command line paramenters\n- General code cleanup (minor) and formatting\n- Fixed CMake not finding dependencies on `arm64` hosts","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenrfsense%2Forfs-sensor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenrfsense%2Forfs-sensor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenrfsense%2Forfs-sensor/lists"}