Placă de expansiune ST X-NUCLEO-53L1A2 -- Configurații de întrerupere

UM2606
Manual de utilizare

Noțiuni introductive cu IOTA Distributed Ledger
Extindere software tehnologic pentru STM32Cube

Introducere

The X-CUBE-IOTA1 pachet software de extindere pentru STM32Cube rulează pe STM32 și include middleware pentru a activa funcțiile IOTA Distributed Ledger Technology (DLT).
IOTA DLT este un nivel de decontare a tranzacțiilor și transfer de date pentru Internetul lucrurilor (IoT). IOTA permite oamenilor și mașinilor să transfere bani și/sau date fără nicio taxă de tranzacție într-un mediu fără încredere, fără permisiune și descentralizat. Această tehnologie face chiar posibile microplăți fără a fi nevoie de un intermediar de încredere de orice fel. Extinderea este construită pe tehnologia software STM32Cube pentru a ușura portabilitatea între diferite microcontrolere STM32. Versiunea actuală a software-ului rulează pe B-L4S5I-IOT01A Kit de descoperire pentru nodul IoT și se conectează la Internet prin interfața Wi-Fi atașată.

LINK-URI CONFERENTE

Vizitați ecosistemul STM32Cube web pagina de pe www.st.com pentru mai multe informații
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

Acronime si abrevieri

Tabelul 1. Lista de acronime

Acronim Descriere
DLT Tehnologia registrului distribuit
IDE Mediu de dezvoltare integrat
IoT Internetul lucrurilor
PoW Dovada de lucru

Extensie software X-CUBE-IOTA1 pentru STM32Cube

Pesteview

The X-CUBE-IOTA1 pachetul software se extinde STM32Cube funcționalitate cu următoarele caracteristici cheie:

  • Firmware complet pentru a construi aplicații IOTA DLT pentru plăci bazate pe STM32
  • Biblioteci middleware care includ:
    – FreeRTOS
    – Managementul Wi-Fi
    – criptare, hashing, autentificare a mesajelor și semnare digitală (Cryptolib)
    - securitate la nivel de transport (MbedTLS)
    – IOTA Client API pentru interacțiunea cu Tangle
  • Driver complet pentru a construi aplicații care accesează senzorii de mișcare și de mediu
  • Exampfișiere pentru a ajuta la înțelegerea modului de dezvoltare a unei aplicații IOTA DLT Client
  • Portabilitate ușoară în diferite familii de MCU, datorită STM32Cube
  • Condiții de licență gratuite, ușor de utilizat

Extinderea software oferă middleware-ul pentru a activa IOTA DLT pe un microcontroler STM32. IOTA DLT este un nivel de decontare a tranzacțiilor și transfer de date pentru Internetul lucrurilor (IoT). IOTA permite oamenilor și mașinilor să transfere bani și/sau date fără nicio taxă de tranzacție într-un mediu fără încredere, fără permisiune și descentralizat. Această tehnologie face chiar posibile microplăți fără a fi nevoie de un intermediar de încredere de orice fel.

IOTA 1.0

Tehnologiile Distributed Ledger (DLT) sunt construite pe o rețea de noduri care menține un registru distribuit, care este o bază de date distribuită securizată criptografic pentru a înregistra tranzacțiile. Nodurile emit tranzacții printr-un protocol de consens.
IOTA este o tehnologie de contabilitate distribuită concepută special pentru IoT.
Registrul distribuit IOTA se numește încurcătură și este creat de tranzacțiile emise de nodurile din rețeaua IOTA.
Pentru a publica o tranzacție în încurcătură, un nod trebuie să:

  1. validați două tranzacții neaprobate numite ponturi
  2. creați și semnați noua tranzacție
  3. efectuează suficiente dovezi de lucru
  4. a difuzat noua tranzacție către rețeaua IOTA

Tranzacția este atașată de încurcătură împreună cu două referințe care indică tranzacțiile validate.
Această structură poate fi modelată ca un grafic aciclic direcționat, unde vârfurile reprezintă tranzacții individuale, iar marginile reprezintă referințe între perechi de tranzacții.
O tranzacție de geneză se află la rădăcina tangle și include toate jetoanele IOTA disponibile, numite iotas.
IOTA 1.0 folosește o abordare de implementare destul de neconvențională bazată pe reprezentarea trinară: fiecare element din IOTA este descris folosind trits = -1, 0, 1 în loc de biți și trits de 3 trits în loc de octeți. Un tryte este reprezentat ca un număr întreg de la -13 la 13, codificat folosind litere (AZ) și numărul 9.
IOTA 1.5 (Chrysalis) înlocuiește aspectul tranzacției trinare cu o structură binară.
Rețeaua IOTA include noduri și clienți. Un nod este conectat la colegii din rețea și stochează o copie a încurcăturii. Un client este un dispozitiv cu o sămânță care poate fi folosită pentru a crea adrese și semnături.
Clientul creează și semnează tranzacții și le trimite către nod pentru ca rețeaua să le valideze și să le stocheze. Tranzacțiile de retragere trebuie să conțină o semnătură validă. Când o tranzacție este considerată validă, nodul o adaugă în registrul său, actualizează soldurile adreselor afectate și difuzează tranzacția către vecinii săi.

IOTA 1.5 – Crisalidă

Obiectivul Fundației IOTA este de a optimiza rețeaua principală IOTA înainte de Coordicide și de a oferi o soluție pregătită pentru întreprindere pentru ecosistemul IOTA. Acest lucru se realizează printr-o actualizare intermediară numită Chrysalis. Principalele upgrade-uri introduse de Chrysalis sunt:

  • Adrese reutilizabile: adoptarea schemei de semnătură Ed25519, care înlocuiește schema de semnătură unică Winternitz (W-OTS), permite utilizatorilor să trimită în siguranță token-uri de la aceeași adresă de mai multe ori;
  • Gata cu pachetele: IOTA 1.0 folosește conceptul de pachete pentru a crea transferuri. Pachetele sunt un set de tranzacții legate între ele prin referința lor rădăcină (trunk). Odată cu actualizarea IOTA 1.5, vechea construcție a pachetului este eliminată și înlocuită cu tranzacțiile mai simple Atomic. Vârful Tangle este reprezentat de Mesaj, care este un fel de container care poate avea sarcini utile arbitrare (de exemplu, sarcină utilă Token sau încărcare utilă indexare);
  • Model UTXO: inițial, IOTA 1.0 a folosit un model bazat pe cont pentru urmărirea jetoanelor IOTA individuale: fiecare adresă IOTA deținea un număr de jetoane și numărul agregat de jetoane de la toate adresele IOTA era egal cu oferta totală. În schimb, IOTA 1.5 folosește modelul de ieșire a tranzacțiilor necheltuite, sau UTXO, bazat pe ideea de a urmări cantitățile necheltuite de jetoane printr-o structură de date numită output;
  • Până la 8 părinți: cu IOTA 1.0, trebuia întotdeauna să faceți referire la 2 tranzacții părinte. Cu Chrysalis, este introdus un număr mai mare de noduri părinte (până la 8). Pentru a obține cele mai bune rezultate, se recomandă cel puțin 2 părinți unici odată.

LINK-URI CONFERENTE
Pentru mai multe informații despre Chrysalis, vă rugăm să consultați această pagină de documentație

Dovada de lucru

Protocolul IOTA utilizează Proof-of-Work ca mijloc de limitare a ratei rețelei.
IOTA 1.0 a folosit Curl-P-81 funcția de hash trinar și a necesitat un hash cu numărul corespunzător de trituri zero în urmă pentru a emite o tranzacție către Tangle.
Cu Chrysalis, este posibil să emiti mesaje binare de dimensiuni arbitrare. Acest RFC descrie modul de adaptare a mecanismului PoW existent la noile cerințe. Acesta își propune să fie cât mai puțin perturbator posibil pentru mecanismul PoW actual.

Arhitectură

Această expansiune STM32Cube permite dezvoltarea de aplicații care accesează și utilizează middleware-ul IOTA DLT.
Se bazează pe stratul de abstractizare hardware STM32CubeHAL pentru microcontrolerul STM32 și extinde STM32Cube cu un pachet specific de suport pentru plăci (BSP) pentru placa de expansiune a microfonului și componente middleware pentru procesarea audio și comunicarea USB cu un computer.
Straturile software utilizate de software-ul aplicației pentru a accesa și utiliza placa de extindere a microfonului sunt:

  • Stratul STM32Cube HAL: oferă un set generic, multi-instanță de API-uri pentru a interacționa cu straturile superioare (aplicația, bibliotecile și stivele). Constă din API-uri generice și de extensie bazate pe o arhitectură comună care permite altor straturi, cum ar fi stratul middleware, să funcționeze fără configurații hardware specifice Microcontroller Unit (MCU). Această structură îmbunătățește reutilizarea codului de bibliotecă și garantează portabilitatea ușoară a dispozitivului.
  • Stratul Board Support Package (BSP): este un set de API-uri care oferă o interfață de programare pentru anumite periferice specifice plăcii (LED, buton utilizator etc.). Această interfață ajută, de asemenea, la identificarea versiunii specifice de placă și oferă suport pentru inițializarea perifericelor MCU necesare și citirea datelor.

Figura 1. Arhitectura software X-CUBE-IOTA1

Pachetul software de extindere X-CUBE-IOTA1 -- Extindere X-CUBE-IOTA1

Structura folderului

Figura 2. Structura folderului X-CUBE-IOTA1Pachetul software de extindere X-CUBE-IOTA1 -- structură de foldere

Următoarele foldere sunt incluse în pachetul software:

  • Documentare: conține un HTML compilat file generate din codul sursă și din documentația detaliată a componentelor software și a API-urilor
  • Șoferi: conține driverele HAL și driverele specifice plăcii pentru plăcile și platformele hardware acceptate, inclusiv cele pentru componentele de la bord și stratul de abstractizare hardware independent de furnizor CMSIS pentru seria de procesoare ARM® Cortex®-M
  • Middleware: conține biblioteci cu FreeRTOS; managementul Wi-Fi; criptare, hashing, autentificare a mesajelor și semnare digitală (Cryptolib); securitate la nivel de transport (MbedTLS); IOTA Client API pentru a interacționa cu Tangle
  • Proiecte: conţine exampfișiere pentru a vă ajuta să dezvoltați o aplicație IOTA DLT Client pentru platforma STM32 acceptată (B-L4S5I-IOT01A), cu trei medii de dezvoltare, IAR Embedded Workbench for ARM (EWARM), RealView Kit de dezvoltare pentru microcontroler (MDK-ARM) și STM32CubeIDE
API

Informațiile tehnice detaliate cu funcția completă API de utilizator și descrierea parametrilor sunt într-un HTML compilat file în folderul „Documentare”.

Descrierea aplicației IOTA-Client

Proiectul files pentru aplicația IOTA-Client pot fi găsite în: $BASE_DIR\Projects\B-L4S5IIOT01A\Applications\IOTA-Client.
Proiectele gata de construit sunt disponibile pentru mai multe IDE-uri.
Interfața cu utilizatorul este furnizată prin portul serial și trebuie configurată cu următoarele setări:

Figura 3. Tera Term – Configurarea terminaluluiPachetul software de extindere X-CUBE-IOTA1 -- Configurarea portului serial

Figura 4. Tera Term – Configurarea portului serialPachetul software de extindere X-CUBE-IOTA1 -- Configurarea terminalului

Pentru a rula aplicația, urmați procedura de mai jos.
Pasul 1. Deschideți un terminal serial pentru a vizualiza jurnalul de mesaje.
Pasul 2. Introduceți configurația rețelei Wi-Fi (SSID, Mod de securitate și parolă).
Pasul 3. Setați certificatele CA rădăcină TLS.
Pasul 4. Copiați și inserați conținutul Projects\B-L4S5I-IOT01A\Applications\IOTAClient\usertrust_thetangle.pem. Dispozitivul le folosește pentru a autentifica gazdele de la distanță prin TLS.

Nota: După configurarea parametrilor, îi puteți modifica repornind placa și apăsând butonul User (buton albastru) în 5 secunde. Aceste date vor fi salvate în memoria Flash.

Figura 5. Setările parametrilor Wi-Fi

Pachet software de extindere X-CUBE-IOTA1 -- Setări ale parametrilor Wi-FiPasul 5. Așteptați să apară mesajul „Apăsați orice tastă pentru a continua”. Ecranul este apoi reîmprospătat cu lista principalelor funcții:

  • Trimiteți un mesaj de indexare generică
  • Trimiteți un mesaj cu senzorul de indexare (inclusiv timetamp, temperatură și umiditate)
  • Obțineți echilibru
  • Trimite tranzacție
  • Alte funcții

Figura 6. Meniul principal
Pachet software de extindere X-CUBE-IOTA1 -- Meniu principal

Pasul 6. Alegeți opțiunea 3 pentru a testa una dintre următoarele funcții:

Obțineți informații despre nod Obțineți sfaturi
Obține rezultate Ieșiri de la adresa
Obțineți echilibru Eroare de răspuns
Primiți mesaj Trimite mesaj
Găsiți mesajul Testează portofelul
Generator de mesaje Testați cripto

Figura 7. Alte funcțiiPachetul software de extindere X-CUBE-IOTA1 - Alte funcții

LINK-URI CONFERENTE
Pentru mai multe detalii despre funcțiile IOTA 1.5, consultați documentația IOTA C Client

Ghid de configurare a sistemului

Descrierea hardware-ului
STM32L4+ Kit de descoperire nod IoT

Kitul de descoperire B-L4S5I-IOT01A pentru nodul IoT vă permite să dezvoltați aplicații pentru a vă conecta direct la serverele cloud.
Kit-ul Discovery permite o mare varietate de aplicații prin exploatarea comunicațiilor cu putere redusă, a detectarii în mai multe căi și a caracteristicilor din seria STM4L32+ bazate pe bază ARM®Cortex® -M4+.
Acceptă conectivitate Arduino Uno R3 și PMOD, oferind capacități de extindere nelimitate cu o gamă largă de plăci suplimentare dedicate.

Figura 8. Kit de descoperire B-L4S5I-IOT01APachetul software de extindere X-CUBE-IOTA1 -- B-L4S5I-IOT01A Discovery ki

Configurare hardware

Sunt necesare următoarele componente hardware:

  1. un kit de descoperire STM32L4+ pentru nod IoT echipat cu interfață Wi-Fi (cod de comandă: B-L4S5I-IOT01A)
  2. un cablu USB de tip A la Mini-B USB de tip B pentru a conecta placa de descoperire STM32 la computer
Configurare software

Următoarele componente software sunt necesare pentru a configura mediul de dezvoltare pentru crearea aplicațiilor IOTA DLT pentru B-L4S5I-IOT01A:

  • X-CUBE-IOTA1: firmware-ul și documentația aferentă sunt disponibile pe st.com
  • lanț de instrumente de dezvoltare și compilator: software-ul de extindere STM32Cube acceptă următoarele medii:
    – IAR Embedded Workbench for ARM ® (EWARM) toolchain + ST-LINK/V2
    – AdevăratView Set de instrumente pentru Microcontroller Development Kit (MDK-ARM) + ST-LINK/V2
    – STM32CubeIDE + ST-LINK/V2
Configurarea sistemului

Placa Discovery B-L4S5I-IOT01A permite exploatarea caracteristicilor IOTA DLT. Placa integrează depanatorul/programatorul ST-LINK/V2-1. Puteți descărca versiunea relevantă a driverului USB ST-LINK/V2-1 de la STSW-LINK009.

Istoricul reviziilor

Tabelul 2. Istoricul revizuirilor documentului

Data Revizuire Schimbări
13-Iun-19 1 Lansare inițială
18-Iun-19 2 Secțiunea actualizată 3.4.8.1 TX_IN și TX_OUT, secțiunea 3.4.8.3 Trimiterea datelor prin valoarea zero
tranzacții și Secțiunea 3.4.8.4 Trimiterea de fonduri prin tranzacții de transfer.
6-mai-21 3 Introducere actualizată, Secțiunea 1 Acronime și abrevieri, Secțiunea 2.1 Pesteview, Secțiunea 2.1.1 IOTA 1.0, Secțiunea 2.1.3 Dovada lucrării, Secțiunea 2.2 Arhitectură, Secțiunea 2.3 Structura folderelor, Secțiunea 3.2 Configurare hardware, Secțiune 3.3 Configurare software și Secțiune 3.4 Configurare sistem.
Eliminată Secțiunea 2 și înlocuită cu un link în Introducere.
Eliminată Secțiunea 3.1.2 Tranzacții și pachete, Secțiunea 3.1.3 Cont și semnături, Secțiune
3.1.5 Hashing. Secțiunea 3.4 Cum se scrie aplicații și sub-secțiunile aferente, Secțiunea 3.5 Descrierea aplicației IOTALightNode și sub-secțiunile aferente și Secțiunea 4.1.1 STM32
Platforma Nucleo S-a adăugat Secțiunea 2.1.2IOTA 1.5 – Chrysalis, Secțiunea 2.5 Descrierea aplicației IOTA-Client, Secțiunea 2.4 API și Secțiunea 3.1.1 STM32L4+ Kit de descoperire nod IoT.

 

AVIZ IMPORTANT - CITIȚI CU ATENȚIE

STMicroelectronics NV și filialele sale („ST”) își rezervă dreptul de a aduce modificări, corecții, îmbunătățiri, modificări și îmbunătățiri produselor ST și / sau prezentului document în orice moment, fără notificare prealabilă. Cumpărătorii ar trebui să obțină cele mai recente informații relevante despre produsele ST înainte de a plasa comenzi. Produsele ST sunt vândute în conformitate cu termenii și condițiile de vânzare ale ST, la momentul confirmării comenzii.

Cumpărătorii sunt singurii responsabili pentru alegerea, selecția și utilizarea produselor ST, iar ST nu își asumă nicio răspundere pentru asistența aplicării sau proiectarea produselor cumpărătorilor.
Nicio licență, expresă sau implicită, pentru niciun drept de proprietate intelectuală nu este acordată de către ST prin prezenta.
Revânzarea produselor ST cu prevederi diferite de informațiile prezentate aici va anula orice garanție acordată de ST pentru un astfel de produs.
ST și sigla ST sunt mărci comerciale ale ST. Pentru informații suplimentare despre mărcile comerciale ST, vă rugăm să consultați www.st.com/trademarks. Toate celelalte nume de produse sau servicii sunt proprietatea proprietarilor respectivi.
Informațiile din acest document înlocuiesc și înlocuiesc informațiile furnizate anterior în orice versiuni anterioare ale acestui document.
© 2021 STMicroelectronics – Toate drepturile rezervate

Documente/Resurse

Pachetul software de extindere ST X-CUBE-IOTA1 pentru STM32Cube [pdfManual de utilizare
ST, X-CUBE-IOTA1, extindere, pachet software, pentru, STM32Cube

Referințe

Lasă un comentariu

Adresa ta de e-mail nu va fi publicată. Câmpurile obligatorii sunt marcate *