ST X-NUCLEO-53L1A2 扩展板 -- 中断配置

UM2606
用户手册

IOTA 分布式账本入门
STM32Cube的技术软件扩展

介绍

X-CUBE-IOTA1 扩展软件包 STM32立方体 在 STM32 上运行并包含中间件以启用 IOTA 分布式账本技术 (DLT) 功能。
IOTA DLT 是物联网 (IoT) 的交易结算和数据传输层。 IOTA 允许人和机器在无需信任、无需许可和去中心化的环境中无需任何交易费用即可转移资金和/或数据。 这项技术甚至使小额支付成为可能,而无需任何类型的可信中介。 该扩展建立在 STM32Cube 软件技术的基础上,以简化不同 STM32 微控制器之间的可移植性。 当前版本的软件运行在 B-L4S5I-IOT01A 物联网节点的发现套件,并通过附加的 Wi-Fi 接口连接到互联网。

相关链接

访问 STM32Cube 生态系统 web www.st.com 上的页面了解更多信息
https://www.iota.org/get-started/what-is-iota
https://docs.iota.org/docs/getting-started/1.1/introduction/overview
https://iota-beginners-guide.com
https://chrysalis.docs.iota.org
https://iota-beginners-guide.com/future-of-iota/iota-1-5-chrysalis
https://www.boazbarak.org/cs127/Projects/iota.pdf

缩略语

表 1. 首字母缩略词列表

缩写 描述
分布式账本技术 分布式账本技术
集成开发环境 整合开发环境
物联网 物联网
工作量证明 工作量证明

STM1Cube 的 X-CUBE-IOTA32 软件扩展

超过view

X-CUBE-IOTA1 软件包扩展 STM32立方体 具有以下主要功能的功能:

  • 为基于 STM32 的开发板构建 IOTA DLT 应用程序的完整固件
  • 中间件库具有:
    – FreeRTOS
    – Wi-Fi 管理
    – 加密、散列、消息身份验证和数字签名 (Cryptolib)
    – 传输级安全性 (MbedTLS)
    – 用于与 Tangle 交互的 IOTA 客户端 API
  • 构建访问运动和环境传感器的应用程序的完整驱动程序
  • Examp帮助理解如何开发 IOTA DLT 客户端应用程序的文件
  • 借助 STM32Cube,可轻松跨不同 MCU 系列进行移植
  • 免费、用户友好的许可条款

软件扩展提供了在 STM32 微控制器上启用 IOTA DLT 的中间件。 IOTA DLT 是物联网 (IoT) 的交易结算和数据传输层。 IOTA 允许人和机器在无需信任、无需许可和去中心化的环境中无需任何交易费用即可转移资金和/或数据。 这项技术甚至使小额支付成为可能,而无需任何类型的可信中介。

埃欧塔 1.0

分布式账本技术 (DLT) 建立在维护分布式账本的节点网络上,分布式账本是一种加密保护的分布式数据库,用于记录交易。 节点通过共识协议发出交易。
IOTA 是一种专为物联网设计的分布式账本技术。
IOTA 分布式账本称为缠结,由 IOTA 网络中的节点发出的交易创建。
要在缠结中发布交易,节点必须:

  1. 验证两个未批准的交易,称为提示
  2. 创建并签署新交易
  3. 执行足够的工作量证明
  4. 将新交易广播到 IOTA 网络

交易与指向已验证交易的两个引用一起附加到缠结。
这种结构可以建模为有向无环图,其中顶点表示单个事务,边表示事务对之间的引用。
创世交易位于缠结根,包括所有可用的 IOTA 代币,称为 iotas。
IOTA 1.0 使用了一种基于三元表示的非常规实现方法:IOTA 中的每个元素都使用 trits = -1, 0, 1 而不是比特来描述,并且使用 3 个 trits 的 trytes 而不是字节来描述。 tryte 表示为从 -13 到 13 的整数,使用字母 (AZ) 和数字 9 进行编码。
IOTA 1.5 (Chrysalis) 用二元结构替换了三元交易布局。
IOTA 网络包括节点和客户端。 一个节点连接到网络中的对等点并存储缠结的副本。 客户端是带有种子的设备,用于创建地址和签名。
客户端创建并签署交易并将它们发送到节点,以便网络可以验证和存储它们。 提款交易必须包含有效签名。 当交易被认为有效时,节点将其添加到其分类账中,更新受影响地址的余额并将交易广播给其邻居。

IOTA 1.5 – 邪茧

IOTA 基金会的目标是在 Coordicide 之前优化 IOTA 主网,并为 IOTA 生态系统提供企业级解决方案。 这是通过名为 Chrysalis 的中间更新实现的。 Chrysalis 引入的主要升级有:

  • 可重用地址:采用Ed25519签名方案,取代温特尼茨一次性签名方案(W-OTS),允许用户安全地多次从同一地址发送令牌;
  • 不再捆绑:IOTA 1.0 使用捆绑的概念来创建传输。 捆绑包是一组通过其根引用(主干)链接在一起的事务。 随着 IOTA 1.5 的更新,旧的 bundle 结构被移除,取而代之的是更简单的原子交易。 Tangle 顶点由 Message 表示,Message 是一种容器,可以具有任意负载(即令牌负载或索引负载);
  • UTXO 模型:最初,IOTA 1.0 使用基于帐户的模型来跟踪单个 IOTA 代币:每个 IOTA 地址持有多个代币,所有 IOTA 地址的代币总数等于总供应量。 相反,IOTA 1.5 使用了未花费交易输出模型或 UTXO,基于通过称为输出的数据结构跟踪未花费的代币数量的想法;
  • 最多 8 个父交易:使用 IOTA 1.0,您总是必须引用 2 个父交易。 借助 Chrysalis,引入了更多的引用父节点(最多 8 个)。 为获得最佳结果,建议一次至少使用 2 个唯一父项。

相关链接
有关 Chrysalis 的更多信息,请参阅此文档页面

工作量证明

IOTA 协议使用工作量证明作为限制网络速率的手段。
IOTA 1.0 使用了 Curl-P-81 三元散列函数,并需要一个与尾随零三元数匹配的散列来向 Tangle 发出交易。
使用 Chrysalis,可以发布任意大小的二进制消息。 该 RFC 描述了如何使现有的 PoW 机制适应新的要求。 它旨在尽可能减少对当前 PoW 机制的破坏。

建筑学

这种 STM32Cube 扩展支持开发访问和使用 IOTA DLT 中间件的应用程序。
它基于用于 STM32 微控制器的 STM32CubeHAL 硬件抽象层,并使用特定的板支持包 (BSP) 扩展了 STM32Cube,用于麦克风扩展板和中间件组件,用于音频处理和与 PC 的 USB 通信。
应用软件接入和使用麦克风扩展板所使用的软件层为:

  • STM32Cube HAL 层:提供通用的多实例 API 集以与上层(应用程序、库和堆栈)交互。 它由基于通用架构的通用和扩展 API 组成,允许其他层(如中间件层)在没有特定微控制器单元 (MCU) 硬件配置的情况下运行。 这种结构提高了库代码的可重用性,并保证了设备易于移植。
  • 板级支持包 (BSP) 层:是一组 API,为特定板级外设(LED、用户按钮等)提供编程接口。 该接口还有助于识别特定的电路板版本,并为初始化所需的 MCU 外设和读取数据提供支持。

图 1. X-CUBE-IOTA1 软件架构

X-CUBE-IOTA1 扩展软件包 -- X-CUBE-IOTA1 扩展

资料夹结构

图 2. X-CUBE-IOTA1 文件夹结构X-CUBE-IOTA1扩展软件包——文件夹结构

软件包中包含以下文件夹:

  • 文档: 包含已编译的 HTML file 从源代码和软件组件和 API 的详细文档生成
  • 驱动程序: 包含用于支持的板卡和硬件平台的 HAL 驱动程序和特定于板卡的驱动程序,包括用于板载组件和 ARM® Cortex®-M 处理器系列的 CMSIS 供应商独立硬件抽象层的驱动程序
  • 中间件: 包含以 FreeRTOS 为特色的库; Wi-Fi 管理; 加密、散列、消息认证和数字签名(Cryptolib); 传输级安全(MbedTLS); 用于与 Tangle 交互的 IOTA 客户端 API
  • 项目: 包含前amp帮助您为受支持的基于 STM32 的平台 (B-L4S5I-IOT01A) 开发 IOTA DLT 客户端应用程序的文件,具有三个开发环境,IAR Embedded Workbench for ARM (EWARM)、RealView 微控制器开发套件 (MDK-ARM) 和 STM32CubeIDE
API

包含完整用户 API 功能和参数描述的详细技术信息位于已编译的 HTML 中 file 在“文档”文件夹中。

IOTA-Client 应用说明

项目 fileIOTA-Client 应用程序的 s 可以在以下位置找到:$BASE_DIR\Projects\B-L4S5IIOT01A\Applications\IOTA-Client。
准备构建的项目可用于多个 IDE。
用户界面通过串行端口提供,必须使用以下设置进行配置:

图 3. Tera Term – 终端设置X-CUBE-IOTA1 扩展软件包 -- 串口设置

图 4. Tera Term – 串口设置X-CUBE-IOTA1 扩展软件包 -- 终端设置

要运行该应用程序,请按照以下步骤操作。
步骤1. 打开串行终端以可视化消息日志。
步骤2. 输入您的 Wi-Fi 网络配置(SSID、安全模式和密码)。
步骤3. 设置 TLS 根 CA 证书。
步骤4. 复制并粘贴 Projects\B-L4S5I-IOT01A\Applications\IOTAClient\usertrust_thetangle.pem 的内容。 设备使用它们通过 TLS 对远程主机进行身份验证。

笔记: 配置参数后,您可以通过重新启动板并在 5 秒内按下用户按钮(蓝色按钮)来更改它们。 该数据将保存在闪存中。

图 5. Wi-Fi 参数设置

X-CUBE-IOTA1扩展软件包——Wi-Fi参数设置步骤5. 等待消息“按任意键继续”出现。 然后用主要功能列表刷新屏幕:

  • 发送通用索引消息
  • 发送索引传感器消息(包括时间amp、温度和湿度)
  • 获取余额
  • 发送交易
  • 其他功能

图 6. 主菜单
X-CUBE-IOTA1 扩展软件包 -- 主菜单

步骤6. 选择选项 3 以测试以下功能之一:

获取节点信息 获取提示
获取输出 地址的输出
获取余额 响应错误
获取消息 发送消息
查找消息 测试钱包
消息生成器 测试加密

图 7. 其他功能X-CUBE-IOTA1 扩展软件包-其他功能

相关链接
有关 IOTA 1.5 功能的更多详细信息,请参阅 IOTA C 客户端文档

系统设置指南

硬件说明
STM32L4+探索套件物联网节点

B-L4S5I-IOT01A 物联网节点探索套件允许您开发应用程序以直接连接到云服务器。
Discovery 套件通过利用低功耗通信、多路传感和基于 ARM®Cortex® -M4+ 内核的 STM32L4+ 系列功能支持各种应用。
它支持 Arduino Uno R3 和 PMOD 连接,通过多种专用附加板提供无限扩展能力。

图 8. B-L4S5I-IOT01A 探索套件X-CUBE-IOTA1 扩展软件包 -- B-L4S5I-IOT01A Discovery ki

硬件设置

需要以下硬件组件:

  1. 一个 STM32L4+ 探索套件,用于配备 Wi-Fi 接口的 IoT 节点(订购代码:B-L4S5I-IOT01A)
  2. 将 STM32 探索板连接到 PC 的 USB A 型转 Mini-B USB B 型电缆
软件设置

需要以下软件组件来设置用于为 B-L4S5I-IOT01A 创建 IOTA DLT 应用程序的开发环境:

  • X-CUBE-IOTA1:固件和相关文档可在 st.com 上获得
  • 开发工具链和编译器:STM32Cube扩展软件支持以下环境:
    – IAR Embedded Workbench for ARM® (EWARM) 工具链 + ST-LINK/V2
    - 真实的View 微控制器开发套件 (MDK-ARM) 工具链 + ST-LINK/V2
    – STM32CubeIDE + ST-LINK/V2
系统设置

B-L4S5I-IOT01A 探索板允许利用 IOTA DLT 功能。 该板集成了 ST-LINK/V2-1 调试器/编程器。 您可以在 STSW-LINK2 下载相关版本的 ST-LINK/V1-009 USB 驱动程序。

修订历史

表 2. 文档修订历史

日期 修订 更改
13 年 19 月 XNUMX 日 1 初始版本
18 年 19 月 XNUMX 日 2 更新了第 3.4.8.1 节 TX_IN 和 TX_OUT、第 3.4.8.3 节通过零值发送数据
交易和第 3.4.8.4 节通过转账交易发送资金。
6 年 21 月 XNUMX 日 3 更新介绍,第 1 节首字母缩略词和缩写,第 2.1 节结束view,第 2.1.1 节 IOTA 1.0,第 2.1.3 节工作证明,第 2.2 节架构,第 2.3 节文件夹结构,第 3.2 节硬件设置,第 3.3 节软件设置和第 3.4 节系统设置。
删除了第 2 节并替换为简介中的链接。
删除了第 3.1.2 节交易和捆绑包,第 3.1.3 节帐户和签名,节
3.1.5 散列。 第3.4节如何编写应用程序和相关小节,第3.5节IOTALightNode应用程序描述和相关小节,第4.1.1节STM32
Nucleo 平台添加了第 2.1.2 节 IOTA 1.5 – Chrysalis、第 2.5 节 IOTA-客户端应用程序描述、第 2.4 节 API 和第 3.1.1 节 STM32L4+ 探索套件物联网节点。

 

重要提示–请仔细阅读

STMicroelectronics NV及其子公司(“ ST”)保留随时对ST产品和/或本文档进行更改,更正,增强,修改和改进的权利,恕不另行通知。 购买者应在下订单之前获取有关ST产品的最新相关信息。 意法半导体的产品将根据意法半导体在确认订单时的销售条款和条件进行销售。

购买者对ST产品的选择,选择和使用负全部责任,ST不承担应用协助或购买者产品设计的责任。
ST 在​​此不授予任何明示或暗示的知识产权许可。
如果转售的 ST 产品的规定与此处所述的信息不同,则 ST 对该产品授予的任何保证将失效。
ST 和 ST 标志是 ST 的商标。 有关 ST 商标的更多信息,请参阅 www.st.com/trademarks。 所有其他产品或服务名称均为其各自所有者的财产。
本文档中的信息取代并替换了该文档之前任何版本中提供的信息。
© 2021 STMicroelectronics – 保留所有权利

文件/资源

ST X-CUBE-IOTA1 STM32Cube 扩展软件包 [pdf] 用户手册
ST, X-CUBE-IOTA1, 扩展, 软件包, for, STM32Cube

参考

发表评论

您的电子邮件地址不会被公开。 必填字段已标记 *