{"id":19853894,"url":"https://github.com/techniker/garmin_gmr18_tools","last_synced_at":"2026-01-07T00:18:52.351Z","repository":{"id":220433718,"uuid":"674023461","full_name":"techniker/Garmin_GMR18_tools","owner":"techniker","description":"Tools for talking to a Garmin GMR18 Radar via ethernet","archived":false,"fork":false,"pushed_at":"2024-06-02T18:54:32.000Z","size":36,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-01T02:29:12.465Z","etag":null,"topics":["command","control","garmin","gmr18","gmr18hd","mqtt","radar","ship"],"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/techniker.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":"2023-08-03T01:12:58.000Z","updated_at":"2024-05-09T23:11:32.000Z","dependencies_parsed_at":"2024-02-02T02:42:35.277Z","dependency_job_id":"140eed07-18af-487e-a62d-ae8d91793d4c","html_url":"https://github.com/techniker/Garmin_GMR18_tools","commit_stats":{"total_commits":11,"total_committers":1,"mean_commits":11.0,"dds":0.0,"last_synced_commit":"73d86121de1eb35c378a901eb311f553b6f9f337"},"previous_names":["techniker/garmin_gmr18_tools"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/techniker%2FGarmin_GMR18_tools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/techniker%2FGarmin_GMR18_tools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/techniker%2FGarmin_GMR18_tools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/techniker%2FGarmin_GMR18_tools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/techniker","download_url":"https://codeload.github.com/techniker/Garmin_GMR18_tools/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245733604,"owners_count":20663553,"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":["command","control","garmin","gmr18","gmr18hd","mqtt","radar","ship"],"created_at":"2024-11-12T14:07:59.174Z","updated_at":"2026-01-07T00:18:52.310Z","avatar_url":"https://github.com/techniker.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Garmin_GMR18_tools\n## Garmin GMR18 Radome Control Tool\n\nThis tool offers a simple interface for interacting with the Garmin GMR18 Radome, enabling both local and MQTT-based remote control and configuration. \nIt is designed to provide real-time control and status updates for the radar, including power management, range setting, gain adjustment, and more.\n\nRequirements\nPython 3.6+\nasyncio for asynchronous I/O\nsocket and struct for network communication\njson for data serialization\npaho-mqtt Python client library for MQTT communication\n\n## Features\n\n- **Power Control**: Switch the radar power on or off.\n- **Range Adjustment**: Modify the radar's scanning range.\n- **Gain Management**: Set the radar's gain manually or to auto-adjust.\n- **FTC and Crosstalk Management**: Enable or disable Fast Target Tracking (FTC) and Crosstalk.\n- **MQTT Integration**: Remotely control the radar and receive status updates via MQTT, enabling integration with automation systems or custom interfaces.\n- **Real-Time Data Publishing**: Stream scanline data and radar status updates in real-time over MQTT for external monitoring and analysis.\n\n## Requirements\n\n- Python 3.6 or newer.\n- `asyncio` for asynchronous operations.\n- `socket` and `struct` for networking.\n- `json` for data serialization.\n- `paho-mqtt` for MQTT communication.\n\n## Configuration\nNetwork Settings: Configure local_address, remote_address, and multicast_address according to your network setup and radar unit.\n- MQTT Settings: Set mqtt_broker and mqtt_port to your MQTT broker's address and port.\n\nMQTT Topics:\n- Commands are received on: garmin/radar/command\n- Scanline data is published to: garmin/gmr18radar/scanline\n- Status updates are published to: garmin/gmr18radar/status\n\n- Issue commands through the command-line interface or by publishing to the garmin/radar/command MQTT topic.\n- MQTT Command Structure:\nCommands should be in JSON format, for example:\n\n      `{\n        \"action\": \"set_range\",\n        \"value\": 1.00\n      }`\n\n Supported actions include power_on, power_off, set_range, set_gain, among others, as detailed in the script.\n\n## Contributing\nContributions are welcome. Please submit pull requests for new features, bug fixes and report issues as you come across them. Thanks!\n\n\n## Acknowledgments\n\n- Special thanks to [promovicz](https://github.com/promovicz/garmin-radar) for their foundational work on Garmin radar communication.\n- Developed by \u003ctec_at_sixtopia.net\u003e\n\n## License\nRefer to the LICENSE file for more details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftechniker%2Fgarmin_gmr18_tools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftechniker%2Fgarmin_gmr18_tools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftechniker%2Fgarmin_gmr18_tools/lists"}