对于 iptables 学习,反复看过 man iptables
命令,但是缺乏归纳总结,不用就忘了。现在好了,直接让 ChatGPT 帮我画一些系统框图辅助记忆。
对于 iptables 学习,反复看过 man iptables
命令,但是缺乏归纳总结,不用就忘了。现在好了,直接让 ChatGPT 帮我画一些系统框图辅助记忆。
GCC 优化过于复杂,这里探索 GCC 对未使用的代码和变量以及文件的优化策略。
如下两个文件。
...Matter 中的具有定义明确的设备数据模型 (Device Data Model),它是对设备功能的分层建模,在此模型最顶层的实体就是设备。
Matter 中所有的设备,包含手机,家庭语音助手的音箱都统称为 Nodes。Node 作为网络中节点,它是网络中唯一可识别和可寻址的资源,用户可以将其视为一个功能的整体。同样地,通信中原地址和目的地址也是描述 Node。
...设备认证特指 CSA Matter 认证产品的验证流程,也就是 Matter 设备在 Commissioning 过程需要向 Commissioner 证明其是一个合法的设备。该流程主要是利用设备在生成阶段烧录的 DAC 证书、私钥和和证书链。Commissioner 会在该阶段完成如下验证:
在 Matter 开发阶段,开发者是可以在没有认证的前提下完成所有功能开发。一旦打算进入量产,那么需要联系 Matter 认证实验室完成认证,认证实验室会将认证状态同步到 DCL,保证 Commissioning 阶段能够完成 DAC 流程。
认证通过 Public Key Infrastructure (PKI) 系统构造根证书、中间证书和 DAC 的三级证书结构。这和我们常使用的 HTTPs 的认证体系是一致的。
...Commissioning 在 Matter 特指给一个新设备分配 Fabric 操作凭据的一系列流程。该流程中区分两个不同的角色,Commissioner 作为该流程的操作者, Commissionee 即为该新设备。
通常地,手机 App 作为这里的 Commissioner ,而我们购买的智能硬件作为 Commissionee。如下流程指示 Commissioning 流程的关键步骤。
...对于 Fabric ,字面意思为织网,这里不翻译。Matter 定义为同一安全域下 Node 的集合,在该安全域下 Node 能够彼此认证建立安全通信。一个 Fabric 共享同一证书机构(Certificate Authority (CA))的根证书(Root of Trust),同时约定一个 Fabric ID。
在 Commissioning 过程中会为需要加入 Fabric 的 Node 分配证书,也就是 NOC。
...早在 CHIP 工作组成立之初,我在 开源 HomeKit ADK 文档中就表达对这新协议的兴奋。两年多时间一直在不间断跟踪学习,在其最后发布阶段。整理翻译了Google 关于 Matter 的初级读本系列开发文档。翻译为主,也谈了一些个人浅显理解。建议直接阅读原文和 Connected Home over IP Specification 以及阅读源码。
Matter 是一个智能家居协议的开放标准,基于该协议所有的 Matter 认证的智能硬件能够彼此通信,协同工作。Matter 标准来自由谷歌、苹果、亚马逊、ZigBee联盟等100多家组成的 CSA联盟共同制定,并且开源实现,connectedhomeip。
...这里记录之前的一次异常处理,直接现象是多功能传感器(ZigBee End-Device,以下简称ZED)通过小米86盒开关 路由设备(ZigBee Router,以下简称ZR)关联加入网络很容易脱离网络。
首先,需要理清的ZED
在IEEE-802.15.4 规定为RFD
(精简功能设备),精剪功能主要在不能中继数据,作为树状网络拓扑的终端存在,同时受限于功耗,通常会选择大部分时间休眠以节约功耗。为了保证设备休眠能够正常接收数据,所以接收数据的时候选择间接交易,也就是父节点不直接向终端设备发送数据,是唤醒后的终端设备主动去轮询父节点字节是否有数据需要接收。所以其必须依赖父节点完成正常的通信业务,
这里详细介绍基于 ARMv8-A AArch64 固件安全相关,包含 TF-A(Trust Firmware A)。以及基于TF-A OEM厂商对 U-Boot 和 Kernel 实现的安全启动流程 SecureBoot。
对于 TF-A,ARMv8-A AArch64 架构需要满足如下设计需求。
...我需要在VS Code 调试NuttX应用,它的Sim应用需要cap_net_raw,cap_net_admin
权限,否则就无法正常操作HCI设备。
当然网上有一些帖子尝试将VS Code或者GDB运行在root用户,显然这样操作是非常不优雅的。
...