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

企业网站建设规划方案个人开发app能赚多少

企业网站建设规划方案,个人开发app能赚多少,梅河口城乡建设网站,wordpress爱搭配nRF Connect SDK 和 Matter SDK 的 matter 协议版本 nRF Connect SDK#xff08;NCS#xff09;是 Nordic 官方维护的#xff0c;里面包含某个版本的 Matter SDK。Matter SDK 为 CSA 联盟维护的#xff0c;里面包含各平台的SDK#xff0c;其中包含了某个版本的 NCS。 需…nRF Connect SDK 和 Matter SDK 的 matter 协议版本 nRF Connect SDKNCS是 Nordic 官方维护的里面包含某个版本的 Matter SDK。Matter SDK 为 CSA 联盟维护的里面包含各平台的SDK其中包含了某个版本的 NCS。 需要探索最新标准 matter 协议使用最新 Matter SDK 去配置需要使用的 NCS 版本。 需要 Nordic 最新维护发布的稳定版本直接使用 NCS 即可。 NCS 适配的 Matter 协议版本 ZAP Tool  Matter开发主要包括两方面的工作一是Matter应用本身的开发二是非Matter应用开发。Matter应用开发本质上就是cluster/endpoint/node的添加、编辑、删除以及相关回调事件处理等如前所述这个需要通过 zcl 编辑工具 zap 来生成ember层的代码以及手动添加或者修改其他c文件来实现。 保证 zap 版本一致性 NCS 安装 ~/ncs/v2.5.2/modules/lib/matter/scripts/setup/nrfconnect/get_zap.py -l ~/Nordic/Tools/zap_tool -o Matter SDK 安装 查看 ~/connectedhomeip/scripts/setup/zap.version文件确认版本 到 https://github.com/project-chip/zap/releases下载对应版本 下载解压完成后如~/Nordic/Tools/zap_tool将 zap_tool 文件夹添加到环境变量。 已经安装了的旧版或者其他版本Linux 系统下将 ~/.zap 这个文件夹删除windows 下位于 C:\Users\${username}\.zap 添加 Cluster 创建 Matter Template 工程 使用命令行打开 template.zap 文件(windows 下路径默认用的是 \输入要换成 /否则出现乱码不兼容)  zap ~/template/src/template.zap --zcl ~/ncs/v2.5.2/modules/lib/matter/src/app/zap-templates/zcl/zcl.json --gen ~/ncs/v2.5.2/modules/lib/matter/src/app/zap-templates/app-templates.json 弹出ZCL窗口 例子目前只有Endpoint 0选择Endpoint 0并选择“Enabled Clusters”我们可以看到这个Endpoint使能了哪些cluster比如 Descriptor cluster。         下面我们添加一个Endpoint以支持Matter On/Off Light设备选择“ADD ENDPOINT”如下添加 完成添加后保存点击 generate 生成代码到 template/src/zap-generated 文件夹中。或者使用python 脚本 python ~/ncs/v2.5.0/modules/lib/matter/scripts/tools/zap/generate.py ~/template/src/template.zap -t src/app/zap-templates/app-templates.json -o ~/template/src/zap-generated 修改项目代码 添加 Matter stack 回调函数以处理 controller 发送过来的命令比如开灯。这个主要通过覆盖 MatterPostAttributeChangeCallback() 来实现更新 attribute 数值以让 Matter stack 可以将最新的状态或者 event 同步给 controller。这个主要通过Clusters::OnOff::Attributes::OnOff::Set()之类的函数实现。 如 light_hulb 工程中的 zcl_callback.cpp /** Copyright (c) 2021 Nordic Semiconductor ASA** SPDX-License-Identifier: LicenseRef-Nordic-5-Clause*/#include lib/support/logging/CHIPLogging.h#include app_task.h#include app-common/zap-generated/attributes/Accessors.h #include app-common/zap-generated/ids/Attributes.h #include app-common/zap-generated/ids/Clusters.h #include app/ConcreteAttributePath.husing namespace ::chip; using namespace ::chip::app::Clusters; using namespace ::chip::app::Clusters::OnOff;void MatterPostAttributeChangeCallback(const chip::app::ConcreteAttributePath attributePath, uint8_t type,uint16_t size, uint8_t *value) {ClusterId clusterId attributePath.mClusterId;AttributeId attributeId attributePath.mAttributeId;if (clusterId OnOff::Id attributeId OnOff::Attributes::OnOff::Id) {ChipLogProgress(Zcl, Cluster OnOff: attribute OnOff set to % PRIu8 , *value);AppTask::Instance().GetPWMDevice().InitiateAction(*value ? PWMDevice::ON_ACTION : PWMDevice::OFF_ACTION,static_castint32_t(AppEventType::Lighting), value);} else if (clusterId LevelControl::Id attributeId LevelControl::Attributes::CurrentLevel::Id) {ChipLogProgress(Zcl, Cluster LevelControl: attribute CurrentLevel set to % PRIu8 , *value);if (AppTask::Instance().GetPWMDevice().IsTurnedOn()) {AppTask::Instance().GetPWMDevice().InitiateAction(PWMDevice::LEVEL_ACTION, static_castint32_t(AppEventType::Lighting), value);} else {ChipLogDetail(Zcl, LED is off. Try to use move-to-level-with-on-off instead of move-to-level);}} }/** brief OnOff Cluster Init** This function is called when a specific cluster is initialized. It gives the* application an opportunity to take care of cluster initialization procedures.* It is called exactly once for each endpoint where cluster is present.** param endpoint Ver.: always** TODO Issue #3841* emberAfOnOffClusterInitCallback happens before the stack initialize the cluster* attributes to the default value.* The logic here expects something similar to the deprecated Plugins callback* emberAfPluginOnOffClusterServerPostInitCallback.**/ void emberAfOnOffClusterInitCallback(EndpointId endpoint) {// Cluster 初始化后调用在这里同步最初的 Cluster 状态// 在 InitCallback 之前调用 Attributes 下的方法会返回失败。EmberAfStatus status;bool storedValue;/* Read storedValue on/off value */status Attributes::OnOff::Get(endpoint, storedValue);if (status EMBER_ZCL_STATUS_SUCCESS) {/* Set actual state to the cluster state that was last persisted */AppTask::Instance().GetPWMDevice().InitiateAction(storedValue ? PWMDevice::ON_ACTION : PWMDevice::OFF_ACTION,static_castint32_t(AppEventType::Lighting), reinterpret_castuint8_t *(storedValue));}AppTask::Instance().UpdateClusterState(); }使用 Apple Home Pod 测试
http://www.pierceye.com/news/931396/

相关文章:

  • 建网站的流程费用广州比较大的外贸公司
  • wordpress 调用站外api广州优化公司推广
  • 自贡建设专业网站设计企业网站建设专家
  • 重庆潼南网站建设哪家便宜淄博做网站电话
  • 下载官方网站合肥建站公司seo
  • 做网站还是做app好科技部政服务服平台
  • 东阿聊城做网站的公司seo顾问培训
  • 临海高端营销型网站建设地址建设网站有什么要素构成
  • wordpress 照片分享昌平网站建设推广优化seo
  • 石家庄做网站的公司有哪些做企业网站一般要多少钱
  • 电脑十大免费游戏网站万能搜索引擎入口
  • 菏泽网站建设公司排名有没有专做推广小说的网站
  • 东莞网站建设搭建因酷网站建设
  • 连云港百度推广网站建设ph域名网站
  • 网站建设营销模板网站开发招聘职位
  • 如何做网站的教程网站怎么建设以及维护
  • 信息港发布信息怎么做网站优化
  • 网页广告怎么关闭网站seo的主要优化内容
  • server2012做网站免费的图片做视频在线观看网站
  • 石狮网站建设折扣网站模板
  • 大连商城网站制作公司深圳网站改版公司
  • 网站备案需要的资料网站+做内容分发资格
  • 青岛模板自助建站百度怎么搜索图片
  • 国外做动运服装的网站安徽海通建设集团网站
  • 手机网站加百度商桥装修公司加盟免费
  • 网站开发背景知识wordpress第二步500
  • 114百事通做网站600郑州建站时间
  • 佛山网站建设科技公司南宁网页设计价格
  • 四字母net做网站怎么样如何开通微信小程序商城
  • 山西免费网站关键词优化排名婚恋网站开发