{"id":15416856,"url":"https://github.com/ussserrr/pid-controller-server","last_synced_at":"2025-04-19T14:34:19.388Z","repository":{"id":113442525,"uuid":"161808270","full_name":"ussserrr/pid-controller-server","owner":"ussserrr","description":"ESP32-based PID regulator with remote control","archived":false,"fork":false,"pushed_at":"2018-12-19T00:54:18.000Z","size":36,"stargazers_count":16,"open_issues_count":1,"forks_count":8,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-03-29T08:43:34.564Z","etag":null,"topics":["esp-idf","esp32","pid","server","socket","udp"],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ussserrr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2018-12-14T15:57:47.000Z","updated_at":"2024-05-14T12:49:07.000Z","dependencies_parsed_at":null,"dependency_job_id":"48d8b0ee-97eb-442d-a93b-c169ab6aa5c4","html_url":"https://github.com/ussserrr/pid-controller-server","commit_stats":{"total_commits":9,"total_committers":1,"mean_commits":9.0,"dds":0.0,"last_synced_commit":"af67b4daf00dc2132f53084fb51b00e0143d7c3d"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ussserrr%2Fpid-controller-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ussserrr%2Fpid-controller-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ussserrr%2Fpid-controller-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ussserrr%2Fpid-controller-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ussserrr","download_url":"https://codeload.github.com/ussserrr/pid-controller-server/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249715476,"owners_count":21315054,"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":["esp-idf","esp32","pid","server","socket","udp"],"created_at":"2024-10-01T17:14:02.316Z","updated_at":"2025-04-19T14:34:19.358Z","avatar_url":"https://github.com/ussserrr.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# pid-controller-server\nStandalone proportional-integral-derivative regulator with the ability to be controlled via Wi-Fi (acts like UDP server).\n\n\n## Overview\nThe app relies on the official [ESP-IDF](https://github.com/espressif/esp-idf) framework. Instruction set of the regulator itself can be find in [`commandmanager.h`](/components/commandmanager/include/commandmanager.h) file or in [pid-controller-gui](https://github.com/ussserrr/pid-controller-gui) repository. Supports both IPv4 and IPv6 networks.\n\n`udp_server_task` serves main UDP server and constantly listening for incoming messages. They are then passed to  `commandmanager` module (`process_request()` function) and the prepared reply is sending back to the client.\n\n`_stream_task` is an internal task only active when stream of process variable and controller output values is requested.\n\n`pid` component performing the main PID algorithm.\n\n\n## Usage\nRefer to ESP-IDF [documentation](https://docs.espressif.com/projects/esp-idf/en/latest/index.html) for help on compile \u0026 run processes. Generally, to build, flash and run built-in UART monitor you should invoke:\n```bash\n$ make -j8 flash monitor\n```\nAlternatively, you can apply tasks of VSCode editor that have been used during development by me. They are placed in [.vscode/tasks.json](/.vscode/tasks.json) file.\n\n\n## Client\nThe app can be easily paired with [pid-controller-gui](https://github.com/ussserrr/pid-controller-gui) PC utility out-of-the-box.\n\n\n## TODOs\n- [ ] Better port to more advanced PID engine such as [MiniPID](https://github.com/tekdemo/MiniPID) and use more classy architecture for managing PID configuration both in commandmanager and in dedicated task\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fussserrr%2Fpid-controller-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fussserrr%2Fpid-controller-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fussserrr%2Fpid-controller-server/lists"}