summaryrefslogtreecommitdiffstats
path: root/docs/01_Getting_Started/03_Build_and_Boot_guide_Profile/02_Flutter_Instrument_Cluster_(qemu-x86).md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/01_Getting_Started/03_Build_and_Boot_guide_Profile/02_Flutter_Instrument_Cluster_(qemu-x86).md')
-rw-r--r--docs/01_Getting_Started/03_Build_and_Boot_guide_Profile/02_Flutter_Instrument_Cluster_(qemu-x86).md128
1 files changed, 128 insertions, 0 deletions
diff --git a/docs/01_Getting_Started/03_Build_and_Boot_guide_Profile/02_Flutter_Instrument_Cluster_(qemu-x86).md b/docs/01_Getting_Started/03_Build_and_Boot_guide_Profile/02_Flutter_Instrument_Cluster_(qemu-x86).md
new file mode 100644
index 0000000..1ab8ec6
--- /dev/null
+++ b/docs/01_Getting_Started/03_Build_and_Boot_guide_Profile/02_Flutter_Instrument_Cluster_(qemu-x86).md
@@ -0,0 +1,128 @@
+---
+title: Flutter Instrument Cluster (qemu-x86)
+---
+
+# Build and Boot AGL Flutter Instrument Cluster demo image made for GSoC
+
+## 0. Prepare Your Build Host
+
+- Install the required tools to build an AGL Image. For detailed explanation, check [Preparing Your Build host](https://docs.automotivelinux.org/en/master/#01_Getting_Started/02_Building_AGL_Image/02_Preparing_Your_Build_Host/)
+
+## 1. Define Your Top-Level Directory
+
+```bash
+$ export AGL_TOP=$HOME/AGL
+$ echo 'export AGL_TOP=$HOME/AGL' >> $HOME/.bashrc
+$ mkdir -p $AGL_TOP
+```
+
+## 2. Download the repo Tool and Set Permissions
+
+```bash
+$ mkdir -p $HOME/bin
+$ export PATH=$HOME/bin:$PATH
+$ echo 'export PATH=$HOME/bin:$PATH' >> $HOME/.bashrc
+$ curl https://storage.googleapis.com/git-repo-downloads/repo > $HOME/bin/repo
+$ chmod a+x $HOME/bin/repo
+```
+
+## 3. Download the AGL Source Files
+To download the latest **master** branch AGL files, use the following commands:
+```bash
+$ cd $AGL_TOP
+$ mkdir master
+$ cd master
+$ repo init -u https://gerrit.automotivelinux.org/gerrit/AGL/AGL-repo
+$ repo sync
+```
+
+## 4. Initialize the build environment using aglsetup.sh Script
+To initialize the build environment, we must use the setup script.
+This script is available here:
+```bash
+$ $AGL_TOP/master/meta-agl/scripts/aglsetup.sh
+```
+Run the script:
+
+```bash
+$ cd $AGL_TOP
+$ source master/meta-agl/scripts/aglsetup.sh -b build-flutter-cluster -m qemux86-64 agl-demo agl-devel
+```
+
+- Here `-b` is used to specify the build directory and `-m` is used to specify the target platform.
+
+- Running this script, will create a build directory if it does not exist. Default build directory: `$AGL_TOP/master/build-flutter-cluster`
+- Default target paltform: `qemux86-64`
+
+** NOTE: Set the API key in local.conf **
+
+- By default navigation will not work, you need to set your openrouteservie API key to the variable `OPENROUTE_API_KEY` in your local.conf
+- It is present at `$AGL_TOP/master/build-flutter-cluster/conf/local.conf`
+
+- Example: Just add `OPENROUTE_API_KEY = "your_openrouteservice_api_key"` to the end of local.conf
+
+
+## 5. Using BitBake
+
+```bash
+$ cd $AGL_TOP/master/build-flutter-cluster
+$ source agl-init-build-env
+$ bitbake agl-cluster-demo-platform-flutter
+```
+
+## 6. Deploying the AGL Demo Image
+Boot the image using QEMU
+
+```bash
+$ cd $AGL_TOP/master/build-flutter-cluster
+$ source agl-init-build-env
+$ runqemu kvm serialstdio slirp publicvnc
+```
+
+## 6. Run the Graphics
+To get graphics of the app, you need VNC client like VNC Viewer or Vinagre
+
+- Open the VNC client
+- Enter the server address as `localhost:0`
+
+That's it, you should get something like this:
+![Screenshot](images/flutter_instrument_cluster.png)
+
+## 7. To start navigation widget
+To get the navigation, you need to use `kuksa_viss_client` or `kuksa_vss_init.py` script.
+
+#### **Using inbuilt `kuksa_vss_init.py` script**
+
+ After running the build, you should get this:
+
+```bash
+Automotive Grade Linux 13.93.0 qemux86-64 ttyS0
+
+qemux86-64 login:
+
+```
+
+Login as root
+
+```bash
+qemux86-64 login: root
+```
+Now run the script
+
+```bash
+root@qemux86-64:~# /usr/sbin/kuksa_vss_init.py
+```
+
+#### **Using `kuksa_viss_client`**
+
+Know more about kuksa_viss_client, [Follow this](https://github.com/eclipse/kuksa.val/tree/master/kuksa_viss_client)
+
+- Run the kuksa_viss_client
+- Authorize using token
+
+Then
+
+```bash
+Test Client> setValue Vehicle.Cabin.SteeringWheel.Switches.Info true
+```
+![Screenshot](images/flutter_instrument_cluster_map.png)