{"id":19532386,"url":"https://github.com/esimkowitz/robotcontrol","last_synced_at":"2026-05-02T18:39:17.299Z","repository":{"id":159503245,"uuid":"98051080","full_name":"esimkowitz/RobotControl","owner":"esimkowitz","description":"A simple controller for a simple robot.","archived":false,"fork":false,"pushed_at":"2022-12-19T07:52:27.000Z","size":39,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-01-08T17:07:47.973Z","etag":null,"topics":["javascript","python","python3","raspberry-pi","remote-control","robotics","streaming"],"latest_commit_sha":null,"homepage":null,"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/esimkowitz.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":"2017-07-22T18:41:52.000Z","updated_at":"2023-03-04T06:12:03.000Z","dependencies_parsed_at":null,"dependency_job_id":"a7fcf97f-b91c-4a82-9cc5-951133a2bed0","html_url":"https://github.com/esimkowitz/RobotControl","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/esimkowitz%2FRobotControl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/esimkowitz%2FRobotControl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/esimkowitz%2FRobotControl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/esimkowitz%2FRobotControl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/esimkowitz","download_url":"https://codeload.github.com/esimkowitz/RobotControl/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240784224,"owners_count":19856977,"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":["javascript","python","python3","raspberry-pi","remote-control","robotics","streaming"],"created_at":"2024-11-11T01:50:42.706Z","updated_at":"2026-05-02T18:39:12.277Z","avatar_url":"https://github.com/esimkowitz.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# RobotControl\n\nA simple controller for Raspberry Pi robots powered by the [Adafruit DC \u0026 Stepper Motor HAT](https://www.adafruit.com/product/2348).\n\n## Installation\n\nUse the following script to download and install RobotControl:\n\n```bash\ncd ~\ngit clone https://github.com/esimkowitz/RobotControl.git\ncd ~/RobotControl\nsudo python3 setup.py install\n```\n\n## Usage\n\n### Getting started\n\nTo run RobotControl, use the following script:\n\n```bash\ncd ~/RobotControl/RobotControl\npython3 app.py\n```\n\nThis will start the webserver on port ``5000``.\n\nTo use the controller, open a browser and navigate to ``http://\u003cPi's IP address\u003e:5000``, replacing ``\u003cPi's IP address\u003e`` with the IP address of your Raspberry Pi.\n\nPlease note that I've only tested this with the Pi and the controlling device on the same WiFi network.\n\n### The Controls\n\nThe controller displays a low-latency video stream from the Pi's camera.\n\nThe controls work on desktops and multi-touch devices. On desktops, the best way to control the robot is using the arrow or WASD keys. On mobile/multi-touch devices, the best way to control the robot is to drag your finger along the screen in the direction you want the robot to move. \n\nDragging your finger along the screen will enable a joystick that can be used to control the robot. This works on both touchscreens and by clicking-and-dragging with the mouse, but it's really meant for touchscreens.\n\n### Stopping the program\n\nStop RobotControl at any time by pressing ``Ctrl-C`` in the terminal window.\n\n## Questions/Concerns\n\nPlease open an issue if you run into trouble.\n\n## Acknowledgements\n\nThanks to yoannmoinet's [nipplejs](https://github.com/yoannmoinet/nipplejs) library for the joystick functionality.\n\nThanks to waveform80's [pistreaming](https://github.com/waveform80/pistreaming) demo for the low-latency video streaming.\n\nThanks to phoboslab's [jsmpeg](https://github.com/phoboslab/jsmpeg) library for the Javascript video decoder.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fesimkowitz%2Frobotcontrol","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fesimkowitz%2Frobotcontrol","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fesimkowitz%2Frobotcontrol/lists"}