{"id":25903137,"url":"https://github.com/alsakhaev/raspberry-pi-car","last_synced_at":"2026-02-22T12:50:01.826Z","repository":{"id":42845057,"uuid":"260688987","full_name":"alsakhaev/raspberry-pi-car","owner":"alsakhaev","description":" Raspberry Pi Remote Controlled Car via Browser with Node.js","archived":false,"fork":false,"pushed_at":"2022-12-12T17:57:13.000Z","size":766,"stargazers_count":1,"open_issues_count":8,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2023-10-30T11:42:38.402Z","etag":null,"topics":["nodejs","raspberry-pi","raspicam","rpi-webrtc-streamer","webrtc"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/alsakhaev.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}},"created_at":"2020-05-02T13:07:27.000Z","updated_at":"2023-10-30T11:42:38.403Z","dependencies_parsed_at":"2023-01-27T23:15:22.690Z","dependency_job_id":null,"html_url":"https://github.com/alsakhaev/raspberry-pi-car","commit_stats":null,"previous_names":[],"tags_count":0,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alsakhaev%2Fraspberry-pi-car","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alsakhaev%2Fraspberry-pi-car/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alsakhaev%2Fraspberry-pi-car/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alsakhaev%2Fraspberry-pi-car/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alsakhaev","download_url":"https://codeload.github.com/alsakhaev/raspberry-pi-car/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241600470,"owners_count":19988719,"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":["nodejs","raspberry-pi","raspicam","rpi-webrtc-streamer","webrtc"],"created_at":"2025-03-03T03:19:03.966Z","updated_at":"2025-10-14T01:02:59.598Z","avatar_url":"https://github.com/alsakhaev.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Raspberry Pi Car\n\nA four-wheel drive car based on Raspberry Pi board.\n\n## Getting Started\n\nThese instructions will get you a copy of the project up and running on your local machine for development and testing purposes.\n\n### Prerequisites\n\nInstall and run [rpi-webrtc-streamer](https://github.com/kclyu/rpi-webrtc-streamer) for camera streaming via WebRTC.\n\nYou can use deb packages from [this repository](https://github.com/kclyu/rpi-webrtc-streamer-deb).\n\n```\nsudo apt update\nsudo apt full-upgrade\nsudo dpkg -i rws_xxx_armhf.deb\nsudo systemctl start rws\n```\n\n### Installing\n\nClone this repo to your Raspberry Pi\n```\ngit clone https://github.com/alsakhaev/raspberry-pi-car.git\ncd raspberry-pi-car\n```\n\nInstall all NPM dependencies\n```\nnpm install\n```\n\nThe pigpio C library and therefore the pigpio Node.js package requires root/sudo privileges to access hardware peripherals.\nYou can find more information about it at [the page of pigpio library](https://github.com/fivdi/pigpio).\n\nBuild and run production bundle\n```\nsudo npm run start:prod\n```\n\nOr build and run development bundle in watching mode\n```\nsudo npm run start\n```\n\n### Port Forwarding\n\nFor external remote control via Internet, probably you will need to configure port forwarding in your router. The following table describes ports using and its purposes.\n\n| Port | Description                         |\n| ---- | ----------------------------------- |\n| 8080 | Web client                          |\n| 8081 | Node.js based API                   |\n| 8888 | WebRTC Streaming Direct Port of RWS |\n| 8889 | WebSocket signaling server of RWS   |\n\n## Project Structure\n\n- `packages/client` - React.js based web client\n- `packages/server` - Node.js based WebSocket API for car control\n\n## Built With\n\n### Hardware\n\n* Raspberry Pi 3B+\n* Raspberry Pi Camera Module v2\n* L298N Dual H-bridge Motor Driver Board\n* 4WD Car Platform with 4 Gearmotors and Wheels\n* Ultrasonic Distance Sensor HC-SR04\n* 150Ω and 300Ω resistors for voltage divider\n* Xiamoi Mi Power Bank 2S 10000 mAh (5V/2.4A each USB port)\n\n### Wiring Diagram\n\n![Wiring Diagram](docs/wiring_diagram.svg \"Wiring Diagram\")\n\nThis Fritzing project is available in the documentation folder: [`docs/fritzing.fzz`](docs/fritzing.fzz)\n\n### Software\n\n* [TypeScript](https://www.typescriptlang.org/)\n* [Node.js](https://nodejs.org/)\n* [rpi-webrtc-streamer](https://github.com/kclyu/rpi-webrtc-streamer)\n* [pigpio](https://github.com/fivdi/pigpio)\n\n## Authors\n\n* Alexander Sakhaev\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falsakhaev%2Fraspberry-pi-car","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falsakhaev%2Fraspberry-pi-car","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falsakhaev%2Fraspberry-pi-car/lists"}