UM2606
Ръководство за употреба
Първи стъпки с разпределената книга на IOTA
Технологично софтуерно разширение за STM32Cube
Въведение
The X-CUBE-IOTA1 софтуерен пакет за разширяване за STM32Cube работи на STM32 и включва междинен софтуер за активиране на функциите на IOTA Distributed Ledger Technology (DLT).
IOTA DLT е слой за сетълмент на транзакции и трансфер на данни за Интернет на нещата (IoT). IOTA позволява на хората и машините да прехвърлят пари и/или данни без никакви такси за транзакции в безнадеждна, без разрешение и децентрализирана среда. Тази технология дори прави възможни микроплащания без нужда от доверен посредник от какъвто и да е вид. Разширението е изградено на базата на софтуерна технология STM32Cube за улесняване на преносимост между различни STM32 микроконтролери. Текущата версия на софтуера работи на B-L4S5I-IOT01A Комплект за откриване за IoT възел и се свързва с интернет чрез прикачения Wi-Fi интерфейс.
СВЪРЗАНИ ВРЪЗКИ
Посетете екосистемата STM32Cube web страница на www.st.com за допълнителна информация
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
Акроними и съкращения
Таблица 1. Списък на акроними
акроним | Описание |
DLT | Технология на разпределената книга |
IDE | Интегрирана среда за разработка |
IoT | Интернет на нещата |
PoW | Доказателство за работа |
X-CUBE-IOTA1 софтуерно разширение за STM32Cube
крайview
The X-CUBE-IOTA1 софтуерен пакет се разширява STM32Cube функционалност със следните основни характеристики:
- Пълен фърмуер за изграждане на IOTA DLT приложения за платки, базирани на STM32
- Мидълуерни библиотеки, включващи:
– FreeRTOS
– Wi-Fi управление
– криптиране, хеширане, удостоверяване на съобщението и цифрово подписване (Cryptolib)
– сигурност на транспортно ниво (MbedTLS)
– IOTA Client API за взаимодействие с Tangle - Пълен драйвер за създаване на приложения с достъп до сензори за движение и околната среда
- Examples, за да разберете как да разработите клиентско приложение на IOTA DLT
- Лесна преносимост между различни семейства MCU, благодарение на STM32Cube
- Безплатни, удобни за потребителя лицензионни условия
Софтуерното разширение предоставя междинен софтуер за активиране на IOTA DLT на микроконтролер STM32. IOTA DLT е слой за сетълмент на транзакции и трансфер на данни за Интернет на нещата (IoT). IOTA позволява на хората и машините да прехвърлят пари и/или данни без никакви такси за транзакции в безнадеждна, без разрешение и децентрализирана среда. Тази технология дори прави възможни микроплащания без нужда от доверен посредник от какъвто и да е вид.
IOTA 1.0
Технологиите за разпределен регистър (DLT) са изградени върху мрежа от възли, която поддържа разпределен регистър, който е криптографски защитена, разпределена база данни за записване на транзакции. Възлите издават транзакции чрез протокол за консенсус.
IOTA е технология за разпределен регистър, специално проектирана за IoT.
IOTA разпределеният регистър се нарича заплитане и се създава от транзакциите, издадени от възлите в мрежата IOTA.
За да публикува транзакция в плетеницата, възелът трябва:
- валидиране на две неодобрени транзакции, наречени съвети
- създайте и подпишете новата транзакция
- извършете достатъчно Доказателство за работа
- излъчване на новата транзакция към мрежата IOTA
Транзакцията е прикрепена към плетеницата заедно с две препратки, сочещи валидираните транзакции.
Тази структура може да бъде моделирана като насочен ацикличен график, където върховете представляват единични транзакции, а ръбовете представляват препратки между двойки транзакции.
Генезисната транзакция е в корена на заплитане и включва всички налични IOTA токени, наречени iota.
IOTA 1.0 използва доста нетрадиционен подход за изпълнение, базиран на тринарно представяне: всеки елемент в IOTA е описан с помощта на trits = -1, 0, 1 вместо битове и trytes от 3 trits вместо байтове. Една тройка е представена като цяло число от -13 до 13, кодирано с помощта на букви (AZ) и число 9.
IOTA 1.5 (Chrysalis) заменя оформлението на тринарните транзакции с двоична структура.
Мрежата IOTA включва възли и клиенти. Възел е свързан с партньори в мрежата и съхранява копие на плетеницата. Клиентът е устройство със семена, което се използва за създаване на адреси и подписи.
Клиентът създава и подписва транзакции и ги изпраща до възела, така че мрежата да може да ги валидира и съхранява. Транзакциите за теглене трябва да съдържат валиден подпис. Когато дадена транзакция се счита за валидна, възелът я добавя към своята книга, актуализира баланса на засегнатите адреси и излъчва транзакцията на своите съседи.
IOTA 1.5 – Chrysalis
Целта на IOTA Foundation е да оптимизира основната мрежа на IOTA преди Coordicide и да предложи готово за предприятие решение за екосистемата на IOTA. Това се постига чрез междинна актуализация, наречена Chrysalis. Основните подобрения, въведени от Chrysalis, са:
- Адреси за многократна употреба: приемането на схемата за подпис Ed25519, заменяща схемата за еднократен подпис на Winternitz (W-OTS), позволява на потребителите безопасно да изпращат токени от един и същи адрес няколко пъти;
- Без повече пакети: IOTA 1.0 използва концепцията за пакети за създаване на трансфери. Пакетите са набор от транзакции, свързани помежду си чрез тяхната основна препратка (транк). С актуализацията на IOTA 1.5 старата конструкция на пакета е премахната и заменена от по-простите Atomic транзакции. Връхът на Tangle е представен от съобщението, което е вид контейнер, който може да има произволни полезни натоварвания (т.е. полезен товар на токен или полезен товар за индексиране);
- UTXO модел: първоначално IOTA 1.0 използва модел, базиран на акаунт, за проследяване на отделни IOTA токени: всеки IOTA адрес съдържа определен брой токени и общият брой токени от всички IOTA адреси е равен на общото предлагане. Вместо това, IOTA 1.5 използва модела за изход на неизразходвана транзакция или UTXO, базиран на идеята за проследяване на неизразходвани количества токени чрез структура от данни, наречена изход;
- До 8 родители: с IOTA 1.0 винаги трябваше да се позовавате на 2 родителски транзакции. С Chrysalis се въвежда по-голям брой реферирани родителски възли (до 8). За да получите най-добри резултати, се препоръчват поне 2 уникални родители наведнъж.
СВЪРЗАНИ ВРЪЗКИ
За повече информация относно Chrysalis, моля, вижте тази страница с документация
Доказателство за работа
Протоколът IOTA използва Proof-of-Work като средство за ограничаване на скоростта на мрежата.
IOTA 1.0 използва Curl-P-81 тринарна хеш функция и изисква хеш със съвпадащия брой последващи нулеви тритове, за да издаде транзакция на Tangle.
С Chrysalis е възможно да се издават двоични съобщения с произволен размер. Този RFC описва как да адаптирате съществуващия PoW механизъм към новите изисквания. Той има за цел да бъде възможно най-малко разрушителен за сегашния механизъм на PoW.
Архитектура
Това разширение STM32Cube позволява разработването на приложения, които имат достъп и използват междинния софтуер IOTA DLT.
Той се основава на хардуерния абстракционен слой STM32CubeHAL за микроконтролера STM32 и разширява STM32Cube със специфичен пакет за поддръжка на платка (BSP) за платката за разширение на микрофона и компоненти за междинен софтуер за аудио обработка и USB комуникация с компютър.
Софтуерните слоеве, използвани от приложния софтуер за достъп и използване на платката за разширение на микрофона, са:
- STM32Cube HAL слой: предоставя общ набор от API за няколко екземпляра за взаимодействие с горните слоеве (приложението, библиотеките и стекове). Състои се от общи и разширения API, базирани на обща архитектура, която позволява на други слоеве като междинния слой да функционират без специфични хардуерни конфигурации на микроконтролерния модул (MCU). Тази структура подобрява повторното използване на кода на библиотеката и гарантира лесна преносимост на устройството.
- Слоят на пакета за поддръжка на платка (BSP): е набор от API, който предоставя програмен интерфейс за определени периферни устройства, специфични за платката (LED, потребителски бутон и т.н.). Този интерфейс също помага при идентифицирането на конкретната версия на платката и осигурява поддръжка за инициализиране на необходимите периферни устройства на MCU и четене на данни.
Фигура 1. Софтуерна архитектура X-CUBE-IOTA1
Структура на папките
Фигура 2. Структура на папките X-CUBE-IOTA1
Следните папки са включени в софтуерния пакет:
- Документация: съдържа компилиран HTML file генерирани от изходния код и подробната документация на софтуерните компоненти и API
- Драйвери: съдържа HAL драйверите и специфичните за платката драйвери за поддържани платки и хардуерни платформи, включително тези за вградените компоненти и CMSIS независимия хардуерен абстракционен слой за серията процесори ARM® Cortex®-M
- Мидлен софтуер: съдържа библиотеки, включващи FreeRTOS; Wi-Fi управление; криптиране, хеширане, удостоверяване на съобщения и цифрово подписване (Cryptolib); сигурност на транспортно ниво (MbedTLS); IOTA Client API за взаимодействие с Tangle
- проекти: съдържа examples, за да ви помогне да разработите IOTA DLT Client приложение за поддържаната платформа, базирана на STM32 (B-L4S5I-IOT01A), с три среди за разработка, IAR Embedded Workbench за ARM (EWARM), RealView Комплект за разработка на микроконтролери (MDK-ARM) и STM32CubeIDE
API
Подробна техническа информация с пълна потребителска API функция и описание на параметрите са в компилиран HTML file в папка „Документация“.
Описание на приложението IOTA-Client
Проектът files за приложението IOTA-Client можете да намерите в: $BASE_DIR\Projects\B-L4S5IIOT01A\Applications\IOTA-Client.
Готовите за изграждане проекти са налични за множество IDE.
Потребителският интерфейс се предоставя чрез сериен порт и трябва да бъде конфигуриран със следните настройки:
Фигура 3. Tera Term – Настройка на терминала
Фигура 4. Tera Term – Настройка на сериен порт
За да стартирате приложението, следвайте процедурата по-долу.
Стъпка 1. Отворете сериен терминал, за да визуализирате дневника на съобщенията.
Стъпка 2. Въведете конфигурацията на вашата Wi-Fi мрежа (SSID, режим на защита и парола).
Стъпка 3. Задайте TLS сертификатите за основния CA.
Стъпка 4. Копирайте и поставете съдържанието на Projects\B-L4S5I-IOT01A\Applications\IOTAClient\usertrust_thetangle.pem. Устройството ги използва за удостоверяване на отдалечените хостове чрез TLS.
Забележка: След като конфигурирате параметрите, можете да ги промените, като рестартирате платката и натиснете потребителския бутон (син бутон) в рамките на 5 секунди. Тези данни ще бъдат запазени във флаш паметта.
Фигура 5. Настройки на параметрите на Wi-Fi
Стъпка 5. Изчакайте да се появи съобщението „Натиснете произволен клавиш, за да продължите“. След това екранът се обновява със списъка с основните функции:
- Изпратете общо съобщение за индексиране
- Изпратете съобщение на сензора за индексация (включително timestamp, температура и влажност)
- Вземете баланс
- Изпращане на транзакция
- Други функции
Фигура 6. Главно меню
Стъпка 6. Изберете опция 3, за да тествате една от следните функции:
Вземете информация за възела | Вземете съвети |
Вземете изход | Изходи от адрес |
Вземете баланс | Грешка в отговора |
Вземете съобщение | Изпратете съобщение |
Намерете съобщение | Тествайте портфейла |
Създател на съобщения | Тествайте криптовалута |
Фигура 7. Други функции
СВЪРЗАНИ ВРЪЗКИ
За повече подробности относно функциите на IOTA 1.5 вижте документацията на IOTA C Client
Ръководство за настройка на системата
Описание на хардуера
STM32L4+ IoT възел за комплект за откриване
Комплектът B-L4S5I-IOT01A Discovery за IoT възел ви позволява да разработвате приложения за директно свързване към облачни сървъри.
Комплектът Discovery дава възможност за голямо разнообразие от приложения чрез използване на комуникация с ниска мощност, многопосочно отчитане и базирани на ядро STM4L32+ характеристики на ARM®Cortex® -M4+.
Той поддържа Arduino Uno R3 и PMOD свързаност, осигурявайки неограничени възможности за разширение с голям избор от специални допълнителни платки.
Фигура 8. B-L4S5I-IOT01A Комплект за откриване
Хардуерна настройка
Необходими са следните хардуерни компоненти:
- един комплект STM32L4+ Discovery за IoT възел, оборудван с Wi-Fi интерфейс (код за поръчка: B-L4S5I-IOT01A)
- USB кабел тип A към Mini-B USB тип B за свързване на платката за откриване STM32 към компютъра
Настройка на софтуера
Следните софтуерни компоненти са необходими за настройка на средата за разработка за създаване на IOTA DLT приложения за B-L4S5I-IOT01A:
- X-CUBE-IOTA1: фърмуерът и свързаната документация са достъпни на st.com
- Верига от инструменти за разработка и компилатор: софтуерът за разширение STM32Cube поддържа следните среди:
– IAR Embedded Workbench за верига от инструменти ARM® (EWARM) + ST-LINK/V2
– ИстинскиView Набор от инструменти за разработка на микроконтролер (MDK-ARM) + ST-LINK/V2
– STM32CubeIDE + ST-LINK/V2
Настройка на системата
Платката B-L4S5I-IOT01A Discovery позволява използването на функциите на IOTA DLT. Платката интегрира ST-LINK/V2-1 дебъгер/програматор. Можете да изтеглите съответната версия на ST-LINK/V2-1 USB драйвера от STSW-LINK009.
История на ревизиите
Таблица 2. История на ревизиите на документа
Дата | Ревизия | Промени |
13-юни-19 | 1 | Първоначално издание |
18-юни-19 | 2 | Актуализиран раздел 3.4.8.1 TX_IN и TX_OUT, раздел 3.4.8.3 Изпращане на данни чрез нулева стойност транзакции и Раздел 3.4.8.4 Изпращане на средства чрез трансферни транзакции. |
6 май 21 г | 3 | Актуализирано въведение, раздел 1 Акроними и съкращения, раздел 2.1 надview, Раздел 2.1.1 IOTA 1.0, Раздел 2.1.3 Доказателство за работа, Раздел 2.2 Архитектура, Раздел 2.3 Структура на папките, Раздел 3.2 Настройка на хардуер, Раздел 3.3 Настройка на софтуер и Раздел 3.4 Настройка на системата. Премахнат раздел 2 и заменен с връзка във въведението. Премахнат Раздел 3.1.2 Транзакции и пакети, Раздел 3.1.3 Сметка и подписи, Раздел 3.1.5 Хеширане. Раздел 3.4 Как да пишете приложения и свързани подраздели, Раздел 3.5 Описание на приложението IOTALightNode и свързани подраздели и Раздел 4.1.1 STM32 Добавена платформа Nucleo Раздел 2.1.2IOTA 1.5 – Chrysalis, Раздел 2.5 Описание на приложението IOTA-Client, Раздел 2.4 API и Раздел 3.1.1 STM32L4+ Комплект за откриване IoT възел. |
ВАЖНО БЕЛЕЖКА - МОЛЯ, ПРОЧЕТЕТЕ ВНИМАТЕЛНО
STMicroelectronics NV и нейните дъщерни дружества („ST“) си запазват правото да правят промени, корекции, подобрения, модификации и подобрения на продуктите ST и / или на този документ по всяко време без предизвестие. Купувачите трябва да получат най-актуалната информация за продуктите ST преди да правят поръчки. Продуктите на ST се продават съгласно условията на продажбата на ST, които са налични към момента на потвърждаване на поръчката.
Купувачите са единствено отговорни за избора, избора и използването на продуктите на ST и ST не поема никаква отговорност за съдействие при кандидатстване или дизайна на продуктите на купувачите.
Никакъв лиценз, изричен или подразбиращ се, за права върху интелектуална собственост не се предоставя от ST тук.
Препродажбата на продукти на ST с условия, различни от информацията, посочена тук, анулира всяка гаранция, предоставена от ST за такъв продукт.
ST и логото на ST са търговски марки на ST. За допълнителна информация относно търговските марки ST, моля, вижте www.st.com/trademarks. Всички други имена на продукти или услуги са собственост на съответните им собственици.
Информацията в този документ отменя и заменя информацията, предоставена преди това в предишни версии на този документ.
© 2021 STMicroelectronics – Всички права запазени
Документи / Ресурси
![]() |
ST X-CUBE-IOTA1 Разширителен софтуерен пакет за STM32Cube [pdf] Ръководство за потребителя ST, X-CUBE-IOTA1, разширение, софтуерен пакет, за, STM32Cube |