Open main menu

DAVE Developer's Wiki β

Changes

Opening the local web application
* The edge device is [[ORCA_SBC|Orca SBC]] instead of SBCSPG gateway.
* Fledge and Fledge GUI were not installed by using <code>apt</code>. They were built on the target instead, even though the Linux distribution is still [[ORCA-TN-001_—_Running_Armbian_Bullseye_(Debian_11)|Debian 11]]. This approach may be more suited to address different situations. For instance, think about the case in which you have to develop new functionalities or test custom north/south plugins. At large, this set-up allows to develop the code on a PC host running the ''same'' distribution, and to migrate to the target later on when it is already tested and debugged thoroughly.
* As the target platform features an HDMI port, Fledge GUI can be displayed locally, too. This solution can be convenient for building products that require a local display without having to implement a new graphics application. Interestingly, this HDMI port is provided by a LVDS/HDMI bridge that, in turn, is connected to the LVDS native port of the i.MX8M Plus SoC. The display used for this test is [http://www.magedok.com/product02.html?id=157 Magedok T080A 8-inch touchscreen monitor].
==Building and running Fledge and Fledge GUI==
[[File:ORCA-TN-003-3.png|center|thumb|600x600px|Verifying that data is uploaded to the ThingsBoard IoT platform]]
==Visualize Fledge GUI on a local display==
TBDTo visualize the GUI on the local display, we run a web browser configured to operate in kiosk mode.===Installing Weston===First of all, we install [https://wayland.freedesktop.org/ Weston], the compositor required by the browser.
<pre class="workstation-terminal">
armbian@sbcorca-00a5:~$ sudo apt update
Hit:1 http://deb.debian.org/debian bullseye InRelease
...
armbian@sbcorca-00a5:~$ sudo apt-get install chromiumReading package lists... Doneweston
...
</pre>
 
Create the file <code>/lib/systemd/system/weston.service</code> with the following contents:
 
‎<syntaxhighlight>
[Unit]
Description=Weston wayland compositor
After=systemd-logind.service
 
# D-Bus is necessary for contacting logind. Logind is required.
Wants=dbus.socket
After=dbus.socket
Before=graphical.target
 
[Service]
Type=oneshot
EnvironmentFile=/etc/default/weston
ExecStart=/usr/bin/weston --shell=kiosk-shell.so
 
# The user to run Weston as.
User=root
Group=root
files # Make sure the working directory is the users home directoryWorkingDirectory=/lib/systemd/systemroot/weston.service/lib/systemd/system/browser.service
# Set up a full user session for the user, required by Weston.
PAMName=weston-autologin
 
# A virtual terminal is needed.
TTYPath=/dev/tty7
TTYReset=yes
TTYVHangup=yes
TTYVTDisallocate=yes
 
[Install]
WantedBy=graphical.target
‎</syntaxhighlight>
 
Then execute these commands in order to run it as a service:
 
<pre class="workstation-terminal">
armbian@sbcorca-00a5:~$ sudo touch /etc/default/weston
armbian@sbcorca-00a5:~$ sudo mkdir /root/weston
armbian@sbcorca-00a5:~$ sudo systemctl enable weston
Created symlink /etc/systemd/system/graphical.target.wants/weston.service → /lib/systemd/system/weston.service.
armbian@sbcorca-00a5:~$ sudo systemctl start weston
Job </pre> ===Installing Chromium===The browser used for westonthis TN is [https://www.chromium.org/chromium-projects/ Chromium]. To install it, please follow these steps. <pre class="workstation-terminal">armbian@sbcorca-00a5:~$ sudo apt-get install chromiumReading package lists... Done...</pre> Create the file <code>/lib/systemd/system/browser.service</code> with the following contents:<syntaxhighlight>[Unit]Description=Chromium browser serviceAfter=systemd-logind.serviceStartLimitIntervalSec=0Wants=dbus.socketAfter=dbus.socket [Service]Type=simpleRestart=alwaysRestartSec=5User=root PAMName=chromium-autologin ExecStart=/usr/bin/chromium --ozone-platform=wayland --kiosk --no-sandbox https://www.dave.eu [Install]WantedBy=graphical.target</syntaxhighlight> Start it as a service: <pre class="workstation-terminal">armbian@sbcorca-00a5:~$ sudo systemctl enable browserCreated symlink /etc/systemd/system/graphical.target.wants/browser.service failed because of unavailable resources or another → /lib/systemd/system error/browser.service.See "armbian@sbcorca-00a5:~$ sudo systemctl status westonstart browser</pre> If everything works as expected, you will see the home page of the DAVE Embedded Systems' website: [[File:ORCA-TN-003-4.png|center|thumb|600x600px]]   ===Opening the local web application===To open the local web application, just replace https://www.dave.eu with http://localhost:4200 in <code>/lib/systemd/system/browser.service</code>. To make the change effective, issue the following commands:<pre class=" and workstation-terminal"journalctl >armbian@sbcorca-xe" for details00a5:~$ sudo systemctl daemon-reloadarmbian@sbcorca-00a5:~$ sudo systemctl restart browser</pre>The home page of Fledge GUI will be displayed: [[File:ORCA-TN-003-5.png|center|thumb|600x600px]]
4,650
edits