{"id":13376316,"url":"https://github.com/omriiluz/nrf24-btle-decoder","last_synced_at":"2025-03-13T02:31:02.568Z","repository":{"id":13356985,"uuid":"16044489","full_name":"omriiluz/NRF24-BTLE-Decoder","owner":"omriiluz","description":"Sniff and decode NRF24L01+ and Bluetooth Low Energy using RTL-SDR","archived":false,"fork":false,"pushed_at":"2017-02-03T05:38:25.000Z","size":13,"stargazers_count":306,"open_issues_count":2,"forks_count":71,"subscribers_count":34,"default_branch":"master","last_synced_at":"2024-08-03T18:15:31.483Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","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/omriiluz.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":"2014-01-19T11:15:05.000Z","updated_at":"2024-07-23T20:27:18.000Z","dependencies_parsed_at":"2022-09-02T13:30:28.658Z","dependency_job_id":null,"html_url":"https://github.com/omriiluz/NRF24-BTLE-Decoder","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/omriiluz%2FNRF24-BTLE-Decoder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/omriiluz%2FNRF24-BTLE-Decoder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/omriiluz%2FNRF24-BTLE-Decoder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/omriiluz%2FNRF24-BTLE-Decoder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/omriiluz","download_url":"https://codeload.github.com/omriiluz/NRF24-BTLE-Decoder/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221331222,"owners_count":16799327,"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-07-30T05:02:40.609Z","updated_at":"2024-10-24T16:31:42.044Z","avatar_url":"https://github.com/omriiluz.png","language":"C","funding_links":[],"categories":["\u003ca id=\"7bf0f5839fb2827fdc1b93ae6ac7f53d\"\u003e\u003c/a\u003e工具"],"sub_categories":["\u003ca id=\"32739127f0c38d61b14448c66a797098\"\u003e\u003c/a\u003e嗅探\u0026\u0026Sniff"],"readme":"NRF24-BTLE-Decoder\n==================\n\nSniff and decode NRF24L01+ and Bluetooth Low Energy using RTL-SDR.  \nThese protocols use the ISM 2.4Ghz frequency range, which is beyond the capabilities of the cheap rtl-sdr, a down convertor is necessary. See http://blog.cyberexplorer.me/2014/01/sniffing-and-decoding-nrf24l01-and.html for more details.\n\nThe main repository is at https://github.com/omriiluz/NRF24-BTLE-Decoder\n\nCompile\n-------\n`make`  \nor directly  \n`gcc -std=gnu99 -Wall -O3 -o nrf24-btle-decoder nrf24-btle-decoder.c`\n\nUsage\n-----\n`nrf24-btle-decoder [-t nrf|btle] [-d 1|2|8] [-l len]`\n-t packet_type (nrf or btle), defaults to nrf. Using packet type btle implies -d 2  \n-d downsample_rate (1 for 2mbps, 2 for 1mbps, 8 for 256kbps), default to 2  \n-l len (1-32). Sets a fixed packet length\n\nImportant - this program input is a 2M samples per second bitstream generated by rtl_fm or equivalent e.g. rtl_fm.exe -f 428m -s 2000k | nrf24-btle-decoder.exe -t nrf -s 2\n\nDependencies\n------------\n* working rtl-sdr library. See http://sdr.osmocom.org/trac/wiki/rtl-sdr\n* working hardware - rtl-sdr, downconverter, antenna\n\nLimitations\n-----------\n* The NRF24L01+ protocol decoder is missing 0/1 byte CRC. It should be trivial to implement, please open an issue if you need that capability.\n* The BTLE protocol decoder currently supports only advertisement packets on channel 38 and not data packets / frequency hopping. I am still evaluating whether the rtl-sdr hardware is fast enough to track the frequency hopping.\n\nTroubleshooting\n-----------------\n* Biggest problem is noise, avoid rf auto gain and set as low as possible. I usually get best results with 0-10 db gain.  \n* Second biggest problem is frequency drift. Use kalibrate for a good base line then fine tune the frequency in 50Khz steps until perfect  \n\nLicense\n-------\nAll of the code contained here is licensed by the MIT license.\n\nCredit\n------\nDmitry Grinberg, CRC and Whiten code for BTLE - http://goo.gl/G9m8Ud  \nOpen Source Mobile Communication, RTL-SDR information - http://sdr.osmocom.org/trac/wiki/rtl-sdr  \nSteve Markgraf, RTL-SDR Library - https://github.com/steve-m/librtlsdr  \n\n-----------------\n\nCopyright (c) 2014 Omri Iluz (omri@il.uz / http://cyberexplorer.me / https://github.com/omriiluz)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fomriiluz%2Fnrf24-btle-decoder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fomriiluz%2Fnrf24-btle-decoder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fomriiluz%2Fnrf24-btle-decoder/lists"}