{"id":19836647,"url":"https://github.com/markqvist/loramon","last_synced_at":"2025-05-01T18:30:27.816Z","repository":{"id":57438842,"uuid":"138862375","full_name":"markqvist/LoRaMon","owner":"markqvist","description":"LoRa packet sniffer for RNode hardware","archived":false,"fork":false,"pushed_at":"2023-10-28T21:30:19.000Z","size":22,"stargazers_count":33,"open_issues_count":2,"forks_count":6,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-06T16:49:10.069Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":false,"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/markqvist.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}},"created_at":"2018-06-27T09:48:48.000Z","updated_at":"2025-03-25T00:08:04.000Z","dependencies_parsed_at":"2022-09-08T09:50:18.333Z","dependency_job_id":null,"html_url":"https://github.com/markqvist/LoRaMon","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/markqvist%2FLoRaMon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/markqvist%2FLoRaMon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/markqvist%2FLoRaMon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/markqvist%2FLoRaMon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/markqvist","download_url":"https://codeload.github.com/markqvist/LoRaMon/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251924550,"owners_count":21665988,"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":[],"created_at":"2024-11-12T12:12:05.211Z","updated_at":"2025-05-01T18:30:27.512Z","avatar_url":"https://github.com/markqvist.png","language":"Python","readme":"# LoRa packet sniffer for RNode hardware\n\n## Intro\n\nThis utility allows you to sniff LoRa networks with an [RNode](https://unsigned.io/projects/rnode/), and dump captured packets to the console or files.\n\n```sh\nusage: loramon [-h] [-C] [-W directory] [--freq Hz] [--bw Hz] [--txp dBm]\n               [--sf factor] [--cr rate]\n               [port]\n\nLoRa packet sniffer for RNode hardware.\n\npositional arguments:\n  port           Serial port where RNode is attached\n\noptional arguments:\n  -h, --help     show this help message and exit\n  -C, --console  Print captured packets to the console\n  -W directory   Write captured packets to a directory\n  --freq Hz      Frequency in Hz\n  --bw Hz        Bandwidth in Hze\n  --txp dBm      TX power in dBm\n  --sf factor    Spreading factor\n  --cr rate      Coding rate\n```\n\n## Installation\n\nIf you already have Python3 and pip installed, you can easily install LoRaMon through pip:\n\n```sh\npip3 install loramon\n```\n\nOn Arch Linux it is also possible to install using the `loramon` package from the [AUR](https://aur.archlinux.org/packages/loramon).\n\nIf you want to install directly from this repository, first install the dependencies:\n\n```sh\nsudo apt install python3 python3-pip\nsudo pip3 install pyserial\n```\n\nAnd then clone the repository and make LoRaMon executable:\n\n```sh\ngit clone https://github.com/markqvist/LoRaMon.git\ncd LoRaMon\nchmod a+x loramon\n./loramon --help\n```\n\n## Usage Examples\n\n### Dump to console\n\nListens on a specified frequency and displays captured packets in the console.\n\n```sh\nloramon /dev/ttyUSB0 --freq 868000000 --bw 125000 --sf 7 --cr 5 -C\n```\n\n### Dump to console and disk\n\nLike above, but also writes all captured packets individually to a specified directory.\n\n```sh\nloramon /dev/ttyUSB0 --freq 868000000 --bw 125000 --sf 7 --cr 5 -C -W capturedir\n```\n\n### Sniff implicit header mode packets\n\nIf you want to sniff LoRa packets with implicit header mode, use the --implicit option along with the length in bytes of the expected packet. This mode needs an RNode with a firmware version of at least 1.17.\n\n```sh\nloramon /dev/ttyUSB0 --freq 868000000 --bw 125000 --sf 7 --cr 5 -C -W capturedir --implicit 12\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarkqvist%2Floramon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarkqvist%2Floramon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarkqvist%2Floramon/lists"}