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:
- validar dues transaccions no aprovades anomenades consells
- crear i signar la nova transacció
- realitzar prou prova de treball
- 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
Estructura de carpetes
Figura 2. Estructura de carpetes X-CUBE-IOTA1
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 terminal
Figura 4. Tera Term – Configuració del port sèrie
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
Pas 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
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 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-IOT01A
Configuració del maquinari
Es necessiten els següents components de maquinari:
- un kit de descoberta STM32L4+ per al node IoT equipat amb interfície Wi-Fi (codi de comanda: B-L4S5I-IOT01A)
- 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 |