0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

什么是构建器以及如何开始使用

星星科技指导员 来源:嵌入式计算设计 作者:Brandon Lewis,David 2022-11-18 15:12 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

作者:Brandon Lewis,David Sandy

第 3 部分介绍了使用 PICMG 的配置器工具将符合 IoT.1 标准的数据存储在 JSON 文件中的过程。JSON 是存储和传输人类可读数据对象的出色格式。但是,它不是为由机器解释而设计的,数据需要以我们的目标硬件(智能传感器)可以使用的方式呈现。

这就是构建器的用武之地。

什么是生成器?

“构建器”将JSON文件转换为机器可读的代码,然后将其上传到智能传感器硬件。PICMG没有明确指定构建器作为IoT.x系列规范的一部分,但他们提供了参考软件,演示了构建器如何运行。

[编者注:参考“构建器”软件可在PICMGGithub上找到,可以免费下载。

使用PICMG的示例Builder的转换过程很像Mad Libs-故事是省略单词的。根据选择用于填充空白的单词,您可以创建截然不同的含义。

当 PICMG 的示例生成器收到配置的 JSON 文件时,它会获取数据并将其拆分为两个文件作为转换过程的一部分:“config.h”和“config.c”。

“config.h”包含可以打开或关闭的代码块的定义。

活动的“config.h”定义被调用到主 config.c 文件中,以完成配置的数据模型和智能传感器独有的固件代码

剩下的唯一事情就是使用微控制器的C编译器工具链编译config.h和config.h文件(构建器旨在与AVR GNU调试器avr-gdb一起使用)。

准备好构建自己的了?

准备好构建自己的可互操作智能传感器了吗?您已经拥有入门所需的所有知识和工具。

作为快速复习,下面是物料清单快照:

传感器– 任何传感器都可以,只要它有数据表。

微控制器板 – 对于 PICMG 智能传感器挑战赛,我们使用了基于 8 位 ATmega MCU 的三环技术公司的PICMG MicroSAM板。

PICMG IoT.1 配置器 – 将数据表值转换为 JSON 文件以供构建器解释的软件。从 Github 下载符合 IoT.1 标准的参考配置器 (PICMG/iot_configurator(github.com)),或使用符合规范要求的参考配置器。

Builder – 供应商特定的软件,接受配置器的 JSON 文件,生成可由微控制器板读取的固件,并将其部署到目标。出于本演示的目的,我们创建了一个可在 Github (PICMG/iot_builder(github.com))上使用的参考构建器。

现在,您可以使任何传感器与任何逻辑设备互操作!

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 微控制器
    +关注

    关注

    48

    文章

    8249

    浏览量

    162350
  • 传感器
    +关注

    关注

    2573

    文章

    54368

    浏览量

    785998
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    如何使用 CyCloneTCP 和 FreeRTOS 在 NuMaker IoT 板上构建 Web 服务

    使用 CyCloneTCP 和 FreeRTOS 在 NuMaker IoT 板上构建 Web 服务
    发表于 09-04 08:10

    如何使用 Mbed OS 在 NuMaker IoT 板上构建 Web 服务

    使用 Mbed OS 在 NuMaker IoT 板上构建 Web 服务
    发表于 09-04 06:33

    如何基于Nginx构建微服务网关

    今天,我将分享我们团队如何基于Nginx构建了一个日均处理10亿+请求的微服务网关,以及踩过的那些坑。这套方案已经稳定运行2年+,经历过多次大促考验。
    的头像 发表于 09-02 16:29 628次阅读

    Vela IF820音频网关构建错误怎么解决?

    我尝试让 mtb-example-btsdk-audio-gateway 在 Vela IF820 上运行。 当我尝试构建它时,我得到: “正在构建 13 个文件 链接输出
    发表于 06-26 06:06

    使用树莓派构建 Slurm 高性能计算集群:分步指南!

    在这篇文章中,我将分享我尝试使用树莓派构建Slurm高性能计算集群的经历。一段时间前,我开始使用这个集群作为测试平台,来创建一个更大的、支持GPU计算的高性能计算集群。我获得了高性能计算设置各个组件
    的头像 发表于 06-17 16:27 1346次阅读
    使用树莓派<b class='flag-5'>构建</b> Slurm 高性能计算集群:分步指南!

    【HarmonyOS NEXT】多目标产物构建实践

    ​ 目录 什么是多产物构建 如何定义多个构建产物 如何在项目中使用 参考文章 什么是多产物构建 在鸿蒙应用开发中,一个应用可定义多个 product,每一个 product 对应一个定制的 APP
    发表于 05-16 16:22

    是德科技推出AI数据中心构建

    是德科技(NYSE:KEYS)推出Keysight AI (KAI)数据中心构建,这是一款先进的软件套件,通过模拟真实工作负载来评估新算法、组件和协议对AI训练性能的影响。KAI数据中心构建
    的头像 发表于 04-07 11:06 809次阅读

    请问如何使用UUU进行独立内核构建

    我已经成功地使用 UUU 安装了一个 yocto 构建的内核,我不知道如何使用它来安装一个独立内核构建.尽管关于如何使用它的信息不少 (https://github.com/nxp-imx
    发表于 04-04 06:07

    FlexBuild构建Debian 12,在“tflite_ethosu_delegate”上构建失败了怎么解决?

    我们现在正在尝试FlexBuild 构建的 Debian 12,但它在 “tflite_ethosu_delegate” 上构建失败 我们知道 v24.06 中的构建过程不包括 ml(机器学习
    发表于 04-01 06:53

    如何使用flex-builder构建aruco库?

    我正在尝试构建 libopencv-aruco,它通常附带新版本的 OpenCV。当我运行 bld -c opencv 时,我没有看到正在构建此库。 谁能提供一些关于如何使用 flex-builder 构建 aruco 库的指
    发表于 03-31 06:13

    京准电钟守护时钟防线:北斗网络授时服务构建安全堡垒

    京准电钟守护时钟防线:北斗网络授时服务构建安全堡垒
    的头像 发表于 03-24 14:47 592次阅读
    京准电钟守护时钟防线:北斗网络授时服务<b class='flag-5'>器</b><b class='flag-5'>构建</b>安全堡垒

    外部构建在S32DS 3.6.0中不起作用怎么解决?

    您好 NXP, 安装 S32DS 3.6.0 后,外部构建(用于 makefile 项目)似乎不起作用,IDE 没有调用我的 *.bat 文件。相同的设置在 3.5.0 中可以正常工作。 我尝试
    发表于 03-20 07:06

    构建开源OpenVINO™工具套件后,模型优化位于何处呢?

    构建开源OpenVINO™工具套件后,模型优化位于何处?
    发表于 03-06 08:18

    技术解析 | 适用于TeamCity的Unreal Engine支持插件,提升游戏构建效率

    TeamCity 是一款强大的持续集成和部署服务,面向以 DevOps 为中心的团队提供开箱即用的测试智能、构建问题的实时报告以及无与伦比的可扩展性。安装和部署 TeamCity,几分钟之内即可
    的头像 发表于 02-19 16:12 999次阅读
    技术解析 | 适用于TeamCity的Unreal Engine支持插件,提升游戏<b class='flag-5'>构建</b>效率

    小白学大模型:构建LLM的关键步骤

    随着大规模语言模型(LLM)在性能、成本和应用前景上的快速发展,越来越多的团队开始探索如何自主训练LLM模型。然而,是否从零开始训练一个LLM,并非每个组织都适合。本文将根据不同的需求与资源,帮助
    的头像 发表于 01-09 12:12 1547次阅读
    小白学大模型:<b class='flag-5'>构建</b>LLM的关键步骤