当前位置: 首页 > news >正文

【Matter】基于Ubuntu 22.04 编译chip-tool工具

前言

编译过程有点曲折,做下记录,过程中,有参考别人写的博客,也看github 官方介绍,终于跑通了~

环境说明:

  • 首先需要稳定的梯子,可以访问“外网”
  • ubuntu 环境,最终成功实验在Ubuntu 22.04,应该主要体现在python 库的版本要求

基础:
关于梯子,我使用的是虚拟机NAT方式上网,走的主机windows 网络代理(clash 软件)
关于工具,另外git submodule 需要熟悉一下,有些库在网络状况可以的情况下,依然拉不下来,需要手动更新。

官方

https://github.com/project-chip/connectedhomeip/blob/master/docs/guides/chip_tool_guide.md

https://github.com/project-chip/connectedhomeip/blob/master/docs/guides/BUILDING.md

编译

1.clone 代码

git clone https://github.com/project-chip/connectedhomeip.git

看到有人分享用的siliconlabs 库的matter仓库,也是可以的,暂时不确定区别是什么

2.更新子模块

git submodule update --init --recursive

注意,这里大概率会出现拉取代码有问题,需要手动更新,可以将缺失的目录手动删除掉,然后使用下面命令可以拉取代码

git submodule update


比如编译时候提示找不到third_party/nlunit-test 文件,查看后发现文件夹内repo 目录是空的,手动删除掉,然后手动更新,通过find 命令查看文件,或者tree命令查看目录结构,验证文件成功下载

3.基本编译工具安装

sudo apt-get install git gcc g++ pkg-config libssl-dev libdbus-1-dev 
sudo apt-get install libglib2.0-dev libavahi-client-dev ninja-build python3-venv python3-dev 
sudo apt-get install python3-pip unzip libgirepository1.0-dev libcairo2-dev libreadline-devsudo apt-get install libsdl2-dev

4.编译前准备

This script takes care of downloading GN, ninja, and setting up a Python environment with libraries used to build and test.

翻译过来就是会安装GN,和Python环境以及一些库,来编译。关于GN和python 的一些具体用法,后面再看下具体使用方法,这里很关键,成败有一半卡在这里,

source scripts/bootstrap.sh

下把正确的执行结果截图,如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

细节!!! 这里不能用ssh 连接,来执行,在这里卡了比较久,直到看到这篇博客,在此之前,之前,已经问人、找博客、设置了各种代理,ssh 直连ubuntu 代理不生效(一语点醒梦中人-_-!!,感谢!!!)。

https://blog.csdn.net/digdugbomb/article/details/114403362

这里展开说下,粗鄙的理解做个记录:
看到的CPID 主要是pigweed在用,也是个开源项目pigweed。
在这里插入图片描述

所以,单独下载了代码,按照说明编译,也是报错的,打印信息都类似,看来是找对地方了,至少缩小范围。
遇到的问题,其实早在2020年已经有补丁了,推荐的办法是请点击,点击进去可以看到是修改了python 一段代码,关于使用代理下载,貌似是还有概率出现,要设置https代理为走http
在这里插入图片描述
关于代理设置我有点问题,因为我的clash 软件使用的是7890端口,ip 是10.10.122.96.我理解应该设置为
export https_proxy=http://10.10.122.96:7890

如果我设置成使用虚拟机ip方式https_proxy:=http://192.168.79.129:8080,是不应该是一样的??待确认,明确指导的还望指导

5.激活

source scripts/activate.sh

在这里插入图片描述
6.编译
参照文档开始编译了
在这里插入图片描述

在这里插入图片描述
这里报错了,还搜索了半天,准备在线安装的,无济于事,想着目的是编译chip-tool 直接编译试一下吧,转而编译chip-tool,执行命令,

./scripts/examples/gn_build_example.sh examples/chip-tool out/standalone

提示这个nlassert 编译失败,原来是自己编译出来,其他地方调用的。
在这里插入图片描述
更新文件后
在这里插入图片描述
又重新编译,保险期间,执行了
···
source scripts/bootstrap.sh
source scripts/activates.sh
···
都编译通过,基本就没啥问题了
在这里插入图片描述
成功的最后几个瞬间:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
问题点:
1.提示command pw not found
https://github.com/project-chip/connectedhomeip/issues/26141
2.不要ssh 直连梯子下载
https://blog.csdn.net/digdugbomb/article/details/114403362

有价值链接:
https://github.com/project-chip/connectedhomeip/issues/2893

总结

容易遇到的问题,应该比较全面了,避免折腾半天。
最容易忽略的应该就是避免ssh 连接虚拟机来操作,看了好多博客都没说到这一点。

综合理解:
首先要有梯子
其次子模块没有更新的话,手动删除,手动更新
CPID下载那里,时间过个五分钟左右不行,基本出问题了,再等久了也没用
在ubuntu 上控制台上操作

相关文章:

【Matter】基于Ubuntu 22.04 编译chip-tool工具

前言 编译过程有点曲折,做下记录,过程中,有参考别人写的博客,也看github 官方介绍,终于跑通了~ 环境说明: 首先需要稳定的梯子,可以访问“外网”ubuntu 环境,最终成功实验在Ubunt…...

将 MongoDB 的 List<Document> 转换为对象列表

当我们使用 MongoDB 存储数据时&#xff0c;经常会涉及到将 MongoDB 的文档对象转换为对象列表的需求。在 Java 中&#xff0c;我们可以使用 MongoDB 的 Java 驱动程序和自定义类来实现这一转换过程。 本篇博客将介绍如何将 MongoDB 中的 List<Document> 转换为对象列表。…...

【Linux下6818开发板(ARM)】SecureCRT串口和交叉编译工具(巨细版!)

(꒪ꇴ꒪ ),hello我是祐言博客主页&#xff1a;C语言基础,Linux基础,软件配置领域博主&#x1f30d;快上&#x1f698;&#xff0c;一起学习&#xff01;送给读者的一句鸡汤&#x1f914;&#xff1a;集中起来的意志可以击穿顽石!作者水平很有限&#xff0c;如果发现错误&#x…...

应届生如何快速找Java开发工程师,先学会这17个基础问题

一、Java 基础 JDK 和 JRE 有什么区别&#xff1f; JDK&#xff1a;Java Development Kit 的简称&#xff0c;java 开发工具包&#xff0c;提供了 java 的开发环境和运行环境。 JRE&#xff1a;Java Runtime Environment 的简称&#xff0c;java 运行环境&#xff0c;为 java 的…...

数学建模学习(5):数学建模各类题型及解题方案

一、数学建模常见的题型 总体来说&#xff0c;数学建模赛题类型主要分为&#xff1a;评价类、预测类和优化类三种&#xff0c;其中优化类是最常见的赛题类 型&#xff0c;几乎每年的地区赛或国赛美赛等均有出题&#xff0c;必须要掌握并且熟悉。 二、评价类赛题 综合评价是数学…...

【学习笔记】视频检测方法调研

目录 1 引言2 方法2.1 视频目标跟踪2.1.1 生成式模型方法2.1.2 判别式模型方法2.1.2.1 基于相关滤波跟踪2.1.2.2 基于深度学习跟踪 2.2 视频异常检测2.2.1 基于重构方法2.2.2 基于预测方法2.2.3 基于分类方法2.2.4 基于回归方法 2.3 深度伪造人脸视频检测2.3.1 基于RNN时空融合…...

idea terminal npm指令无效

文章目录 一、修改setting二、修改启动方式 一、修改setting 菜单栏&#xff1a;File->Settings 二、修改启动方式 快捷方式->右键属性->兼容性->勾选管理员身份运行...

低代码开发平台源码

什么是低代码开发平台&#xff1f; 低代码来源于英文“Low Code&#xff0c;它意指一种快速开发的方式&#xff0c;使用最少的代码、以最快的速度来交付应用程序。通俗的来说&#xff0c;就是所需代码数量低&#xff0c;开发人员门槛低&#xff0c;操作难度低。一般采用简单的图…...

【UE5 多人联机教程】04-加入游戏

效果 步骤 1. 新建一个控件蓝图&#xff0c;父类为“USC_Button_Standard” 控件蓝图命名为“UMG_Item_Room”&#xff0c;用于表示每一个搜索到的房间的界面 打开“UMG_Item_Room”&#xff0c;在图表中新建一个变量&#xff0c;命名为“Session” 变量类型为“蓝图会话结果…...

自然语言处理从入门到应用——LangChain:模型(Models)-[大型语言模型(LLMs):缓存LLM的调用结果]

分类目录&#xff1a;《自然语言处理从入门到应用》总目录 from langchain.llms import OpenAI在内存中缓存 import langchain from langchain.cache import InMemoryCachelangchain.llm_cache InMemoryCache()# To make the caching really obvious, lets use a slower mode…...

Python 算法基础篇之图的遍历算法:深度优先搜索和广度优先搜索

Python 算法基础篇之图的遍历算法&#xff1a;深度优先搜索和广度优先搜索 引言 1. 图的遍历概述2. 深度优先搜索&#xff08; DFS &#xff09;2.1 DFS 的实现2.2 DFS 的应用场景 3. 广度优先搜索&#xff08; BFS &#xff09;3.1 BFS 的实现3.2 BFS 的应用场景 4. 示例与实例…...

文本缩略 文本超出显示省略号 控制超出省略的行数

文本缩略 .abb{//超出一行省略overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }超出2行省略 .abb2{display: -webkit-box !important;-webkit-box-orient: vertical;//超出2行省略-webkit-line-clamp:2;overflow: hidden; }控制超出省略的行数 .txt-over{/*控…...

云原生架构

1. 何为云原生&#xff1f; 很多IT业内小伙伴会经常听到这个名词&#xff0c;那么什么是云原生呢&#xff1f;云原生是在云计算环境中构建、部署和管理现代应用程序的软件方法。 当今时代&#xff0c;众多企业希望构建高度可扩展、灵活且有弹性的应用程序&#xff0c;以便能够快…...

Java 生成随机数据

文章目录 1. Java-faker依赖demo 2. common-random依赖demo 1. Java-faker 依赖 <dependency><groupId>com.github.javafaker</groupId><artifactId>javafaker</artifactId><version>1.0.2</version> </dependency>https://…...

基于OpenCV的红绿灯识别

基于OpenCV的红绿灯识别 技术背景 为了实现轻舟航天机器人实现红绿灯的识别&#xff0c;决定采用传统算法OpenCV视觉技术。 技术介绍 航天机器人的红绿灯识别主要基于传统计算机视觉技术&#xff0c;利用OpenCV算法对视频流进行处理&#xff0c;以获取红绿灯的状态信息。具…...

JavaScript快速入门:ComPDFKit PDF SDK 快速构建 Web端 PDF阅读器

JavaScript快速入门&#xff1a;ComPDFKit PDF SDK 快速构建 Web端 PDF阅读器 在当今丰富的网络环境中&#xff0c;处理 PDF 文档已成为企业和开发人员的必需品。ComPDFKit 是一款支持 Web 平台并且功能强大的 PDF SDK&#xff0c;开发人员可以利用它创建 PDF 查看器和编辑器&…...

Flutter 网络请求

在Flutter 中常见的网络请求方式有三种&#xff1a;HttpClient、http库、dio库&#xff1b; 本文简单介绍 使用dio库使用。 选择dio库的原因&#xff1a; dio是一个强大的Dart Http请求库&#xff0c;支持Restful API、FormData、拦截器、请求取消、Cookie管理、文件上传/下载…...

吃透《西瓜书》第三章 线性模型:多元线性回归

&#x1f349; 吃瓜系列 教材&#xff1a;《机器学习》 周志华著 &#x1f552;时间&#xff1a;2023/7/26 目录 一、多元线性回归 1 向量化 1.1.1 向量化 1.1.2 使用最小二乘法构建损失函数 1.1.3 去除求和符号&#xff0c;改成向量点乘的形式 1.1.4 数学原理 2 求解…...

数据结构【排序】

第七章 排序 一、排序 1.定义&#xff1a;将无序的数排好序 &#xff1b; 2.稳定性&#xff1a; Kᵢ和Kⱼ中&#xff0c;Kᵢ优先于Kⱼ那么在排序后的记录中仍然保持Kᵢ优先&#xff1b; 3.评价标准&#xff1a;执行时间和所需的辅助空间&#xff0c;其次是算法的稳定性&#xf…...

探索APP开发的新趋势:人工智能和大数据的力量

随着5G技术的不断发展&#xff0c;人工智能和大数据将会更加广泛的应用于我们生活和工作中&#xff0c;作为 APP开发公司&#xff0c;应该及时的对新技术进行研发&#xff0c;进而更好的为用户服务。目前 APP开发已经不是传统的软件开发了&#xff0c;而是向移动互联网转型&…...

开源AI翻译新范式:Pixel Language Portal镜像免配置+GPU算力适配教程

开源AI翻译新范式&#xff1a;Pixel Language Portal镜像免配置GPU算力适配教程 1. 产品概览&#xff1a;像素语言跨维传送门 Pixel Language Portal&#xff08;像素语言跨维传送门&#xff09;是一款基于Tencent Hunyuan-MT-7B大模型构建的创新翻译工具。与传统翻译软件不同…...

新手零基础入门:在快马平台用AI生成你的首个龙虾部署项目

新手零基础入门&#xff1a;在快马平台用AI生成你的首个龙虾部署项目 作为一个刚接触容器化开发的新手&#xff0c;第一次听说"龙虾部署"这个概念时&#xff0c;我完全摸不着头脑。后来才知道&#xff0c;这其实就是Docker容器化部署的一种形象说法。今天我想分享一…...

cool-admin(midway版)数据库索引维护:重建索引与碎片整理

cool-admin(midway版)数据库索引维护&#xff1a;重建索引与碎片整理 【免费下载链接】cool-admin-midway &#x1f525; cool-admin(midway版)一个很酷的后台权限管理框架&#xff0c;模块化、插件化、CRUD极速开发&#xff0c;永久开源免费&#xff0c;基于midway.js 3.x、ty…...

自动驾驶RL微调实战:如何用MotionLM提升模型可靠性(附Waymo数据集配置)

自动驾驶RL微调实战&#xff1a;如何用MotionLM提升模型可靠性&#xff08;附Waymo数据集配置&#xff09; 在自动驾驶技术快速迭代的今天&#xff0c;强化学习&#xff08;RL&#xff09;微调已成为提升模型可靠性的关键手段。不同于传统模仿学习&#xff08;IL&#xff09;的…...

索尼A6000/A7相机APP免费安装保姆级教程(含最新pmca工具下载)

索尼A6000/A7相机APP免费安装全流程指南&#xff08;2024最新版&#xff09; 作为一名长期使用索尼微单的摄影师&#xff0c;我深刻理解官方应用商店里那些本应内置的功能被拆分成付费APP的无奈。延时摄影、多重曝光这些基础功能&#xff0c;在二代机型上居然要额外付费解锁&am…...

Hotkey Detective:Windows热键冲突终极诊断指南

Hotkey Detective&#xff1a;Windows热键冲突终极诊断指南 【免费下载链接】hotkey-detective A small program for investigating stolen key combinations under Windows 7 and later. 项目地址: https://gitcode.com/gh_mirrors/ho/hotkey-detective 你是否曾经遇到…...

Python中CSV文件处理的常见累积错误及修正方案

在使用 Python 的 csv 模块处理学生成绩数据时&#xff0c;一个极易被忽视却影响结果准确性的典型问题是变量作用域与重用逻辑错误。如原始代码所示&#xff0c;grades [] 被定义在 for row in reader: 循环外部&#xff0c;导致每次迭代都将新学生的成绩追加到同一个列表中—…...

Z-Image-ComfyUI场景应用:为社交媒体快速生成配图,提升内容创作效率

Z-Image-ComfyUI场景应用&#xff1a;为社交媒体快速生成配图&#xff0c;提升内容创作效率 1. 社交媒体内容创作的痛点与解决方案 每天运营社交媒体账号时&#xff0c;你是否也面临这样的困境&#xff1a;精心撰写的文案已经完成&#xff0c;却卡在配图制作环节&#xff1f;…...

突破平台限制:WorkshopDL重构Steam创意工坊资源获取体验

突破平台限制&#xff1a;WorkshopDL重构Steam创意工坊资源获取体验 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL WorkshopDL作为一款仅10MB大小的开源工具&#xff0c;通过智…...

HumanoidVerse深度解析:如何通过多模拟器框架实现人形机器人sim2real高效训练

1. HumanoidVerse框架概览&#xff1a;多模拟器支持与模块化设计 HumanoidVerse是卡耐基梅隆大学(CMU)推出的开源框架&#xff0c;专门针对人形机器人的sim2real训练需求。这个框架最大的特点在于其多模拟器支持架构&#xff0c;能够无缝对接IsaacGym、IsaacSim和Genesis三种主…...