{"id":17150467,"url":"https://github.com/argilo/gr-tenna","last_synced_at":"2025-04-13T11:52:32.054Z","repository":{"id":55625268,"uuid":"149392221","full_name":"argilo/gr-tenna","owner":"argilo","description":"goTenna Mesh receiver and transmitter for GNU Radio","archived":false,"fork":false,"pushed_at":"2024-10-09T04:44:43.000Z","size":271,"stargazers_count":32,"open_issues_count":1,"forks_count":4,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-03-27T03:03:55.212Z","etag":null,"topics":["hacktoberfest"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/argilo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","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":"2018-09-19T04:26:52.000Z","updated_at":"2024-12-20T07:09:03.000Z","dependencies_parsed_at":"2024-01-17T00:22:52.880Z","dependency_job_id":"282ea0ff-674e-49aa-b5a8-daefd4569c38","html_url":"https://github.com/argilo/gr-tenna","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/argilo%2Fgr-tenna","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/argilo%2Fgr-tenna/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/argilo%2Fgr-tenna/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/argilo%2Fgr-tenna/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/argilo","download_url":"https://codeload.github.com/argilo/gr-tenna/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248710438,"owners_count":21149188,"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":["hacktoberfest"],"created_at":"2024-10-14T21:35:44.043Z","updated_at":"2025-04-13T11:52:32.021Z","avatar_url":"https://github.com/argilo.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"```\n#\n# Copyright 2018-2024 Clayton Smith (argilo@gmail.com)\n#\n# This file is part of gr-tenna.\n#\n# gr-tenna is free software: you can redistribute it and/or modify\n# it under the terms of the GNU General Public License as published by\n# the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n#\n# gr-tenna is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License\n# along with gr-tenna.  If not, see \u003chttp://www.gnu.org/licenses/\u003e.\n#\n```\n\ngr-tenna\n========\n\nThe goal of this project is to implement the goTenna Mesh protocol in GNU Radio.\nSo far there are flow graphs for receiving and transmitting \"Shout\" messages\nusing a USRP B200 or HackRF.\n\n## Installation\n\n```\nmkdir build\ncd build\ncmake ..\nmake\nsudo make install\n```\n\n## Usage\n\nTo receive messages using a USRP:\n```\napps/gotenna_rx_usrp.py\n```\n\nTo receive messages using a HackRF:\n```\napps/gotenna_rx_hackrf.py\n```\n\nTo transmit a shout message using a USRP:\n```\napps/gotenna_tx_usrp.py --app-id=0x3fff --sender-gid=1234567890 --initials=XYZ --message=\"Hello world!\"\n```\n\nTo transmit a shout message using a HackRF:\n```\napps/gotenna_tx_hackrf.py --app-id=0x3fff --sender-gid=1234567890 --initials=XYZ --message=\"Hello world!\"\n```\n\n## Protocol Buffers\n\nIf `.proto` files are updated, the corresponding Python code can be regenerated as follows:\n\n```\nprotoc -Iprotobuf --python_out=python protobuf/gotenna_packet/proto/*.proto\n```\n\n## Credits\n\nThis project builds on reverse engineering work done by Woody [@tb69rr](https://twitter.com/tb69rr)\nand Tim [@bjt2n3904](https://twitter.com/bjt2n3904), and presented in the\nWireless Village at DEF CON 25: https://www.youtube.com/watch?v=pKP74WGa_s0\n\n[`reedsolo.py`](https://github.com/tomerfiliba/reedsolomon) was written by Tomer\nFiliba and released into the public domain.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fargilo%2Fgr-tenna","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fargilo%2Fgr-tenna","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fargilo%2Fgr-tenna/lists"}