Windows 10 OpenPilot_Dashboard Quick setup
- Download ZIP File
install.batto install Python 2.7 and dependencies. Click Yes on the UAC security prompt to allow it to install. When it's done, press any key to continue at the prompt. You only need to install this once.
- Make sure your EON is running a branch that includes Gernby's ZMQ Forwarder. Enable the hotspot tethering on your EON and connect your computer to it.
- Start your car.
run.batto start InfluxDB, Grafana, and the ZMQ influx Client.
- A browser window will open the Grafana web interface located at http://localhost:3000 Username: admin Password: admin
- Click the Home drop down menu and select one of the dashboards. Example:
- To begin viewing live data, select the date picker in the upper right and enter From:
now-15sand select Refreshing every
200ms. Click Apply.
- Start driving and Engage openpilot. Data will start to flow into the dashboard once openpilot is engaged.
Prebuilt VMWare Virtual Machine
A VMWare Machine (Hardware v12) has been built using Ubuntu 18.04 LTS The machine has no Desktop Environment, but contains everything needed. It is configured with 2 Network Interfaces. 1 is a bridge, the other is Local Only. Uses 1 CPU, 512M RAM, and is 3.6GB in size, it has a 20GB max size, so you can store HEAPS!
- Watch the Video on how to use it : https://youtu.be/egYiMAJIYqQ
- Honestly, watch the video before asking questions, it covers all the points below
- Download the VMWare Image from here : https://drive.google.com/file/d/18OmSWia2sBbz9Npn9Eewr_rAV6zVQUTO/view?usp=sharing
- Install VMWare Workstation Player or VMWare Fusion if not installed
- Connect to your EON Hotspot
- Extract downloaded Image, and double click on the VMX file
- login, username =
user, password =
password<-- take note of the IP Addresses
python2.7 OpenPilot_Dashboard/ZMQ-Influx-Client.pyand press enter
- In a web browser, type in one of the IP Addresses followed by :3000
Ubuntu 18.04 Installation Instructions (Should be same for all distro's which use aptitude and systemd)
sudo apt update -y && sudo apt upgrade -y<-- Update and Upgrade before starting
sudo apt install influxdb influxdb-client -y<-- Install Influx client and server
influx<-- Launch Influx
create database carDB<-- Crate database
exit<-- quit influx
sudo echo "deb https://packagecloud.io/grafana/stable/debian/ stretch main" >> /etc/apt/sources.list.d/grafana.list<-- add APT source
sudo curl https://packagecloud.io/gpg.key | sudo apt-key add -<-- add key for source
sudo apt update<-- update aptitude
sudo apt-get install grafana pip -y<-- Install Grafana and pip
sudo systemctl daemon-reload<--Reload systemd
sudo systemctl enable grafana-server<-- Enable grafana on boot
sudo systemctl start grafana-server<-- Start Grafana
pip install zmq
pip install influxdb
sudo apt install git
git clone https://github.com/Gernby/OpenPilot_Dashboard.git
- Connect to your EON Hotspot
- In a web browser, type in localhost:3000
OpenPilot_Dashboard Generic Setup Instructions
This dashboard has been invalluable to me while enhancing lateral control for OpenPilot, and think it would be equally valuable to anyone that's trying to resolve a lateral tuning issue.
The UI is web-based, and runs on every platform I've tried, including my iPhone. The server can be setup to run on a laptop, or dedicated server. The server doesn't need to be powerful, but performance will be limited. I've successfully configured a Raspberry Pi 3B as a server for this, and it worked surprisingly well.
If you are running a custom fork of OpenPilot, you can publish generic ZMQ feeds to the server without much effort. My fork of OpenPilot has a generic stream of raw CAN data coming from parcer.cc at a frame rate of 10Hz. I also have generic streams coming from various other Python modules, depending on what I'm trying to do with the branch. If you want to run the standard fork of OpenPilot, you will need additional libraries on your server.
Depending on your OS, the install commands below might really be helpful:
pip install influxdb
pip install grafana-server
pip install pyzmq
Once you've installed these packages with their defaults (and started them), there's just a couple things that need to be configured before loading the dashboards.
Create a database in influx called 'carDB'. This is done using the influx client in a command line.
> create database carDB
*Note: The http interface to influxDB isn't navigable. It will return a 404 error if you open it in a browser since it doesn't have index however you can verify by going to query http://localhost:8086/query *
Load Grafana in your browser (https://localhost:3000), and login using the default user and password, which I think it just "admin" with no password.
On the main page, go to the settings menu, and click "Data Sources". Then click the Add data sources button, and select influxDB. If you used all the standard settings for influxDB, the only parameters you need to enter in this screen are
http://localhost:8086 for the URL, and
carDB for the database.
Now click on + on left side of the menu and then import where you paste the one of the following JSON. You can either get both or just one.
Raw CAN Dashboard (https://raw.githubusercontent.com/Gernby/OpenPilot_Dashboard/master/Raw%20CAN%20Dashboard%20-%20Binary) Steering_Dashboard (https://raw.githubusercontent.com/Gernby/OpenPilot_Dashboard/master/Steering_Dashboard)
For more info regarding Grafana, Please go to the following link(http://docs.grafana.org/installation/) another note make sure Grafana server is running or elsee everything will be null.
All that's left should be creating a dashboard, which can be imported from this repo.
Actually, you still need to run a python client while connected to the EON somehow (WiFi tethering works very well). The client in this repository has several ports I've used with preconfigured influx insert strings.
If you need help running local network on EON or tethering, Please go to the following link (https://openmechanics.github.io/ssh)