{"id":15145340,"url":"https://github.com/jonwakefield/rf-communication-and-tracking","last_synced_at":"2026-01-21T05:43:12.692Z","repository":{"id":62388555,"uuid":"545644883","full_name":"JonWakefield/RF-Communication-and-Tracking","owner":"JonWakefield","description":"Repository contains the Code (Javascript, Arduino (c++), Python, HTML, and CSS) to create a LoRa RF communication, tracking, and UI.","archived":false,"fork":false,"pushed_at":"2024-08-10T22:53:05.000Z","size":13086,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-09T01:33:02.016Z","etag":null,"topics":["arduino","lora","raspberry-pi","rf","ui"],"latest_commit_sha":null,"homepage":"","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/JonWakefield.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,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-10-04T18:30:56.000Z","updated_at":"2024-08-10T22:53:08.000Z","dependencies_parsed_at":"2024-08-10T23:48:26.650Z","dependency_job_id":null,"html_url":"https://github.com/JonWakefield/RF-Communication-and-Tracking","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/JonWakefield%2FRF-Communication-and-Tracking","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JonWakefield%2FRF-Communication-and-Tracking/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JonWakefield%2FRF-Communication-and-Tracking/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JonWakefield%2FRF-Communication-and-Tracking/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JonWakefield","download_url":"https://codeload.github.com/JonWakefield/RF-Communication-and-Tracking/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248492964,"owners_count":21113157,"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":["arduino","lora","raspberry-pi","rf","ui"],"created_at":"2024-09-26T11:23:26.035Z","updated_at":"2026-01-21T05:43:12.658Z","avatar_url":"https://github.com/JonWakefield.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# RF-Communication-and-Tracking\n\nRF communication and tracking project using C++, Python, and JavaScript for communication, data processing, and user interface.\n\n### Hardware:\n\n###### The following list of hardware devices are used in conjuction with the Software.\n\n- Arduino Uno: https://store-usa.arduino.cc/products/arduino-uno-rev3\n- Raspberry Pi 4 b: https://www.raspberrypi.com/products/raspberry-pi-4-model-b/\n- Sparkfun Bi-Directional Logic Level Shifters: https://www.sparkfun.com/products/12009\n- Reyax RYLR998 Lora Transceiver: https://reyax.com/products/rylr998/\n- PROTO-boards (bread boards)\n\n### Software:\n\n###### The software consists of three main languages:\n\n- C++\n- Python\n- JavaScript\n\n![image](https://github.com/JonWakefield/RF-Communication-and-Tracking/assets/67289517/c568bc47-1505-483c-8a2c-340e5bc4529b)\n\n#### C++:\n\n- C++ handles communication with the LoRa RF transciever and passes incoming serial data to Python via the USB Serial port.\n\n#### JavaScript:\n\n- JavaScript handles user input and passes all data to Python in standard JSON format.\n\n#### User-Interface Photos\n\n##### Full-User interface (not the prettiest :) )\n\n![user-interface](photos/ui.png)\n\n##### Example chat messages\n\n![chat](photos/chat.jpg)\n\n#### Python:\n\n- Python handles communications between both UI and the Arduino Uno.\n- Incoming data is processed, converted to JSON, and displayed on the UI.\n- Out going data is serialized and sent to the Arduino for transmission.\n\n![image](https://github.com/JonWakefield/RF-Communication-and-Tracking/assets/67289517/94a5096f-7382-4470-8065-1af1615b8f69)\n\n## Communication Beacon:\n\nThe Communication beacon is a portable RF extension, used to increase the total reception and transmission range for RF communication.\n\n#### Hardware:\n\nCommunication Beacon Hardware\n\n![beacon](https://github.com/JonWakefield/RF-Communication-and-Tracking/assets/67289517/6c051aa0-5ef3-4143-be89-c61db153209e)\n\n     - Raspberry Pi 4b\n     - Reyax RYLR998 Lora Transceiver\n\n#### Software:\n\nCommunication Beacon Flowchart:\n![beacon_software](https://github.com/JonWakefield/RF-Communication-and-Tracking/assets/67289517/c668935e-2f6d-41d0-8b50-4c536bad6ba9)\n\n## Tracking Beacon:\n\nThe tracking beacons are used to get RSSI measurements relative to the rovers position and send this data back to the basecamp for RF location\nbased tracking.\n\n#### Hardware:\n\n![tracking_beacon](https://github.com/JonWakefield/RF-Communication-and-Tracking/assets/67289517/455d63ca-7635-4a6b-96fe-d66a14003d52)\n\n     - Arduino Uno (any arduino based uC would work).\n     - Level Shifter\n     - RF transceiver\n\n#### Software:\n\n![image](https://github.com/JonWakefield/RF-Communication-and-Tracking/assets/67289517/ee2af4c3-a843-4917-9193-35ac9e44910d)\n\n     - C++\n\nIf you have any additional questions or comments regarding this project, please feel free to reach out to me at jonwakefield.mi@gmail.com\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonwakefield%2Frf-communication-and-tracking","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjonwakefield%2Frf-communication-and-tracking","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonwakefield%2Frf-communication-and-tracking/lists"}