You will need a user account for Arm Virtual Hardware 3rd Party Hardware . Refer to Arm Virtual Hardware install guide for more information.
A GitHub account is also required.
GitHub requires that a
Personal Access Token
be set. If you do not have this on your account already, navigate to Settings
> Developer Settings
> Personal Access Tokens
, click on Generate new token
, and save the token locally.
Ensure you have enabled the token to Update GitHub Action workflows
.
You may wish to create a local scratch pad text file containing the below details (which will be unique to you), so that you can easily copy and paste from.
YOUR_GITHUB_USERNAME
YOUR_PERSONAL_ACCESS_TOKEN
git config --global user.name "YOUR_GITHUB_USERNAME"
git config --global user.email YOUR_EMAIL_ADDRESS
Open your browser, and navigate to Arm Virtual Hardware dashboard:
https://app.avh.arm.com/
Click on Create Device
.
Select Raspberry Pi 4
from the list of available devices.
Select Raspberry Pi OS lite
from the example firmware packages.
Name the device chip-tool
(though the naming is arbitrary chip-tool
is used later in the session) and create device.
While this is being created, click Devices
and repeat steps to create a second instance (suggest lighting-app
as name).
Open each instance in its own browser pane.
When your instances are created, select the Console
tab, and log into each Raspberry Pi 4 instance.
pi
raspberry
Repeat for the other instance.
It is also possible to log in via the CLCD window view. However it is easier to copy and paste (Shift+Insert
) to the Console view.
The Console
view within the browser will suffice to complete this Learning Path.
If you wish to connect via SSH
(rather than Console
), it is easiest to follow the SSH tunnel connection instructions specified in the Connect
tab.
As an alternative, you can also download and install the appropriate
OpenVPN Community
version for your host. Click on DOWNLOAD OVPN FILE
within the Connect via VPN
section.
In the OpenVPN
GUI, select Import
> Import file...
and browse to the downloaded OVPN file
. Click Connect
.
On your host, open terminal(s), and connect to the virtual hardware instance(s) with the command shown in the Connect
tab, or use your preferred terminal application.
You shall build the Matter examples on the virtual Raspberry Pi 4 instances. To prepare for this, install the necessary dependencies on each instance. This can be done in parallel on both instances.
sudo apt-get update
sudo apt-get install -y git gcc g++ pkg-config libssl-dev libdbus-1-dev libglib2.0-dev libavahi-client-dev ninja-build python3-venv python3-dev python3-pip unzip libgirepository1.0-dev libcairo2-dev libreadline-dev libpango1.0-dev
We shall also build ZAP from source on our instances. ZAP is generally installed as a third-party tool via CIPD during the build environment bootstrap but zap packages are currently NOT available for arm64.
git clone https://github.com/project-chip/zap.git ~/zap
cd ~/zap
curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt-get install -y nodejs
sudo src-script/install-packages-ubuntu
npm ci
export ZAP_DEVELOPMENT_PATH=~/zap
cd ~
This will also verify that your instances are working correctly.