UM2606
Упатство за употреба
Започнуваме со IOTA дистрибуирана книга
Проширување на технолошки софтвер за STM32Cube
Вовед
На 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. Список на акроними
Акроним | Опис |
ДЛТ | Технологија на дистрибуирана книга |
IDE | Интегрирана развојна средина |
IoT | Интернет на нештата |
PoW | Доказ за работа |
Проширување на софтверот X-CUBE-IOTA1 за STM32Cube
Во текот наview
На 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
Дистрибуираните Леџерски технологии (ДЛТ) се изградени на јазли мрежа која одржува дистрибуирана книга, која е криптографски обезбедена, дистрибуирана база на податоци за евиденција на трансакции. Јазлите издаваат трансакции преку протокол за консензус.
IOTA е технологија за дистрибуирана книга специјално дизајнирана за IoT.
Дистрибуираната книга на IOTA се нарекува заплет и се создава од трансакциите издадени од јазлите во мрежата IOTA.
За да објави трансакција во заплетот, јазолот треба:
- потврди две неодобрени трансакции наречени совети
- креирајте и потпишете ја новата трансакција
- изврши доволно Доказ за работа
- ја емитува новата трансакција на мрежата IOTA
Трансакцијата е прикачена на заплетот заедно со две референци што укажуваат на потврдените трансакции.
Оваа структура може да се моделира како насочен ацикличен график, каде темињата претставуваат единечни трансакции, а рабовите претставуваат референци меѓу паровите трансакции.
Трансакцијата на генезата е во коренот на заплетот и ги вклучува сите достапни IOTA токени, наречени јота.
IOTA 1.0 користи прилично неконвенционален пристап за имплементација заснован на тројно претставување: секој елемент во IOTA е опишан со користење на trits = -1, 0, 1 наместо битови и trytes од 3 trits наместо бајти. Tryte е претставен како цел број од -13 до 13, кодиран со помош на букви (AZ) и број 9.
IOTA 1.5 (Chrysalis) го заменува распоредот на тринарната трансакција со бинарна структура.
Мрежата IOTA вклучува јазли и клиенти. Јазол е поврзан со врсници во мрежата и складира копија од замрсеноста. Клиент е уред со семе што треба да се користи за креирање адреси и потписи.
Клиентот создава и потпишува трансакции и ги испраќа до јазолот за да може мрежата да ги потврди и складира. Трансакциите за повлекување мора да содржат валиден потпис. Кога трансакцијата се смета за валидна, јазолот ја додава во својата книга, ги ажурира салдата на засегнатите адреси и ја емитува трансакцијата до своите соседи.
ИОТА 1.5 - Хризалис
Целта на Фондацијата IOTA е да ја оптимизира главната мрежа на IOTA пред Coordicide и да понуди решение подготвено за претпријатието за екосистемот IOTA. Ова се постигнува со средно ажурирање наречено Chrysalis. Главните надградби воведени од Chrysalis се:
- Адреси за повеќекратна употреба: усвојувањето на шемата за потпис Ed25519, заменувајќи ја Winternitz шемата за еднократен потпис (W-OTS), им овозможува на корисниците безбедно да испраќаат токени од истата адреса неколку пати;
- Нема повеќе пакети: IOTA 1.0 го користи концептот на пакети за да креира трансфери. Пакетите се збир на трансакции поврзани заедно со нивната коренска референца (багажникот). Со ажурирањето на IOTA 1.5, старата конструкција на пакетот е отстранета и заменета со поедноставните трансакции на Atomic. Темето Tangle е претставено со Message што е еден вид контејнер што може да има произволни носивост (т.е. товар на токен или товар за индексирање);
- 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
- Проекти: содржи прamples да ви помогне да развиете апликација IOTA DLT Client за поддржана платформа базирана на STM32 (B-L4S5I-IOT01A), со три развојни околини, IAR Embedded Workbench for ARM (EWARM), RealView Комплет за развој на микроконтролер (MDK-ARM) и STM32CubeIDE
API
Детални технички информации со целосна корисничка API функција и опис на параметрите се во компајлиран HTML file во папката „Документација“.
Опис на апликацијата IOTA-клиент
Проектот files за апликацијата IOTA-Client може да се најдат во: $BASE_DIR\Projects\B-L4S5IIOT01A\Applications\IOTA-Client.
Подготвени за изградба проекти се достапни за повеќе IDE.
Корисничкиот интерфејс е обезбеден преку сериска порта и мора да биде конфигуриран со следните поставки:
Слика 3. Термин Тера – Поставување на терминал
Слика 4. Термин Тера – Поставување на сериска порта
За да ја извршите апликацијата, следете ја постапката подолу.
Чекор 1. Отворете сериски терминал за да го визуелизирате дневникот на пораки.
Чекор 2. Внесете ја конфигурацијата на вашата Wi-Fi мрежа (SSID, безбедносен режим и лозинка).
Чекор 3. Поставете ги TLS root CA сертификатите.
Чекор 4. Копирајте ја и залепете ја содржината на Projects\B-L4S5I-IOT01A\Applications\IOTAClient\usertrust_thetangle.pem. Уредот ги користи за автентичност на оддалечените хостови преку TLS.
Забелешка: Откако ќе ги конфигурирате параметрите, можете да ги промените со рестартирање на плочката и притискање на копчето Корисник (сино копче) во рок од 5 секунди. Овие податоци ќе се зачуваат во Flash меморијата.
Слика 5. Поставки за параметрите на Wi-Fi
Чекор 5. Почекајте да се појави пораката „Притиснете кое било копче за да продолжите“. Екранот потоа се освежува со списокот на главните функции:
- Испратете генеричка порака за индексирање
- Испратете порака со сензорот за индексирање (вклучувајќи го времетоamp, температура и влажност)
- Добијте рамнотежа
- Испрати трансакција
- Други функции
Слика 6. Главно мени
Чекор 6. Изберете опција 3 за да тестирате една од следниве функции:
Добијте информации за јазолот | Добијте совети |
Добијте излез | Излези од адресата |
Добијте рамнотежа | Грешка во одговорот |
Добијте порака | Испрати порака |
Најдете порака | Тест паричник |
Градител на пораки | Тестирајте крипто |
Слика 7. Други функции
ПОВРЗАНИ ЛИНКИ
За повеќе детали за функциите на IOTA 1.5, погледнете ја документацијата за клиентот IOTA C
Водич за поставување на системот
Опис на хардверот
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-тип А до Мини-Б-кабел USB-тип Б за поврзување на таблата за откривање STM32 со компјутерот
Поставување софтвер
Следниве софтверски компоненти се потребни за да се постави развојната средина за создавање апликации IOTA DLT за B-L4S5I-IOT01A:
- X-CUBE-IOTA1: фирмверот и поврзаната документација се достапни на st.com
- синџир на алатки за развој и компајлер: софтверот за проширување STM32Cube ги поддржува следните средини:
– IAR Embedded Workbench for 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 дебагерот/програмерот. Можете да ја преземете соодветната верзија на двигателот за USB ST-LINK/V2-1 на 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-клиент, Дел 2.4 API и Дел 3.1.1 STM32L4+ комплет за откривање IoT јазол. |
ВАORTНО ИЗВЕСТУВА --Е - ВЕ СЛЕДНО ПРОЧИТАЈТЕ ВНИМАВАЕ
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 |