ST X-NUCLEO-53L1A2 擴展板 -- 中斷配置

UM2606
使用者手冊

IOTA 分散式帳本入門
STM32Cube 的技術軟體擴展

介紹

X-CUBE-IOTA1 擴充軟體包 STM32立方體 運行在STM32上,並包含用於啟用IOTA分散式帳本技術(DLT)功能的中間件。
IOTA DLT 是物聯網 (IoT) 的交易結算和資料傳輸層。 IOTA 允許人和機器在無需信任、無需許可和去中心化的環境中轉移資金和/或數據,無需支付任何交易費用。這項技術甚至使小額支付成為可能,而無需任何類型的可信中介。此擴充功能基於 STM32Cube 軟體技術構建,可輕鬆實現不同 STM32 微控制器之間的可移植性。該軟體的當前版本運行在 B-L4S5I-IOT01A 用於物聯網節點的發現套件,並透過附加的 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. 首字母縮略詞列表

縮寫詞 描述
分散式帳本技術 分散式帳本技術
整合開發環境 集成開發環境
物聯網 物聯網
工作量證明 工作量證明

用於STM1Cube的X-CUBE-IOTA32軟體擴展

超過view

X-CUBE-IOTA1 軟體包擴充 STM32立方體 具有以下主要特點的功能:

  • 為基於 STM32 的板構建 IOTA DLT 應用程式的完整韌體
  • 中間件庫具有:
    – FreeRTOS
    – 無線網路管理
    – 加密、雜湊、訊息身份驗證和數位簽章 (Cryptolib)
    – 傳輸級安全性 (MbedTLS)
    – 用於與 Tangle 互動的 IOTA 用戶端 API
  • 用於構建訪問運動和環境感測器的應用程式的完整驅動程式
  • Examp幫助了解如何開發 IOTA DLT 客戶端應用程式的文件
  • 借助 STM32Cube,可輕鬆跨不同 MCU 系列進行移植
  • 免費、用戶友好的許可條款

軟體擴充提供了在 STM32 微控制器上啟用 IOTA DLT 的中間件。 IOTA DLT 是物聯網 (IoT) 的交易結算和資料傳輸層。 IOTA 允許人和機器在無需信任、無需許可和去中心化的環境中轉移資金和/或數據,無需支付任何交易費用。這項技術甚至使小額支付成為可能,而無需任何類型的可信中介。

埃歐塔1.0

分散式帳本技術 (DLT) 建立在維護分散式帳本的節點網路上,分散式帳本是用於記錄交易的加密安全分散式資料庫。節點透過共識協議發布交易。
IOTA是一種專為物聯網設計的分散式帳本技術。
IOTA分散式帳本稱為纏結,是由IOTA網路中的節點發出的交易所創建的。
要在纏結中發布交易,節點必須:

  1. 驗證兩個未經批准的交易(稱為tips)
  2. 建立並簽署新交易
  3. 執行足夠的工作量證明
  4. 將新交易廣播到 IOTA 網絡

該交易與指向已驗證交易的兩個引用一起附加到纏結中。
該結構可以建模為有向無環圖,其中頂點表示單一事務,邊表示事務對之間的引用。
創世交易位於纏結根,包括所有可用的 IOTA 代幣,稱為 iotas。
IOTA 1.0使用了一種基於三元表示的相當非常規的實作方法:IOTA中的每個元素都使用trits = -1而不是位元來描述,並且使用0個trits的trytes而不是字節來描述。 Tryte 表示為 -1 到 3 之間的整數,使用字母 (AZ) 和數字 13 進行編碼。
IOTA 1.5(Chrysalis)以二進位結構取代了三元交易佈局。
IOTA網路包含節點和客戶端。節點連接到網路中的對等點並儲存纏結的副本。客戶端是具有用於建立位址和簽名的種子的裝置。
客戶端建立並簽署交易並將其發送到節點,以便網路可以驗證和儲存它們。提現交易必須包含有效簽名。當交易被認為有效時,節點將其添加到其分類帳中,更新受影響地址的餘額並將交易廣播給其鄰居。

IOTA 1.5 – 蛹

IOTA基金會的目標是在Coordicide之前優化IOTA主網,並為IOTA生態系統提供企業級解決方案。這是透過稱為 Chrysalis 的中間更新來實現的。 Chrysalis 引入的主要升級是:

  • 地址可重複使用:採用Ed25519簽章方案,取代Winternitz一次性簽章方案(W-OTS),讓使用者從同一地址安全地多次傳送代幣;
  • 不再有捆綁:IOTA 1.0 使用捆綁的概念來建立傳輸。捆綁包是一組透過其根引用(主幹)連結在一起的事務。隨著 IOTA 1.5 的更新,舊的捆綁結構被刪除並被更簡單的原子交易所取代。 Tangle 頂點由 Message 表示,它是可以具有任意有效負載(即令牌有效負載或索引有效負載)的容器;
  • UTXO模型:最初,IOTA 1.0使用基於帳戶的模型來追蹤單一IOTA代幣:每個IOTA地址持有一定數量的代幣,所有IOTA地址的代幣總數等於總供應量。相反,IOTA 1.5 使用未花費的交易輸出模型(UTXO),基於透過稱為輸出的資料結構追蹤未花費的代幣數量的想法;
  • 最多 8 個父交易:使用 IOTA 1.0,您始終必須引用 2 個父交易。對於 Chrysalis,引入了更多數量的引用父節點(最多 8 個)。為了獲得最佳結果,建議一次至少使用 2 個獨特的父級。

相關連結
有關 Chrysalis 的更多信息,請參閱此文件頁面

工作量證明

IOTA 協定使用工作量證明作為限製網路速率的手段。
IOTA 1.0使用了Curl-P-81 三元雜湊函數,需要一個具有匹配數量的尾隨零 trit 的雜湊來向 Tangle 發出交易。
使用 Chrysalis,可以發出任意大小的二進位訊息。該 RFC 描述如何使現有 PoW 機制適應新的需求。它的目的是盡可能減少對目前 PoW 機制的破壞。

建築學

此 STM32Cube 擴充功能支援開發存取和使用 IOTA DLT 中間件的應用程式。
它基於 STM32 微控制器的 STM32CubeHAL 硬體抽象層,並透過用於麥克風擴充板的特定板支援包 (BSP) 以及用於音訊處理和與 PC 進行 USB 通訊的中間件組件來擴展 STM32Cube。
應用軟體存取和使用麥克風擴充板所使用的軟體層有:

  • STM32Cube HAL 層:提供一個通用的多實例 API 集合來與上層(應用程式、函式庫和堆疊)進行互動。它由基於通用架構的通用 API 和擴展 API 組成,允許中間件層等其他層在沒有特定微控制器單元 (MCU) 硬體配置的情況下運行。這種結構提高了庫程式碼的可重用性並保證了輕鬆的設備可移植性。
  • 板支援包 (BSP) 層:是一組 API,為某些板特定週邊裝置(LED、使用者按鈕等)提供程式介面。此介面還有助於識別特定的板版本,並為初始化所需的 MCU 週邊設備和讀取資料提供支援。

圖1. X-CUBE-IOTA1軟體架構

X-CUBE-IOTA1擴充軟體包 -- X-CUBE-IOTA1擴展

文件夾結構

圖 2. X-CUBE-IOTA1 資料夾結構X-CUBE-IOTA1擴充軟體包--資料夾結構

軟件包中包含以下文件夾:

  • 文件: 包含已編譯的 HTML file 從軟體元件和 API 的原始碼和詳細文件生成
  • 驅動程式: 包含 HAL 驅動程式以及支援的主機板和硬體平台的主機板特定驅動程序,包括用於 ARM® Cortex®-M 處理器系列的板載組件和 CMSIS 供應商獨立硬體抽象層的驅動程式
  • 中介軟體: 包含具有 FreeRTOS 功能的函式庫;無線網路管理;加密、雜湊、訊息身份驗證和數位簽章 (Cryptolib);傳輸級安全性 (MbedTLS); IOTA 用戶端 API 與 Tangle 交互
  • 專案: 包含前amp這些檔案可協助您為受支援的基於 STM32 的平台 (B-L4S5I-IOT01A) 開發 IOTA DLT 用戶端應用程序,具有三種開發環境:IAR Embedded Workbench for ARM (EWARM)、RealView 微控制器開發套件 (MDK-ARM) 和 STM32CubeIDE
應用程式介面

包含完整用戶 API 功能和參數描述的詳細技術信息位於已編譯的 HTML 中 file 在“文檔”文件夾中。

IOTA-客戶端應用說明

專案 fileIOTA-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 根 CA 憑證。
步驟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+探索套件物聯網節點

用於物聯網節點的 B-L4S5I-IOT01A 發現套件可讓您開發直接連接到雲端伺服器的應用程式。
Discovery 套件利用低功耗通訊、多路感測和基於 ARM®Cortex® -M4+ 核心的 STM32L4+ 系列功能,支援各種應用。
它支援 Arduino Uno R3 和 PMOD 連接,透過多種專用附加板提供無限的擴充功能。

圖 8. B-L4S5I-IOT01A 探索套件X-CUBE-IOTA1擴充軟體包--B-L4S5I-IOT01A Discovery ki

硬件設置

需要以下硬件組件:

  1. 一個用於配備 Wi-Fi 介面的 IoT 節點的 STM32L4+ Discovery 套件(訂購代號:B-L4S5I-IOT01A)
  2. USB A 型轉 Mini-B USB B 型電纜,用於將 STM32 發現板連接到 PC
軟體設定

需要以下軟體元件來設定開發環境,以便為 B-L4S5I-IOT01A 建立 IOTA DLT 應用程式:

  • X-CUBE-IOTA1:韌體和相關文件可在 st.com 上取得
  • 開發工具鍊和編譯器:STM32Cube擴充軟體支援以下環境:
    – 適用於 ARM ® (EWARM) 工具鏈的 IAR 嵌入式工作台 + ST-LINK/V2
    - 真實的View 微控制器開發套件 (MDK-ARM) 工具鏈 + ST-LINK/V2
    – STM32CubeIDE + ST-LINK/V2
系統設定

B-L4S5I-IOT01A Discovery 板允許利用 IOTA DLT 功能。該板集成了 ST-LINK/V2-1 調試器/編程器。您可以在 STSW-LINK2 下載 ST-LINK/V1-009 USB 驅動程式的相關版本。

修訂歷史

表 2. 文件修訂歷史記錄

日期 修訂 變化
13 年 19 月 XNUMX 日 1 初次發布
18 年 19 月 XNUMX 日 2 更新了第 3.4.8.1 節 TX_IN 和 TX_OUT、第 3.4.8.3 節透過零值發送數據
交易和第 3.4.8.4 節透過轉帳交易發送資金。
6 年 21 月 XNUMX 日 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 節帳戶和簽名、第 XNUMX 節
3.1.5 散列。第3.4節如何寫應用程式和相關小節,第3.5節IOTALightNode應用程式描述和相關小節,以及第4.1.1節STM32
Nucleo 平台新增了第 2.1.2 節 IOTA 1.5 – Chrysalis、第 2.5 節 IOTA-Client 應用程式描述、第 2.4 節 API 和第 3.1.1 節 STM32L4+ Discovery 套件 IoT 節點。

 

重要提示–請仔細閱讀

STMicroelectronics NV及其子公司(“ ST”)保留隨時對ST產品和/或本文檔進行更改,更正,增強,修改和改進的權利,恕不另行通知。 購買者應在下訂單之前獲取有關ST產品的最新相關信息。 意法半導體的產品將根據意法半導體在確認訂單時的銷售條款和條件進行銷售。

購買者對ST產品的選擇,選擇和使用負全部責任,ST不承擔應用協助或購買者產品設計的責任。
ST 此處未授予任何知識產權明示或暗示的許可。
轉售條款與此處所列資訊不同的 ST 產品將使 ST 對該產品授予的任何保固失效。
ST 和 ST 標誌是 ST 的商標。 有關 ST 商標的更多信息,請參閱 www.st.com/trademarks。 所有其他產品或服務名稱均為其各自所有者的財產。
本文檔中的資訊取代並取代本文檔任何先前版本中先前提供的資訊。
© 2021 義法半導體 – 保留所有權利

文件/資源

適用於 STM1Cube 的 ST X-CUBE-IOTA32 擴充軟體包 [pdf] 使用者手冊
ST,X-CUBE-IOTA1,擴充軟體包,適用於 STM32Cube

參考

發表評論

您的電子郵件地址不會被公開。 必填欄位已標記 *