Плата розширення ST X-NUCLEO-53L1A2 -- Конфігурації переривань

UM2606
Посібник користувача

Початок роботи з розподіленою книгою IOTA
Розширення технології програмного забезпечення для STM32Cube

вступ

The X-CUBE-IOTA1 пакет програм розширення для STM32Cube працює на STM32 і включає проміжне програмне забезпечення для увімкнення функцій IOTA Distributed Ledger Technology (DLT).
IOTA DLT — це рівень розрахунків і передачі даних для Інтернету речей (IoT). IOTA дозволяє людям і машинам передавати гроші та/або дані без комісій за транзакції в ненадійному, децентралізованому середовищі без дозволів. Ця технологія навіть робить можливими мікроплатежі без необхідності будь-якого довіреного посередника. Розширення побудовано на програмній технології STM32Cube, щоб полегшити переносимість між різними мікроконтролерами STM32. Поточна версія програмного забезпечення працює на B-L4S5I-IOT01A Комплект Discovery для вузла 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)
    – Клієнтський API IOTA для взаємодії з Tangle
  • Повний драйвер для створення програм, які мають доступ до датчиків руху та навколишнього середовища
  • Examples, щоб допомогти зрозуміти, як розробити клієнтську програму IOTA DLT
  • Завдяки STM32Cube легко переноситься між різними сімействами MCU
  • Безкоштовні, зручні умови ліцензії

Розширення програмного забезпечення надає проміжне програмне забезпечення для ввімкнення IOTA DLT на мікроконтролері STM32. IOTA DLT — це рівень розрахунків і передачі даних для Інтернету речей (IoT). IOTA дозволяє людям і машинам передавати гроші та/або дані без комісій за транзакції в ненадійному, децентралізованому середовищі без дозволів. Ця технологія навіть робить можливими мікроплатежі без необхідності будь-якого довіреного посередника.

IOTA 1.0

Технології розподіленої книги (DLT) побудовані на мережі вузлів, яка підтримує розподілений реєстр, який є криптографічно захищеною розподіленою базою даних для запису транзакцій. Вузли видають транзакції через протокол консенсусу.
IOTA — це технологія розподіленої книги, спеціально розроблена для IoT.
Розподілений реєстр IOTA називається клубком і створюється за допомогою транзакцій, виданих вузлами мережі IOTA.
Щоб опублікувати транзакцію в клубку, вузол повинен:

  1. підтвердити дві несанкціоновані транзакції, які називаються підказками
  2. створити та підписати нову транзакцію
  3. виконати достатнє підтвердження роботи
  4. транслювати нову транзакцію в мережу 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 – Кризаліс

Метою 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, який надає інтерфейс програмування для певних периферійних пристроїв платі (світлодіод, кнопка користувача тощо). Цей інтерфейс також допомагає визначити конкретну версію плати та надає підтримку для ініціалізації необхідних периферійних пристроїв MCU та зчитування даних.

Рисунок 1. Архітектура програмного забезпечення X-CUBE-IOTA1

Пакет програмного забезпечення розширення X-CUBE-IOTA1 -- розширення X-CUBE-IOTA1

Структура папки

Малюнок 2. Структура папок X-CUBE-IOTA1Пакет програм розширення X-CUBE-IOTA1 -- структура папок

У пакет програмного забезпечення входять такі папки:

  • Документація: містить скомпільований HTML file генерується з вихідного коду та детальної документації компонентів програмного забезпечення та API
  • Драйвери: містить драйвери HAL і драйвери, специфічні для плати для підтримуваних плат і апаратних платформ, включаючи драйвери для вбудованих компонентів і незалежний від виробника рівень апаратної абстракції CMSIS для серії процесорів ARM® Cortex®-M
  • Середнє програмне забезпечення: містить бібліотеки з FreeRTOS; управління Wi-Fi; шифрування, хешування, аутентифікація повідомлень і цифрове підписання (Cryptolib); безпека транспортного рівня (MbedTLS); Клієнтський API IOTA для взаємодії з Tangle
  • проекти: містить впрamples, щоб допомогти вам розробити клієнтську програму IOTA DLT для підтримуваної платформи на основі 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 – налаштування терміналуПакет програмного забезпечення розширення X-CUBE-IOTA1 -- Налаштування послідовного порту

Малюнок 4. Tera Term – налаштування послідовного портуПакет програмного забезпечення розширення X-CUBE-IOTA1 -- Налаштування терміналу

Щоб запустити програму, виконайте наведену нижче процедуру.
Крок 1. Відкрийте послідовний термінал для візуалізації журналу повідомлень.
Крок 2. Введіть конфігурацію мережі Wi-Fi (SSID, режим безпеки та пароль).
Крок 3. Встановіть сертифікати кореневого ЦС TLS.
Крок 4. Скопіюйте та вставте вміст Projects\B-L4S5I-IOT01A\Applications\IOTAClient\usertrust_thetangle.pem. Пристрій використовує їх для автентифікації віддалених хостів через TLS.

Примітка: Після налаштування параметрів ви можете змінити їх, перезавантаживши плату та натиснувши кнопку користувача (синя кнопка) протягом 5 секунд. Ці дані будуть збережені у флеш-пам'яті.

Рисунок 5. Налаштування параметрів Wi-Fi

Пакет програм розширення X-CUBE-IOTA1 -- налаштування параметрів Wi-FiКрок 5. Зачекайте, поки з’явиться повідомлення «Натисніть будь-яку клавішу, щоб продовжити». Після цього екран оновиться зі списком основних функцій:

  • Надішліть загальне повідомлення про індексацію
  • Надішліть повідомлення датчика індексації (включаючи часamp, температура та вологість)
  • Отримайте баланс
  • Надіслати транзакцію
  • Інші функції

Малюнок 6. Головне меню
Пакет програм розширення X-CUBE-IOTA1 -- Головне меню

Крок 6. Виберіть варіант 3, щоб перевірити одну з таких функцій:

Отримати інформацію про вузол Отримуйте поради
Отримати вихід Виходи з адреси
Отримайте баланс Помилка відповіді
Отримати повідомлення Надіслати повідомлення
Знайти повідомлення Тестовий гаманець
Конструктор повідомлень Тестувати криптовалюту

Малюнок 7. Інші функціїПакет програмного забезпечення розширення X-CUBE-IOTA1 - Інші функції

ПОВ’ЯЗАНІ ПОСИЛАННЯ
Додаткову інформацію про функції IOTA 1.5 див. у документації клієнта IOTA C

Посібник із налаштування системи

Опис обладнання
STM32L4+ Вузол IoT Kit Discovery

Комплект B-L4S5I-IOT01A Discovery для вузла IoT дозволяє розробляти програми для безпосереднього підключення до хмарних серверів.
Комплект Discovery забезпечує широкий спектр застосувань, використовуючи функції зв’язку з низьким енергоспоживанням, багатостороннє зондування та функції серії STM4L32+ на основі ядра ARM®Cortex® -M4+.
Він підтримує підключення Arduino Uno R3 і PMOD, забезпечуючи необмежені можливості розширення за допомогою великого вибору спеціальних додаткових плат.

Малюнок 8. Комплект для виявлення B-L4S5I-IOT01AПакет програмного забезпечення розширення X-CUBE-IOTA1 -- B-L4S5I-IOT01A Discovery ki

Налаштування апаратного забезпечення

Необхідні наступні апаратні компоненти:

  1. один комплект STM32L4+ Discovery для вузла IoT, оснащеного інтерфейсом Wi-Fi (код замовлення: B-L4S5I-IOT01A)
  2. кабель 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
Налаштування системи

Плата Discovery B-L4S5I-IOT01A дозволяє використовувати функції 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.1view, Розділ 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 Kit Discovery kit.

 

ВАЖЛИВА ПРИМІТКА - БУДЬ ЛАСКА, ЧИТАЙТЕ УВАЖНО

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

Список літератури

Залиште коментар

Ваша електронна адреса не буде опублікована. Обов'язкові поля позначені *