ST X-NUCLEO-53L1A2 Scheda di espansione -- Configurazione di interruzzione

UM 2606
Manuale d'usu

Cumincià cù u IOTA Distributed Ledger
Espansione di u software di tecnulugia per STM32Cube

Introduzione

U X-CUBE-IOTA1 pacchettu di software di espansione per STM32Cube funziona nantu à l'STM32 è include middleware per attivà e funzioni IOTA Distributed Ledger Technology (DLT).
L'IOTA DLT hè una strata di transazzione è trasferimentu di dati per l'Internet of Things (IoT). IOTA permette à e persone è a machini di trasfiriri soldi è / o dati senza alcuna spesa di transazzione in un ambiente trustless, senza permessu è decentralizatu. Sta tecnulugia permette ancu i micro-pagamenti pussibuli senza avè bisognu di un intermediariu di fiducia di ogni tipu. L'espansione hè custruita nantu à a tecnulugia di u software STM32Cube per facilità a portabilità in diversi microcontrollers STM32. A versione attuale di u software corre nantu à u B-L4S5I-IOT01A Kit di scuperta per node IoT è cunnetta à Internet attraversu l'interfaccia Wi-Fi attaccata.

LINK RELATI

Visita l'ecosistema STM32Cube web pagina in www.st.com per più infurmazione
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

Acronimi è abbreviazioni

Table 1. Lista di acronimi

Acronimu Descrizzione
DLT Tecnulugia di registru distribuitu
IDE Ambiente di sviluppu integratu
IoT Internet di e cose
PoW Prova di travagliu

L'espansione di u software X-CUBE-IOTA1 per STM32Cube

Overview

U X-CUBE-IOTA1 U pacchettu di software si espansione STM32Cube funziunalità cù e seguenti caratteristiche chjave:

  • Firmware cumpletu per custruisce applicazioni IOTA DLT per schede basate in STM32
  • Biblioteche di middleware chì includenu:
    - FreeRTOS
    - Gestione Wi-Fi
    - crittografia, hashing, autentificazione di missaghji è firma digitale (Cryptolib)
    - sicurezza à u livellu di trasportu (MbedTLS)
    - API Client IOTA per interagisce cù Tangle
  • Driver cumpletu per custruisce applicazioni chì accede à i sensori di muvimentu è ambientali
  • Examples per aiutà à capisce cumu sviluppà una applicazione IOTA DLT Client
  • Facile portabilità in diverse famiglie MCU, grazie à STM32Cube
  • Termini di licenza gratuiti, facili d'utilizatore

L'espansione di u software furnisce u middleware per attivà l'IOTA DLT in un microcontroller STM32. L'IOTA DLT hè una strata di transazzione è trasferimentu di dati per l'Internet of Things (IoT). IOTA permette à e persone è a machini di trasfiriri soldi è / o dati senza alcuna spesa di transazzione in un ambiente trustless, senza permessu è decentralizatu. Sta tecnulugia permette ancu i micro-pagamenti pussibuli senza avè bisognu di un intermediariu di fiducia di ogni tipu.

IOTA 1.0

Distributed Ledger Technologies (DLT) sò custruiti nantu à una reta di nodi chì mantene un ledger distribuitu, chì hè una basa di dati distribuita criptograficamente assicurata per registrà e transacciones. I nodi emettenu transazzione attraversu un protocolu di cunsensu.
IOTA hè una tecnulugia di ledger distribuita apposta cuncepita per l'IoT.
U ledger distribuitu IOTA hè chjamatu u tangle è hè creatu da e transazzione emessu da i nodi in a reta IOTA.
Per publicà una transazzione in u tangle, un node hà da:

  1. cunvalidà dui transazzioni micca appruvati chjamati cunsiglii
  2. crià è firmà a nova transazzione
  3. eseguisce abbastanza Proof-of-Work
  4. trasmette a nova transazzione à a reta IOTA

A transazzione hè attaccata à u tangle inseme cù dui referenze chì puntanu à e transazzione validate.
Sta struttura pò esse modellata cum'è un gràficu aciclicu direttu, induve i vertici rapprisentanu transazzioni unichi è i bordi rapprisentanu referenze trà coppie di transazzione.
Una transazzione di genesi hè à a radica di u tangle è include tutti i tokens IOTA dispunibili, chjamati iotas.
IOTA 1.0 usa un approcciu di implementazione piuttostu pocu cunvinziunali basatu annantu à a rapprisintazioni trinaria: ogni elementu in IOTA hè descrittu cù trits = -1, 0, 1 invece di bit, è trytes di 3 trits invece di byte. Un tryte hè rapprisintatu cum'è un entero da -13 à 13, codificatu cù lettere (AZ) è u numeru 9.
IOTA 1.5 (Chrysalis) rimpiazza u schema di transazzione trinariu cù una struttura binaria.
A reta IOTA include nodi è clienti. Un node hè cunnessu à i pari in a reta è guarda una copia di u tangle. Un cliente hè un dispositivu cù una sumente per esse utilizata per creà indirizzi è signature.
U cliente crea è firma transazzione è li manda à u node per chì a reta pò cunvalidà è almacenà. L'operazione di ritirata deve cuntene una firma valida. Quandu una transazzione hè cunsiderata valida, u node l'aghjunghje à u so libru, aghjurnà i saldi di l'indirizzi affettati è trasmette a transazzione à i so vicini.

IOTA 1.5 - Chrysalis

L'ughjettu di a Fundazione IOTA hè di ottimisà a rete principale IOTA prima di Coordicide è offre una soluzione pronta per l'impresa per l'ecosistema IOTA. Questu hè ottenutu da una aghjurnazione intermedia chjamata Chrysalis. L'aghjurnamenti principali introdotti da Chrysalis sò:

  • Indirizzi reutilizabili: l'adopzione di u schema di firma Ed25519, rimpiazzà u schema di signatura di una sola volta di Winternitz (W-OTS), permette à l'utilizatori di mandà in modu sicuru tokens da u stessu indirizzu parechje volte;
  • Ùn ci hè più bundle: IOTA 1.0 usa u cuncettu di bundle per creà trasferimenti. Bundles sò un inseme di transazzione ligate inseme da a so riferimentu radicali (troncu). Cù l'aghjurnamentu di l'IOTA 1.5, l'antica custruzzione di bundle hè sguassata è rimpiazzata da e transazzione atomica più simplice. U vertice Tangle hè rapprisintatu da u Missaghju chì hè una spezia di cuntinuu chì pò avè carichi arbitrarii (ie, Token payload o Indexation payload);
  • U mudellu UTXO: urigginariamente, IOTA 1.0 hà utilizatu un mudellu basatu in contu per seguità i tokens IOTA individuali: ogni indirizzu IOTA cuntene una quantità di tokens è u numeru aggregatu di tokens da tutti l'indirizzi IOTA era uguale à l'offerta tutale. Invece, IOTA 1.5 usa u mudellu di output di transazzione unspent, o UTXO, basatu annantu à l'idea di seguità quantità di tokens unspent via una struttura di dati chjamata output;
  • Finu à 8 Genitori: cù IOTA 1.0, avete sempre avutu à riferite transazzioni parentali 2. Cù Chrysalis, un numeru più grande di nodi parentali riferiti (finu à 8) hè introduttu. Per ottene u megliu risultati, almenu 2 genitori unichi à u tempu sò cunsigliatu.

LINK RELATI
Per più infurmazione nantu à Chrysalis, fate riferimentu à sta pagina di documentazione

Prova di travagliu

U protocolu IOTA usa Proof-of-Work cum'è un mezzu per limità a rete.
IOTA 1.0 hà utilizatu u Curl-P-81 funzione trinariu di hash è hà bisognu di un hash cù u numeru currispundente di trailing zero trits per emette una transazzione à u Tangle.
Cù Chrysalis, hè pussibule di issuà missaghji binari di dimensione arbitraria. Questa RFC descrive cumu adattà u mecanismu PoW esistente à e novi esigenze. U scopu di esse menu disruptive quant'è pussibule à u mecanismu PoW attuale.

Architettura

Questa espansione STM32Cube permette u sviluppu di applicazioni chì accedenu è utilizanu u middleware IOTA DLT.
Hè basatu annantu à a strata di astrazione di hardware STM32CubeHAL per u microcontroller STM32 è estende STM32Cube cun un pacchettu di supportu di bordu specificu (BSP) per a scheda di espansione di microfonu è cumpunenti middleware per l'elaborazione audio è a cumunicazione USB cù un PC.
I strati di u software utilizati da u software di l'applicazione per accede è aduprà a scheda di espansione di u microfonu sò:

  • Layer HAL STM32Cube: furnisce un inseme genericu, multi-istanza di API per interagisce cù i strati superiori (l'applicazione, biblioteche è pile). Hè custituitu da API generiche è di estensione basate nantu à una architettura cumuna chì permette à altri strati cum'è a capa di middleware per funziunà senza cunfigurazioni hardware specifiche di Microcontroller Unit (MCU). Sta struttura migliurà a riutilizazione di u codice di a biblioteca è guarantisci a portabilità di u dispositivu faciule.
  • Layer Board Support Package (BSP): hè un inseme di API chì furnisce una interfaccia di prugrammazione per certi periferiche specifiche di bordu (LED, buttone d'utilizatore, etc.). Questa interfaccia aiuta ancu à identificà a versione specifica di a scheda è furnisce supportu per l'inizializazione di i periferichi MCU necessarii è a lettura di dati.

Figura 1. L'architettura di u software X-CUBE-IOTA1

X-CUBE-IOTA1 Expansion Software Package -- Espansione X-CUBE-IOTA1

Struttura di cartulare

Figura 2. Struttura di cartulare X-CUBE-IOTA1X-CUBE-IOTA1 Expansion Software Package - struttura di cartulare

I seguenti cartulare sò inclusi in u pacchettu di software:

  • Documentation : cuntene un HTML compilatu file generatu da u codice fonte è a documentazione dettagliata di i cumpunenti di u software è l'API
  • Drivers: cuntene i drivers HAL è i drivers specifichi di a scheda per e piattaforme di schede è hardware supportate, cumprese quelli per i cumpunenti di bordu è a strata di astrazione di hardware indipendente da u venditore CMSIS per a serie di processori ARM® Cortex®-M.
  • Middlewares: cuntene biblioteche cù FreeRTOS; gestione Wi-Fi; crittografia, hashing, autentificazione di messagi è firma digitale (Cryptolib); sicurezza à u livellu di trasportu (MbedTLS); IOTA Client API per interagisce cù u Tangle
  • Prughjetti: cuntene examples per aiutà à sviluppà una applicazione IOTA DLT Client per a piattaforma basata STM32 supportata (B-L4S5I-IOT01A), cù trè ambienti di sviluppu, IAR Embedded Workbench for ARM (EWARM), RealeView Kit di sviluppu di microcontroller (MDK-ARM) è STM32CubeIDE
API

L'infurmazioni tecniche detallate cù a funzione API di l'utilizatori cumpletu è a descrizzione di i paràmetri sò in un HTML compilatu file in u cartulare "Documentazione".

Descrizzione di l'applicazione IOTA-Client

U prughjettu files per l'applicazione IOTA-Client pò esse truvata in: $BASE_DIR\Projects\B-L4S5IIOT01A\Applications\IOTA-Client.
Prughjetti pronti per custruisce sò dispunibuli per parechje IDE.
L'interfaccia d'utilizatore hè furnita via u portu seriale è deve esse cunfigurata cù i seguenti paràmetri:

Figura 3. Tera Term - Terminal setupX-CUBE-IOTA1 Expansion Software Package -- Configurazione di u portu seriale

Figura 4. Tera Term - Serial port setupX-CUBE-IOTA1 Expansion Software Package -- Configurazione di u terminal

Per eseguisce l'applicazione, seguitate a prucedura sottu.
Passu 1. Aprite un terminal seriale per visualizà u logu di i missaghji.
Passu 2. Inserite a vostra cunfigurazione di a rete Wi-Fi (SSID, Modu di sicurezza è password).
Passu 3. Impostate i certificati CA root TLS.
Passu 4. Copia è incollà u cuntenutu di Projects\B-L4S5I-IOT01A\Applications\IOTAClient\usertrust_thetangle.pem. U dispusitivu li usa per autentificà l'ospiti remoti attraversu TLS.

Nota: Dopu a cunfigurazione di i paràmetri, pudete cambià da riavvia u bordu è pressu u buttone User (buttone blu) in 5 seconde. Sta dati serà salvatu in a memoria Flash.

Figura 5. Paràmetri Wi-Fi

X-CUBE-IOTA1 Expansion Software Package -- Paràmetri di i paràmetri Wi-FiPassu 5. Aspettate u missaghju "Press ogni chjave per cuntinuà" per appare. A pantalla hè allora rinfriscata cù a lista di e funzioni principali:

  • Mandate un missaghju di indexazione generica
  • Mandate un missaghju di u sensoru di indexazione (cumpresu timestamp, temperatura è umidità)
  • Get equilibriu
  • Mandate a transazzione
  • Altre funzioni

Figura 6. Menu principale
X-CUBE-IOTA1 Expansion Software Package -- Menu principale

Passu 6. Sceglite l'opzione 3 per pruvà una di e seguenti funzioni:

Ottene infurmazione di u nodu Uttenite cunsiglii
Get output Outputs da l'indirizzu
Get equilibriu Errore di risposta
Get missaghju Mandate missaghju
Truvà missaghju Portafoglio di prova
Custruttore di missaghji Pruvate criptu

Figura 7. Altre funzioniX-CUBE-IOTA1 Expansion Software Package -Altre funzioni

LINK RELATI
Per più dettagli nantu à e funzioni IOTA 1.5, riferite à a documentazione IOTA C Client

Guida di installazione di u sistema

Descrizzione di hardware
STM32L4 + Discovery kit IoT node

U kit di scuperta B-L4S5I-IOT01A per u nodu IoT permette di sviluppà applicazioni per cunnette direttamente à i servitori di nuvola.
U kit Discovery permette una larga varietà di applicazioni sfruttendu a cumunicazione di bassa putenza, a sensazione multi-via è e funzioni di a serie STM4L32+ basate in core ARM®Cortex® -M4+.
Supporta a connettività Arduino Uno R3 è PMOD chì furnisce capacità di espansione illimitata cù una larga scelta di schede add-on dedicate.

Figura 8. Kit di scuperta B-L4S5I-IOT01APacchetto software di espansione X-CUBE-IOTA1 -- B-L4S5I-IOT01A Discovery ki

Configurazione di hardware

I seguenti cumpunenti hardware sò necessarii:

  1. un kit di scuperta STM32L4+ per node IoT equipatu cù interfaccia Wi-Fi (codice d'ordine: B-L4S5I-IOT01A)
  2. un USB type A à Mini-B USB Type B cable per cunnette a scheda di scuperta STM32 à u PC
Configurazione di u software

I seguenti cumpunenti di u software sò necessarii per stabilisce l'ambiente di sviluppu per creà applicazioni IOTA DLT per u B-L4S5I-IOT01A:

  • X-CUBE-IOTA1: u firmware è a documentazione ligata hè dispunibule nantu à st.com
  • Strumenta di sviluppu è compilatore: u software di espansione STM32Cube supporta i seguenti ambienti:
    - IAR Embedded Workbench for ARM ® (EWARM) Toolchain + ST-LINK/V2
    – VeruView Kit di sviluppu di microcontroller (MDK-ARM) Toolchain + ST-LINK/V2
    – STM32CubeIDE + ST-LINK/V2
Configurazione di u sistema

U B-L4S5I-IOT01A Discovery Board permette u sfruttamentu di e funzioni IOTA DLT. U bordu integra u debugger / programatore ST-LINK / V2-1. Pudete scaricà a versione pertinente di u driver USB ST-LINK/V2-1 in STSW-LINK009.

Storia di rivisione

Table 2. Storia di rivisione di documenti

Data Revisione Cambiamenti
13-ghjugnu-19 1 Liberazione iniziale
18-ghjugnu-19 2 Sezione aghjurnata 3.4.8.1 TX_IN è TX_OUT, Sezione 3.4.8.3 Mandatu di dati à u valore zero
transazzione è Section 3.4.8.4 Mandatu fondi attraversu transazzione trasferimentu.
6-maghju-21 3 Introduzione aghjurnata, Sezione 1 Acronimi è abbreviazioni, Sezione 2.1 Overview, Section 2.1.1 IOTA 1.0, Section 2.1.3 Proof-of-Work, Section 2.2 Architecture, Section 2.3 Struttura di cartella, Sezione 3.2 Configurazione di hardware, Sezione 3.3 Configurazione di software è Sezione 3.4 Configurazione di u sistema.
Eliminatu a Sezione 2 è rimpiazzata da un ligame in l'Introduzzione.
Eliminatu Sezione 3.1.2 Transazzioni è fasci, Sezione 3.1.3 Contu è firme, Sezione
3.1.5 Hashing. Sezione 3.4 Cumu scrive l'applicazioni è sottosezzioni rilativi, Sezione 3.5 Descrizzione di l'applicazione IOTALightNode è sottosezzioni cunnessi, è Sezione 4.1.1 STM32
A piattaforma Nucleo Added Section 2.1.2IOTA 1.5 - Chrysalis, Section 2.5 IOTA-Client application description, Section 2.4 API è Section 3.1.1 STM32L4+ Discovery kit IoT node.

 

AVVISU IMPURTANTE - LIGGI ATTENTU

STMicroelectronics NV è e so filiali ("ST") si riservanu u dirittu di fà cambiamenti, currezzione, migliuramenti, mudificazioni è migliuramenti à i prudutti ST è / o à stu documentu in ogni mumentu senza avvisu. L'acquirenti devenu uttene l'ultime informazioni pertinenti nantu à i prudutti ST prima di passà l'ordini. I prudutti ST sò venduti secondu i termini è e condizioni di vendita di ST in postu à u mumentu di a ricunniscenza di l'ordine.

L'acquirenti sò solu responsabili di a scelta, a selezzione è l'usu di i prudutti ST è ST ùn assume alcuna responsabilità per l'assistenza à l'applicazione o a cuncezzione di i prudutti di l'Acquirenti.
Nisuna licenza, espressa o implicita, à qualsiasi dirittu di pruprietà intellettuale hè cuncessa da ST quì.
A rivendita di i prudutti ST cù disposizioni diverse da l'infurmazioni stabilite quì annullerà ogni garanzia accordata da ST per tali pruduttu.
ST è u logo ST sò marchi di ST. Per infurmazioni supplementari nantu à i marchi ST, per piacè riferite à www.st.com/trademarks. Tutti l'altri prudutti o nomi di serviziu sò a pruprietà di i so rispettivi pruprietarii.
L'infurmazioni in stu documentu rimpiazzanu è rimpiazzanu l'infurmazioni furnite prima in qualsiasi versione precedente di stu documentu.
© 2021 STMicroelectronics - Tutti i diritti riservati

Documenti / Risorse

ST X-CUBE-IOTA1 Expansion Software Package per STM32Cube [pdfManuale d'usu
ST, X-CUBE-IOTA1, Expansion, Software Package, per, STM32Cube

Referenze

Lascia un cumentu

U vostru indirizzu email ùn serà micca publicatu. I campi obbligatori sò marcati *