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:
- cunvalidà dui transazzioni micca appruvati chjamati cunsiglii
- crià è firmà a nova transazzione
- eseguisce abbastanza Proof-of-Work
- 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
Struttura di cartulare
Figura 2. Struttura di cartulare X-CUBE-IOTA1
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 setup
Figura 4. Tera Term - Serial port setup
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
Passu 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
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 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-IOT01A
Configurazione di hardware
I seguenti cumpunenti hardware sò necessarii:
- un kit di scuperta STM32L4+ per node IoT equipatu cù interfaccia Wi-Fi (codice d'ordine: B-L4S5I-IOT01A)
- 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 |