OVMS3/README.MD

117 lines
4.8 KiB
Plaintext
Raw Permalink Normal View History

2022-04-06 00:37:39 +02:00
# OVMS3 Fork
I forked OVMS3 Original project to work on a vehicle integration for my Renault Zoe Phase 2.
Orignal project: https://github.com/openvehicles/Open-Vehicle-Monitoring-System-3
## Firmware-Version
2022-09-08 12:03:19 +02:00
The fork is fixed at Version 3.3.003 with their provided modified ESP-IDF
2022-04-06 00:37:39 +02:00
## To-Do List
2022-04-09 00:58:08 +02:00
- [X] Integrate my server to assistant and server recommendation and add CA as well
2022-04-20 20:52:29 +02:00
- [X] Integrate PIDs for reading values like odometer, battery cell voltage and so on, via OBD connector (because of gateway read-only)
2022-04-23 17:39:08 +02:00
- [X] Stable working firmware with reliable readings
2022-04-20 20:52:29 +02:00
- [ ] Create a custom dashboard, for more car status informations
2022-04-06 01:12:45 +02:00
- [ ] Accessing CAN bus after gateway to get full access to controllers use all available CAN bus interfaces OVMS hardware has
- [ ] Get more useful PIDs with direct access of CAN busses
2022-04-20 20:52:29 +02:00
- [ ] Try to control things like wake-up and charge control
- [ ] Implement own control routines like control cabine ptc heaters to heat while charging (use UDS test commands to enable them)
2022-04-06 00:37:39 +02:00
## Releases
2022-04-09 04:39:36 +02:00
Successful build will be uploaded to my own OTA ovms-server at https://ovms-ota.bit-cloud.de or under Releases tab so self host them. You can just enter my OTA server URL under Config -> Firmware -> Update Server and click Flash from web-tab with empty URL to flash my firmware.
I will maintain main and edge version tag, please only flash main versions if you want to use it.
### Version numbers
2022-04-20 20:52:29 +02:00
Firmware versions will be named like openvehicles ones. I will add a dash with a counting number so I can signal if an update is available. If I push my fork to newest version from openvehicles, I increase original Firmware number. I will integrate changes from openvehicles if there is a code change in the main firmware only.
2022-04-09 04:39:36 +02:00
Example
2022-09-08 12:03:19 +02:00
> Version string: 3.3.003-cs131 <br>
> 3.3.003 = Original firmware my fork based on. <br>
2022-04-09 04:39:36 +02:00
> -cs131 = counting number of my version.
2022-04-06 00:37:39 +02:00
2022-04-09 00:58:08 +02:00
## Build prerequisites
If you have a freshly installed Debian or Ubuntu based operating system, you can install prerequisites with following commands. On other distributions you need to install these with your package manager
```
apt install git build-essential pyhton3 python3-pip python ncurses-dev flex bison gperf dos2unix
wget https://bootstrap.pypa.io/pip/2.7/get-pip.py
sudo python2.7 get-pip.py
```
2022-04-06 00:37:39 +02:00
## Build
2022-04-06 01:12:45 +02:00
Clone my repository and init submodules
2022-04-20 20:52:29 +02:00
2022-04-06 00:37:39 +02:00
```
2022-04-06 01:12:45 +02:00
git clone https://git.bit-cloud.de/carsten.schmiemann/OVMS3.git
cd OVMS3/
git submodule init
git submodule update
2022-04-06 00:37:39 +02:00
```
Install provided ESP IoT Development Framework
```
cd OVMS.V3-idf/
./install.sh
```
2022-04-06 01:12:45 +02:00
If you have trouble to install because another version of the IDF installed, delete the entire folder and try step above again
```
rm -rf ~/.espressif
```
Enable IDF (everytime you open a shell and want to compile project)
2022-04-06 00:37:39 +02:00
```
cd OVMS.V3-idf/
source export.sh
```
2022-04-06 01:12:45 +02:00
Go to OVMS Folder copy sdkconfig for your hardware and build firmware
2022-04-20 20:52:29 +02:00
In this example for hardware 3.1 and above. You can customize it via make menuconfig.
2022-04-06 00:37:39 +02:00
```
cd OVMS.V3/
2022-04-06 01:12:45 +02:00
cp support/sdkconfig.default.hw31 sdkconfig
2022-04-06 00:37:39 +02:00
make -jX
```
2022-04-20 20:52:29 +02:00
2022-04-06 00:37:39 +02:00
X = number of cpu cores to speed up build process
2022-04-06 01:12:45 +02:00
Then upload built firmware to your webserver and flash it via OTA function in OVMS webinterface.
> Hint: If you build your first time, you need to execute make multiple times, because of downloading dependencies.
2022-04-06 00:37:39 +02:00
## Security concerns
2022-04-20 20:52:29 +02:00
The OVMS3 project use an outdated and modified IDF, there are many security problems with them. Major problem is missing firewall so your webinterface and services like SSH is open to public ip of 3G/LTE interface. Most providers use an CG-NAT, but this is not a reliable protection at all.
2022-04-06 00:37:39 +02:00
Many of used libraries are outdated too. For example mongoose webserver has a lot of security problems fixed with newer versions.
I cannot fix these issues because I am not an experienced C programmer, I will focus on my vehicle integration.
2022-04-06 01:12:45 +02:00
I hope original project maintainers will fix them in the future, I know it is not an easy task because there a lot of changes in the IDF and dependencies.
## OVMS Server
2022-04-20 20:52:29 +02:00
I use my own OVMS server, because I love privacy. So there are no push messages available, only E-Mail for notifications.
You can use it too if you want, just register a account and vehicle at https://ovms.bit-cloud.de and point your OVMS module at https://ovms-server.bit-cloud.de Port 6870 (default) with TLS enabled or choose it at initial config wizard.
~~You need to insert my CA into your OVMS3, because I cannot proxy it with nginx and letsencrypt certificates so I used self signed certs.~~
My server ca is now included in this firmware.
2022-04-06 01:12:45 +02:00
2022-04-20 20:52:29 +02:00
~~Create a file called ovms-ca at /store/trustedca with bult in editor in the webinterface. (Create folder if not exist)~~
~~Paste content of ovms-ca.crt file to it and save it.~~
2022-04-23 17:39:08 +02:00
~~Then go to the web shell or ssh and type in~~
2022-04-06 01:12:45 +02:00
```
tls trust reload
```