Placa d'expansió ST X-NUCLEO-53L1A2 -- Configuracions d'interrupció

UM2606
Manual d'usuari

Com començar amb el Ledger distribuït IOTA
Expansió de programari tecnològic per a STM32Cube

Introducció

El X-CUBE-IOTA1 paquet de programari d'expansió per STM32Cube s'executa a l'STM32 i inclou programari intermedi per habilitar les funcions de la tecnologia de registre distribuït (DLT) IOTA.
L'IOTA DLT és una capa de liquidació de transaccions i transferència de dades per a Internet de les coses (IoT). IOTA permet que les persones i les màquines transfereixin diners i/o dades sense cap comissió de transacció en un entorn descentralitzat, sense permís i sense confiança. Aquesta tecnologia fins i tot fa possibles els micropagaments sense la necessitat d'un intermediari de confiança de cap tipus. L'expansió es basa en la tecnologia de programari STM32Cube per facilitar la portabilitat entre diferents microcontroladors STM32. La versió actual del programari s'executa a B-L4S5I-IOT01A Kit de descoberta per al node IoT i es connecta a Internet mitjançant la interfície Wi-Fi adjunta.

ENLLAÇOS RELACIONATS

Visiteu l'ecosistema STM32Cube web pàgina a www.st.com per a més informació
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

Acrònims i abreviatures

Taula 1. Llistat d'acrònims

Acrònim Descripció
DLT Tecnologia de registre distribuït
IDE Entorn de desenvolupament integrat
IoT Internet de les coses
PoW Prova de treball

Expansió de programari X-CUBE-IOTA1 per a STM32Cube

Acabatview

El X-CUBE-IOTA1 el paquet de programari s'amplia STM32Cube funcionalitat amb les següents característiques principals:

  • Microprogramari complet per crear aplicacions IOTA DLT per a plaques basades en STM32
  • Biblioteques de middleware que inclouen:
    – FreeRTOS
    – Gestió de Wi-Fi
    - xifratge, hash, autenticació de missatges i signatura digital (Cryptolib)
    - seguretat a nivell de transport (MbedTLS)
    – API de client IOTA per interactuar amb Tangle
  • Controlador complet per crear aplicacions que accedeixen a sensors de moviment i ambientals
  • Exampper ajudar a entendre com desenvolupar una aplicació de client IOTA DLT
  • Fàcil portabilitat entre diferents famílies de MCU, gràcies a STM32Cube
  • Condicions de llicència gratuïtes i fàcils d'utilitzar

L'expansió del programari proporciona el programari intermedi per habilitar l'IOTA DLT en un microcontrolador STM32. L'IOTA DLT és una capa de liquidació de transaccions i transferència de dades per a Internet de les coses (IoT). IOTA permet que les persones i les màquines transfereixin diners i/o dades sense cap comissió de transacció en un entorn descentralitzat, sense permís i sense confiança. Aquesta tecnologia fins i tot fa possibles els micropagaments sense la necessitat d'un intermediari de confiança de cap tipus.

IOTA 1.0

Les tecnologies de registre distribuït (DLT) es construeixen en una xarxa de nodes que manté un registre distribuït, que és una base de dades distribuïda i segura criptogràficament per registrar transaccions. Els nodes emeten transaccions mitjançant un protocol de consens.
IOTA és una tecnologia de registre distribuït dissenyada específicament per a IoT.
El registre distribuït IOTA s'anomena embull i es crea per les transaccions emeses pels nodes de la xarxa IOTA.
Per publicar una transacció a l'embolic, un node ha de:

  1. validar dues transaccions no aprovades anomenades consells
  2. crear i signar la nova transacció
  3. realitzar prou prova de treball
  4. transmetre la nova transacció a la xarxa IOTA

La transacció s'adjunta a l'embolic juntament amb dues referències que apunten a les transaccions validades.
Aquesta estructura es pot modelar com un gràfic acíclic dirigit, on els vèrtexs representen transaccions individuals i les arestes representen referències entre parells de transaccions.
Una transacció de gènesi es troba a l'arrel de l'embolic i inclou tots els fitxes IOTA disponibles, anomenats iotas.
IOTA 1.0 utilitza un enfocament d'implementació força poc convencional basat en la representació trinària: cada element a IOTA es descriu utilitzant trits = -1, 0, 1 en lloc de bits i trytes de 3 trits en lloc de bytes. Un tryte es representa com un nombre enter de -13 a 13, codificat amb lletres (AZ) i el número 9.
IOTA 1.5 (Chrysalis) substitueix el disseny de la transacció trinària per una estructura binària.
La xarxa IOTA inclou nodes i clients. Un node està connectat als iguals de la xarxa i emmagatzema una còpia de l'embolic. Un client és un dispositiu amb una llavor que s'utilitza per crear adreces i signatures.
El client crea i signa transaccions i les envia al node perquè la xarxa les pugui validar i emmagatzemar. Les transaccions de retirada han de contenir una signatura vàlida. Quan una transacció es considera vàlida, el node l'afegeix al seu llibre major, actualitza els saldos de les adreces afectades i transmet la transacció als seus veïns.

IOTA 1.5 - Crisàlida

L'objectiu de la Fundació IOTA és optimitzar la xarxa principal IOTA abans de Coordicide i oferir una solució preparada per a l'empresa per a l'ecosistema IOTA. Això s'aconsegueix mitjançant una actualització intermèdia anomenada Chrysalis. Les principals actualitzacions introduïdes per Chrysalis són:

  • Adreces reutilitzables: l'adopció de l'esquema de signatura Ed25519, que substitueix l'esquema de signatura única de Winternitz (W-OTS), permet als usuaris enviar testimonis de manera segura des de la mateixa adreça diverses vegades;
  • No més paquets: IOTA 1.0 utilitza el concepte de paquets per crear transferències. Els paquets són un conjunt de transaccions enllaçades per la seva referència arrel (tronc). Amb l'actualització IOTA 1.5, l'antiga construcció del paquet s'elimina i se substitueix per les transaccions Atomic més senzilles. El vèrtex Tangle està representat pel Missatge, que és una mena de contenidor que pot tenir càrregues útils arbitràries (és a dir, càrrega útil Token o càrrega útil d'indexació);
  • Model UTXO: originalment, IOTA 1.0 utilitzava un model basat en comptes per fer el seguiment de fitxes IOTA individuals: cada adreça IOTA contenia un nombre de fitxes i el nombre agregat de fitxes de totes les adreces IOTA era igual al subministrament total. En canvi, IOTA 1.5 utilitza el model de sortida de transaccions no gastades, o UTXO, basat en la idea de fer un seguiment de les quantitats no gastades de fitxes mitjançant una estructura de dades anomenada sortida;
  • Fins a 8 pares: amb IOTA 1.0, sempre havies de fer referència a 2 transaccions pares. Amb Chrysalis, s'introdueix un nombre més gran de nodes pares referenciats (fins a 8). Per obtenir els millors resultats, es recomanen almenys 2 pares únics alhora.

ENLLAÇOS RELACIONATS
Per obtenir més informació sobre Chrysalis, consulteu aquesta pàgina de documentació

Prova de treball

El protocol IOTA utilitza Proof-of-Work com a mitjà per limitar la velocitat de la xarxa.
IOTA 1.0 va utilitzar el Curl-P-81 funció hash trinària i requeria un hash amb el nombre coincident de trits de zero al final per emetre una transacció al Tangle.
Amb Chrysalis, és possible emetre missatges binaris de mida arbitrària. Aquest RFC descriu com adaptar el mecanisme PoW existent als nous requisits. Pretén ser el menys pertorbador possible per al mecanisme PoW actual.

Arquitectura

Aquesta expansió STM32Cube permet el desenvolupament d'aplicacions que accedeixen i utilitzen el programari intermediari IOTA DLT.
Es basa en la capa d'abstracció de maquinari STM32CubeHAL per al microcontrolador STM32 i amplia STM32Cube amb un paquet de suport de placa (BSP) específic per a la placa d'expansió del micròfon i components de middleware per al processament d'àudio i la comunicació USB amb un ordinador.
Les capes de programari utilitzades pel programari d'aplicació per accedir i utilitzar la placa d'expansió del micròfon són:

  • Capa STM32Cube HAL: proporciona un conjunt genèric i multi-instància d'API per interactuar amb les capes superiors (l'aplicació, les biblioteques i les piles). Consisteix en API genèriques i d'extensió basades en una arquitectura comuna que permet que altres capes com la capa de middleware funcionin sense configuracions de maquinari específiques de la unitat de microcontrolador (MCU). Aquesta estructura millora la reutilització del codi de la biblioteca i garanteix una fàcil portabilitat del dispositiu.
  • Capa Board Support Package (BSP): és un conjunt d'API que proporciona una interfície de programació per a determinats perifèrics específics de la placa (LED, botó d'usuari, etc.). Aquesta interfície també ajuda a identificar la versió específica de la placa i proporciona suport per inicialitzar els perifèrics MCU necessaris i llegir dades.

Figura 1. Arquitectura del programari X-CUBE-IOTA1

Paquet de programari d'expansió X-CUBE-IOTA1 -- Expansió X-CUBE-IOTA1

Estructura de carpetes

Figura 2. Estructura de carpetes X-CUBE-IOTA1Paquet de programari d'expansió X-CUBE-IOTA1: estructura de carpetes

Les carpetes següents s'inclouen al paquet de programari:

  • Documentació: conté un HTML compilat file generat a partir del codi font i la documentació detallada dels components del programari i les API
  • Conductors: conté els controladors HAL i els controladors específics de la placa per a plataformes de placa i maquinari compatibles, inclosos els dels components integrats i la capa d'abstracció de maquinari independent del proveïdor CMSIS per a la sèrie de processadors ARM® Cortex®-M
  • Intermedis: conté biblioteques amb FreeRTOS; gestió de Wi-Fi; xifratge, hash, autenticació de missatges i signatura digital (Cryptolib); seguretat a nivell de transport (MbedTLS); API de client IOTA per interactuar amb Tangle
  • Projectes: conté exampper ajudar-vos a desenvolupar una aplicació de client IOTA DLT per a la plataforma basada en STM32 (B-L4S5I-IOT01A), amb tres entorns de desenvolupament, IAR Embedded Workbench for ARM (EWARM), RealView Kit de desenvolupament de microcontroladors (MDK-ARM) i STM32CubeIDE
API

La informació tècnica detallada amb la funció completa de l'API d'usuari i la descripció dels paràmetres es troben en un HTML compilat file a la carpeta “Documentació”.

Descripció de l'aplicació IOTA-Client

El projecte files per a l'aplicació IOTA-Client es poden trobar a: $BASE_DIR\Projects\B-L4S5IIOT01A\Applications\IOTA-Client.
Els projectes preparats per construir estan disponibles per a diversos IDE.
La interfície d'usuari es proporciona a través del port sèrie i s'ha de configurar amb els paràmetres següents:

Figura 3. Tera Term – Configuració del terminalPaquet de programari d'expansió X-CUBE-IOTA1 -- Configuració del port sèrie

Figura 4. Tera Term – Configuració del port sèriePaquet de programari d'expansió X-CUBE-IOTA1 -- Configuració del terminal

Per executar l'aplicació, seguiu el procediment següent.
Pas 1. Obriu un terminal sèrie per visualitzar el registre de missatges.
Pas 2. Introduïu la configuració de la vostra xarxa Wi-Fi (SSID, mode de seguretat i contrasenya).
Pas 3. Establiu els certificats CA arrel TLS.
Pas 4. Copieu i enganxeu el contingut de Projects\B-L4S5I-IOT01A\Applications\IOTAClient\usertrust_thetangle.pem. El dispositiu els utilitza per autenticar els amfitrions remots mitjançant TLS.

Nota: Després de configurar els paràmetres, podeu canviar-los reiniciant el tauler i prement el botó Usuari (botó blau) en 5 segons. Aquestes dades es desaran a la memòria Flash.

Figura 5. Configuració dels paràmetres Wi-Fi

Paquet de programari d'expansió X-CUBE-IOTA1 -- Configuració de paràmetres Wi-FiPas 5. Espereu que aparegui el missatge "Premeu qualsevol tecla per continuar". A continuació, la pantalla s'actualitza amb la llista de les funcions principals:

  • Envieu un missatge d'indexació genèric
  • Envieu un missatge del sensor d'indexació (incloent timestamp, temperatura i humitat)
  • Aconsegueix l'equilibri
  • Enviar transacció
  • Altres funcions

Figura 6. Menú principal
Paquet de programari d'expansió X-CUBE-IOTA1 -- Menú principal

Pas 6. Trieu l'opció 3 per provar una de les funcions següents:

Obteniu informació del node Obteniu consells
Obteniu sortida Sortides de l'adreça
Aconsegueix l'equilibri Error de resposta
Rep missatge Enviar missatge
Cerca missatge Cartera de prova
Creador de missatges Prova cripto

Figura 7. Altres funcionsPaquet de programari d'expansió X-CUBE-IOTA1 - Altres funcions

ENLLAÇOS RELACIONATS
Per obtenir més detalls sobre les funcions IOTA 1.5, consulteu la documentació del client IOTA C

Guia de configuració del sistema

Descripció del maquinari
Node IoT del kit de descoberta STM32L4+

El kit de descoberta B-L4S5I-IOT01A per al node IoT us permet desenvolupar aplicacions per connectar-vos directament als servidors del núvol.
El kit Discovery permet una gran varietat d'aplicacions aprofitant la comunicació de baixa potència, la detecció multidireccional i les funcions de la sèrie STM4L32+ basades en el nucli ARM®Cortex® -M4+.
Admet la connectivitat Arduino Uno R3 i PMOD que ofereix capacitats d'expansió il·limitades amb una gran varietat de plaques complementàries dedicades.

Figura 8. Kit de descoberta B-L4S5I-IOT01APaquet de programari d'expansió X-CUBE-IOTA1 -- B-L4S5I-IOT01A Discovery ki

Configuració del maquinari

Es necessiten els següents components de maquinari:

  1. un kit de descoberta STM32L4+ per al node IoT equipat amb interfície Wi-Fi (codi de comanda: B-L4S5I-IOT01A)
  2. un cable USB tipus A a Mini-B USB tipus B per connectar la placa de descobriment STM32 a l'ordinador
Configuració del programari

Es necessiten els components de programari següents per configurar l'entorn de desenvolupament per crear aplicacions IOTA DLT per al B-L4S5I-IOT01A:

  • X-CUBE-IOTA1: el firmware i la documentació relacionada estan disponibles a st.com
  • cadena d'eines de desenvolupament i compilador: el programari d'expansió STM32Cube admet els entorns següents:
    – Cadena d'eines IAR Embedded Workbench per a ARM ® (EWARM) + ST-LINK/V2
    – RealView Cadena d'eines del kit de desenvolupament de microcontroladors (MDK-ARM) + ST-LINK/V2
    – STM32CubeIDE + ST-LINK/V2
Configuració del sistema

La placa Discovery B-L4S5I-IOT01A permet l'explotació de les funcions IOTA DLT. La placa integra el depurador/programador ST-LINK/V2-1. Podeu descarregar la versió corresponent del controlador USB ST-LINK/V2-1 a STSW-LINK009.

Historial de revisions

Taula 2. Historial de revisions de documents

Data Revisió Canvis
13-juny-19 1 Alliberament inicial
18-juny-19 2 Secció actualitzada 3.4.8.1 TX_IN i TX_OUT, secció 3.4.8.3 Enviament de dades mitjançant el valor zero
transaccions i Secció 3.4.8.4 Enviament de fons mitjançant transaccions de transferència.
6-maig-21 3 Introducció actualitzada, Secció 1 Acrònims i abreviatures, Secció 2.1view, Secció 2.1.1 IOTA 1.0, Secció 2.1.3 Prova de treball, Secció 2.2 Arquitectura, Secció 2.3 Estructura de carpetes, Secció 3.2 Configuració del maquinari, Secció 3.3 Configuració del programari i Secció 3.4 Configuració del sistema.
S'ha eliminat la Secció 2 i s'ha substituït per un enllaç a la Introducció.
S'ha eliminat la secció 3.1.2 Transaccions i paquets, secció 3.1.3 Compte i signatures, secció
3.1.5 Hashing. Secció 3.4 Com escriure aplicacions i subseccions relacionades, Secció 3.5 Descripció de l'aplicació IOTALightNode i subseccions relacionades i Secció 4.1.1 STM32
Plataforma Nucleo S'ha afegit la secció 2.1.2IOTA 1.5 - Chrysalis, la secció 2.5 Descripció de l'aplicació IOTA-client, la secció 2.4 API i la secció 3.1.1 STM32L4+ Discovery kit node IoT.

 

AVÍS IMPORTANT: LLEGEIX-HO AMB ATENCIÓ

STMicroelectronics NV i les seves filials ("ST") es reserven el dret de fer canvis, correccions, millores, modificacions i millores als productes ST i / o a aquest document en qualsevol moment sense previ avís. Els compradors haurien d’obtenir la informació rellevant més recent sobre els productes ST abans de fer comandes. Els productes ST es venen d'acord amb els termes i condicions de venda de ST vigents en el moment de la confirmació de la comanda.

Els compradors són els únics responsables de l’elecció, selecció i ús dels productes ST i ST no assumeix cap responsabilitat per l’assistència a la sol·licitud ni pel disseny dels productes dels compradors.
ST no concedeix cap llicència, expressa o implícita, a cap dret de propietat intel·lectual.
La revenda de productes ST amb disposicions diferents de la informació que s'estableix aquí anul·larà qualsevol garantia concedida per ST per a aquest producte.
ST i el logotip de ST són marques comercials de ST. Per obtenir informació addicional sobre les marques comercials ST, consulteu www.st.com/trademarks. Tots els altres noms de productes o serveis són propietat dels seus respectius propietaris.
La informació d'aquest document substitueix i substitueix la informació proporcionada anteriorment en qualsevol versió anterior d'aquest document.
© 2021 STMicroelectronics – Tots els drets reservats

Documents/Recursos

Paquet de programari d'expansió ST X-CUBE-IOTA1 per a STM32Cube [pdfManual d'usuari
ST, X-CUBE-IOTA1, Expansió, Paquet de programari, per a, STM32Cube

Referències

Deixa un comentari

La teva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats *