https://github.com/jrcichra/smartcar
Transfer dashcam footage when you get home
https://github.com/jrcichra/smartcar
car dashcam docker-containers framework hacktoberfest microservices python3 smartcar
Last synced: 9 months ago
JSON representation
Transfer dashcam footage when you get home
- Host: GitHub
- URL: https://github.com/jrcichra/smartcar
- Owner: jrcichra
- License: mit
- Created: 2019-07-14T17:09:01.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2023-02-21T04:00:48.000Z (almost 3 years ago)
- Last Synced: 2025-03-26T01:01:36.573Z (10 months ago)
- Topics: car, dashcam, docker-containers, framework, hacktoberfest, microservices, python3, smartcar
- Language: Python
- Homepage:
- Size: 13.1 MB
- Stars: 11
- Watchers: 0
- Forks: 3
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# SmartCar  [](https://hub.docker.com/r/jrcichra/)
## A collection of [karmen](https://github.com/jrcichra/karmen) containers to build a distributed car container network
### Smartcar footage:

## Current Functionality
+ Starts and stops recording with ignition
+ Transfers footage to NAS when you come home
+ Collects obdii sensor data locally on an interval
# Current containers
+ [Karmen](https://github.com/jrcichra/karmen)
+ Controller for managing all other containers
+ [Dashcam](./containers/dashcam)
+ Interfaces with the Raspberry Pi Camera
+ [GPIO](./containers/gpio)
+ Interfaces with the GPIO pins (for ignition)
+ [Transfer](./containers/transfer)
+ Transfers footage to NAS when you get home
+ [OBDII](./containers/obdii)
+ Collect car sensor data (Speed, RPM, Throttle)
+ Uses standard libarary: https://python-obd.readthedocs.io/en/latest/
More containers on the way (OBDII) - make new containers and make a pull request!
## Getting started
You need some hardware and handywork to get this started in your car.
1. Look at your car's wiring diagram. Find out where you can tap into 12V (w/ a buck converter and a fuse)
2. Also see what wire corelates to your ignition
3. (I used wires going to my car radio (12V & ignition on/off))
4. You'll need a latch relay that is triggered with ignition on. This powers the Pi
5. Once the Pi is on, smartcar will emit "key_on" by default, starting the recording process
6. You'll need another relay system to determine when the ignition went off, but on a different pin, that does not turn off the Pi (remember, your Pi is on because of the former latch relay)
NOTE: as of writing the pin numbers are hardcoded in [gpio.py](./containers/gpio/gpio.py)
## Configuration
### config.yml
See [my example RPi config](./test_config_rpi.yml). TLDR; [karmen](https://github.com/jrcichra/karmen) takes a declarative mapping of container events to container actions
### docker-compose.yml
See [my example RPi compose](./docker-compose-test-rpi.yml).