Matter Project 入门 – Matter开发环境设置


如果您尚未在计算机上本地运行 Ubuntu,您将需要一个替代方案来开发 Matter 设备。

你需要什么

  1. 用于构建 Matter 终端设备固件的 Linux 环境。
  2. 我们将为这个项目使用 Ubuntu 21.10 服务器,但任何 Ubuntu 20.04 或更高版本都可以安装在 RaspberryPi 4 上作为 Matter 控制器。您可以按照此处的说明进行操作。
  3. Git 安装在您的构建机器上。您可以使用包管理器安装:
    sudo apt install git
  4. Matter依赖项已安装
  5. 要调试/闪存终端设备,我们需要在您的机器上安装与 Jlink 兼容的 Flash Utility 您可以 在此处获取此软件。
    Windows 64 位 (exe) ,  macOS 64 位 (pkg) ,  Linux 64 位 (deb) ]
  6. 可支持 Matter 开发的 Silicon Labs 无线入门套件完整列表可在此 页面上找到重要提示: 由于 RAM 限制,EFR32MG21 平台上的物质支持现已弃用首选和最经济的选择是我们的 Thunderboard Sense 2

选择 Linux 环境(Native/VM/WSL)

物质需要在 UNIX 环境中构建

下面列出了几个选项:

  • 通过直接在计算机上安装发行版(Ubuntu 21.10、Mac)来使用裸机环境  - 推荐
  • 通过直接在 Raspberry Pi 上安装发行版来使用裸机环境 (Ubuntu Server 21.10 64 位)
  • 安装 Virtualbox 并创建虚拟机 - 推荐:为此,请下载 VirtualBox安装 VirtualBox 后,创建一个新的虚拟机作为 Linux Ubuntu 64 位。然后从此处可用的 iso 或此处 准备好的虚拟磁盘 安装 Linux  。如果您从 iso 安装,请将 VM 磁盘大小至少设置为 20GB,以便为安装和 Matter SDK 留出空间。
    • 配置虚拟机:在运行 VM 之前,我们需要配置网络设置并将网络适配器更改为桥接模式。
      • 打开 VirtualBox 并单击 Linux VM 的“Settings”。
      • 单击“Network”并选择“Adapter 1”选项卡。
      • 确保在“Attached to:”框中选择了“Bridge Adapter”。
      • 单击确定。
  • 使用 WSL 在 Windows 上使用 UbuntuWSL 是 Windows 上默认禁用的功能你可以按照这个微软 WSL 入门 来安装它重要提示: 选择 Linux 发行版时,请确保选择 Ubuntu

入门

  1. cd 到您的主目录(如果还没有的话):
    cd ~
  2. 检查你是否安装了 git
    sudo apt update
    sudo apt upgrade -y
    sudo apt install git

    如果某些软件包可以升级,请随意升级, 但请确保将 apt update 作为最后一个命令运行
  3. 安装依赖项。 下面的依赖项与下一节签出的 Matter GitHub 提交哈希相关联。 
    sudo apt-get install git gcc g++ python 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

    现在只需重新启动一次
    sudo reboot
  4. 确保安装了 JLink Flasing Utility有两个选项可以使用新构建的二进制文件来刷新您的设备重要说明 WSL 不支持刷写操作(您需要将二进制文件复制到主机并使用简单命令来刷写设备)然后,您可能无法使用命令行实用程序来刷新插入的入门工具包要刷新您的设备,请在 WSL 上构建您的二进制文件,但 cp 它们在 Windows 文件系统中 /mnt/c/<location>
    • 添加 Simplicity Commander(可选但推荐,仅适用于 VM 和 Bare Metal 用户)Simplicity Commander 可用于使用您将构建的二进制文件来刷新您的 Starter Kit请注意,commander 不能在 Raspberry Pi 上运行,只能在 Windows、Mac 和 Linux x86_64 平台上运行如果您在 WSL 上构建二进制文件但在 Windows 文件系统中找到它们,您还可以使用 Windows 中的 Commander首先下载适用于您计算机的实用程序:  Linux 安装程序 Windows 安装程序 Mac 安装程序请注意,Commander 由 Simplicity Studio 安装在 <StudioInstallDir>\SimplicityStudio\v5\developer\adapter_packs\commander或者根据它们的 README 安装每个包和依赖项注意:如果您想使用 Matter 的 flash 帮助脚本,请将 Commander 添加到您的 shell 搜索路径如果未完成,您将必须执行示例应用程序指南中提供的 2 个额外步骤注意:如上所述,这不适用于 Raspberry Pi OS 和 WSL
    • 使用 JLinkExe 实用程序(仅 VM、Bare Metal 和 Raspberry OS 用户需要)你可以在你的系统上安装 JLink 来刷新你构建的二进制文件前往 JLink 下载页面 寻找适合您平台的软件包并下载为了便于在命令行环境中使用,我们在 Dropbox 上托管了一些包:对于 Native Linux 环境或 WSL,下载如下:
      wget https://www.dropbox.com/s/leolh6222ms31r0/JLink_Linux_V758c_x86_64.deb

      然后使用安装:
      sudo apt update
      sudo dpkg -i JLink_Linux_V758c_x86_64.deb
      sudo apt update

  5. 将您的 Thunderboard Sense 2 插入您的 Raspberry Pi 并检查它是否已枚举
    ls -ail /dev/ttyACM* 450 crw-rw-rw- 1 root dialout 166, 0 Nov 29 19:14 /dev/ttyACM0

安装 Matter SDK 开发环境:

(您在两者上运行此设置

  1. Raspberry Pi 4:运行像 Chip-tool 这样的 Matter 控制器来调试设备。
  2. Linux Machine (VM/WSL):构建 Matter 终端设备固件。
  3. 首先克隆 Matter 及其子模块:
    git clone GitHub - project-chip/connectedhomeip: Matter (formerly Project CHIP) is creating more connections between more objects, simplifying development for manufacturers and increasing compatibility for consumers, guided by the Connectivity Standards Alliance (formerly Zigbee Alliance).
    cd connectedhomeip
    git checkout <commit hash> // 如果在 ToT 上工作则跳过
    现在您可以克隆存储库子模块
    git submodule update --init
    在树莓派上,这可能需要一段时间,确保在子模块更新之前不要忘记 git checkout(否则您将花费​​一些时间进行调试或只是再做一次)

 通过运行激活脚本开始构建环境部署。

  1. 注意: 在树莓派上,这可能需要一段时间(在 Rpi4 模型 B 上大约需要 40 分钟),请确保不要忘记从先决条件安装依赖项。 如果您遇到该问题,请查看下面的故障排除部分如果如上成功,调用 activate.sh script 
    source scripts/activate.sh

    WELCOME TO...▄███▒ ░▓█ ░▓█ ░▓█▓ ▒█████▄
    ██▒ ▀█▒ ▒█ ▒█ ░█▒ ▒█░ █░
    █▓░ ▒██████ ░█▒ ▒█▄▄▄█░
    ▓█ █▒ ▒█ ▒█ ░█░ ▒█▀
    ░▓███▀ ░▓███░▓█▒ ░█░ ▒█BOOTSTRAP! Bootstrap may take a few minutes; please be patient.Downloading and installing packages into local source directory:Setting up CIPD package manager...done (1m4.9s)
    Setting up Python environment.....done (15m45.0s)
    Setting up pw packages............skipped (0.1s)
    Setting up Host tools.............done (0.1s) ACTIVATOR! This sets your shell environment variables.Activating environment (setting environment variables):
    Setting environment variables for CIPD package manager...done
    Setting environment variables for Python environment.....done
    Setting environment variables for Host tools.............doneChecking the environment:20211130 22:49:49 INF Environment passes all checks!Environment looks good, you are ready to go!To reactivate this environment in the future, run this in your
    terminal:
    source ./activate.shTo deactivate this environment, run this:

    deactivate

您现在可以查看 Matter 应用程序示例或 Matter Controller 教程。

疑难解答

如果您完全遵循前面的所有部分(包括 git checkouts 和先决条件),那么您应该拥有一个完美运行的 Matter 开发环境

如果不知何故您仍然有问题,我们确定了一些您可以验证您没有错过任何步骤的场景:

  • 引导失败
    1. 确保您按照 先决条件安装了所有依赖项。这涉及重新启动不需要其他依赖项,尤其是对于 gn 错误(不要从 apt 安装 generate-ninja)完成后,在再次引导之前重新克隆并重新签出 Matter 存储库
    2. 确保您拥有正确的 Raspberry OS如果为 Matter 开发,实际上必须使用 Ubuntu Server 64bits 20.04 LTS3 (arm64) 或更高版本(推荐 21.10)如果您遇到上面提到的缺失 gn,请确保您在 Ubuntu 而不是 Debian 上运行
    3. Python 3 出现相关错误由于框架的 alpha 状态,已知 raspberry 环境在引导时不稳定。如果您遇到此类问题,请按照以下说明操作:
      1. 重启树莓派
        sudo reboot
      2. 返回 ~/connectedhomeip
        cd ~/connectedhomeip
      3. 再次运行引导脚本
        source scripts/bootstrap.sh
      4. 再次运行激活脚本
        source scripts/activate.sh

        在这一点上,它要么工作要么给你一个关于 pw 的错误(PigWeed)如果是,则转到下一个错误
    4. PW : 命令未发现 错误
      1. 进入你的 matter_dev 目录:
        cd ~
      2. 删除整个 Matter 存储库
        rm -rf connectedhomeip
      3. 重启Raspberry Pi
        sudo reboot
      4. 再次执行该页面的所有步骤(clone, checkout, bootstrap,和activate)

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Smartlabs

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值