Linux上创建matter虚拟设备与控制器

一、构建虚拟设备

1、下载Docker Hub上开源的虚拟设备控制器的工具映像(容器中包含matter sdk与一些环境配置)

sudo docker pull us-docker.pkg.dev/nest-matter/docker-repo/virtual-device-image:latest

2、启动Docker容器:

sudo docker run -it --ipc=host --net=host -e DISPLAY --name matter-container us-docker.pkg.dev/nest-matter/docker-repo/virtual-device-image:latest

Linux上创建matter虚拟设备与控制器_第1张图片

3、进入chef路径编译虚拟设备,选择在Linux平台建立虚拟设备:

cd ~/connectedhomeip/examples/chef/
./chef.py -zbr -v0xfff1 -p 0x8000 -d rootnode_onofflight_bbs1b7IaOV -t linux

Linux上创建matter虚拟设备与控制器_第2张图片

4、等待编译完成后,执行可执行文件启动虚拟设备:

./linux/out/rootnode_onofflight_bbs1b7IaOV 

二、开启控制器界面

因为Google提供的虚拟设备控制器是通过RPC服务在本地以一个GUI界面的形式显示设备状态与控制,我是在Windows使用Xshell的SSH登录Ubuntu,于是采用了Xshell + XMing的方式实现在SSH终端显示虚拟设备控制器的GUI界面:
1、下载安装XMing,点击此处跳转下载连接,安装完成后打开XLaunch

  • –>Mutiple windows(display number 为 0)
  • –> Start no client
  • –>Clipbard
  • –>勾选 no access control
  • –> 完成

2、在Xming安装目录下修改X0.hosts文件,在localhost一行下面添加远程登录的服务器地址192.168.x.x

3、在Xshell打开另一个终端,在SSH下面一栏点击隧道进入X11转移设置,选择X DISPLAY填下localhost:0.0,点击连接进入终端
Linux上创建matter虚拟设备与控制器_第3张图片

4、在终端敲下xclock命令测试Xming是否正常工作弹出以下UI
Linux上创建matter虚拟设备与控制器_第4张图片
5、测试Xming工作正常后添加远程控制主机的IP地址:

  • 查看当前DISPLAY环境变量的值
echo $DISPLAY
  • 允许视图界面投影到设定的ip下(0.0与Xshell上的localhost:0.0一致)
export DISPLAY=192.168.x.x:0.0
  • 再次查看DISPLAY环境变量的值
echo $DISPLAY 

6、确认主机ip地址无误后在终端敲下以下命令进入matter容器:

sudo docker exec -it matter-container /bin/bash

7、进入~/matter-virtual-device-gui 目录,解析js脚本显示界面信息:

electron main.js --s=$DISPLAY --no-sandbox

成功执行命令后你将看见matter虚拟设备控制器的窗口如下图所示:
Linux上创建matter虚拟设备与控制器_第5张图片


本文相关链接:
1、Xming启动配置
2、Google developers center

你可能感兴趣的:(Docker,linux,运维,服务器,docker)