{"id":51611397,"url":"https://github.com/braboj/demo-hvlp","last_synced_at":"2026-07-12T08:03:55.902Z","repository":{"id":229475412,"uuid":"776838938","full_name":"braboj/demo-hvlp","owner":"braboj","description":"MQTT protocol demo","archived":false,"fork":false,"pushed_at":"2026-07-10T19:15:29.000Z","size":557,"stargazers_count":3,"open_issues_count":11,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-07-10T21:10:29.538Z","etag":null,"topics":["protocol","python","simulator","training"],"latest_commit_sha":null,"homepage":"","language":"Python","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/braboj.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-03-24T15:36:58.000Z","updated_at":"2026-07-10T19:19:00.000Z","dependencies_parsed_at":"2024-03-30T21:01:00.598Z","dependency_job_id":null,"html_url":"https://github.com/braboj/demo-hvlp","commit_stats":null,"previous_names":["braboj/hvlp","braboj/python-hvlp","braboj/demo-hvlp"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/braboj/demo-hvlp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/braboj%2Fdemo-hvlp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/braboj%2Fdemo-hvlp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/braboj%2Fdemo-hvlp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/braboj%2Fdemo-hvlp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/braboj","download_url":"https://codeload.github.com/braboj/demo-hvlp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/braboj%2Fdemo-hvlp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35385773,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-12T02:00:06.386Z","response_time":87,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["protocol","python","simulator","training"],"created_at":"2026-07-12T08:03:55.379Z","updated_at":"2026-07-12T08:03:55.896Z","avatar_url":"https://github.com/braboj.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# HVLP - Hilscher Variable Length Protocol\r\n\r\nHVLP is a simple protocol for sending messages between clients and a broker. The protocol is \r\nbased on the MQTT protocol and is implemented in Python. The main focus of the project is to\r\ndemonstrate the use of OOP, SOLID principles, sockets and threading in Python. \r\n\r\n## Features\r\n\r\n- Connect to a broker\r\n- Subscribe to a topic\r\n- Publish to a topic\r\n- Disconnect from a broker\r\n- Support for multiple clients\r\n\r\n## Requirements\r\n\r\n- Python 3.7 or newer\r\n- The dependencies in `requirements.txt` (currently just `six`)\r\n\r\nInstall them, ideally into a virtual environment:\r\n\r\n```bash\r\npython -m venv .venv\r\n\r\n# Windows (PowerShell):\r\n.venv\\Scripts\\Activate.ps1\r\n# Linux / macOS:\r\nsource .venv/bin/activate\r\n\r\npip install -r requirements.txt\r\n```\r\n\r\n## Project Setup\r\n\r\n### 1. Clone the HVLP project\r\n\r\nUse a git client to clone the project from https://github.com/braboj/demo-hvlp\r\nto a folder of your choice.\r\n\r\n### 2. Go to the project folder\r\n\r\nType `cd \u003cpath to project folder\u003e` and install the dependencies as shown under\r\n[Requirements](#requirements).\r\n\r\n### 3. Open a new command terminal for the broker\r\n\r\nFrom the project root, start the broker:\r\n\r\n```bash\r\npython -m hvlp.broker \u003cIP ADDR\u003e \u003cPORT\u003e\r\n```\r\n\r\nIf the arguments are omitted, the default IP is `127.0.0.1` and the default\r\nport is `65432`.\r\n\r\n### 4. Open a new command terminal for a client\r\n\r\nFrom the project root, start a client:\r\n\r\n```bash\r\npython -m hvlp.client \u003cSERVER ADDR\u003e \u003cPORT\u003e\r\n```\r\n\r\nIf the arguments are omitted, the default server address is `127.0.0.1` and the\r\ndefault port is `65432`.\r\n\r\n### 5. Connect the client to the broker\r\n\r\nType `connect` in the client console to connect to the broker\r\n\r\n![img.png](assets/images/connect.png)\r\n\r\n### 6. Subscribe the client to a topic\r\n\r\nType `subscribe test` in the client console to subscribe to a topic\r\n\r\n![img.png](assets/images/subscribe.png)\r\n\r\n### 7. Repeat steps 4-6 to add a second client\r\n\r\n![img.png](assets/images/two_clients.png)\r\n\r\n### 8. Publish to a topic\r\n\r\nType publish test 1 in one of the client consoles.\r\n\r\n![img.png](assets/images/publish.png)\r\n\r\n### 9. Get help how to use the application\r\n\r\nType `help` in the client console for more commands\r\n\r\n![img.png](assets/images/help.png)\r\n\r\n### 10. Exit the applications\r\n\r\nType `quit` or press CTRL + C in a client console to exit the client. To exit the broker press \r\nCTRL + C. There might be a slight delay (1-2 seconds) until the application ends.\r\n\r\n \r\n\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbraboj%2Fdemo-hvlp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbraboj%2Fdemo-hvlp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbraboj%2Fdemo-hvlp/lists"}