UM2606
Hướng dẫn sử dụng
Bắt đầu với Sổ cái phân tán IOTA
Mở rộng phần mềm công nghệ cho STM32Cube
Giới thiệu
Các X-CUBE-IOTA1 gói phần mềm mở rộng cho STM32Khối lập phương chạy trên STM32 và bao gồm phần mềm trung gian để kích hoạt các chức năng của Công nghệ sổ cái phân tán IOTA (DLT).
IOTA DLT là lớp truyền dữ liệu và giải quyết giao dịch cho Internet of Things (IoT). IOTA cho phép mọi người và máy móc chuyển tiền và / hoặc dữ liệu mà không có bất kỳ phí giao dịch nào trong một môi trường phi tập trung, không cần sự cho phép và phi tập trung. Công nghệ này thậm chí còn giúp cho các khoản thanh toán vi mô có thể thực hiện được mà không cần bất kỳ hình thức trung gian đáng tin cậy nào. Bản mở rộng được xây dựng trên công nghệ phần mềm STM32Cube để dễ dàng di chuyển trên các bộ vi điều khiển STM32 khác nhau. Phiên bản hiện tại của phần mềm chạy trên B-L4S5I-IOT01A Bộ khám phá cho nút IoT và kết nối với Internet thông qua giao diện Wi-Fi đính kèm.
LIÊN KẾT LIÊN QUAN
Ghé thăm hệ sinh thái STM32Cube web trang trên www.st.com để biết thêm thông tin
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
Từ viết tắt và chữ viết tắt
Bảng 1. Danh sách các từ viết tắt
Từ viết tắt | Sự miêu tả |
DLT | Công nghệ sổ cái phân tán |
Ý TƯỞNG | Môi trường phát triển tích hợp |
Internet vạn vật | Internet vạn vật |
PoW | Bằng chứng công việc |
Mở rộng phần mềm X-CUBE-IOTA1 cho STM32Cube
Quaview
Các X-CUBE-IOTA1 gói phần mềm mở rộng STM32Khối lập phương chức năng với các tính năng chính sau:
- Hoàn thành phần sụn để xây dựng các ứng dụng IOTA DLT cho bo mạch dựa trên STM32
- Thư viện phần mềm trung gian có:
- FreeRTOS
- Quản lý Wi-Fi
- mã hóa, băm, xác thực tin nhắn và ký kỹ thuật số (Cryptolib)
- bảo mật cấp độ vận chuyển (MbedTLS)
- API ứng dụng khách IOTA để tương tác với Tangle - Trình điều khiển hoàn chỉnh để xây dựng các ứng dụng truy cập cảm biến chuyển động và môi trường
- Examples để giúp hiểu cách phát triển ứng dụng IOTA DLT Client
- Khả năng di động dễ dàng trên các dòng MCU khác nhau, nhờ STM32Cube
- Điều khoản cấp phép miễn phí, thân thiện với người dùng
Phần mềm mở rộng cung cấp phần mềm trung gian để kích hoạt IOTA DLT trên vi điều khiển STM32. IOTA DLT là lớp truyền dữ liệu và giải quyết giao dịch cho Internet of Things (IoT). IOTA cho phép mọi người và máy móc chuyển tiền và / hoặc dữ liệu mà không có bất kỳ phí giao dịch nào trong một môi trường phi tập trung, không cần sự cho phép và phi tập trung. Công nghệ này thậm chí còn giúp cho các khoản thanh toán vi mô có thể thực hiện được mà không cần bất kỳ hình thức trung gian đáng tin cậy nào.
IOTA 1.0
Công nghệ sổ cái phân tán (DLT) được xây dựng trên mạng nút duy trì sổ cái phân tán, là cơ sở dữ liệu phân tán được bảo mật bằng mật mã để ghi lại các giao dịch. Các nút phát hành các giao dịch thông qua một giao thức đồng thuận.
IOTA là một công nghệ sổ cái phân tán được thiết kế đặc biệt cho IoT.
Sổ cái phân tán IOTA được gọi là mớ và được tạo ra bởi các giao dịch được phát hành bởi các nút trong mạng IOTA.
Để xuất bản một giao dịch trong mớ, một nút phải:
- xác thực hai giao dịch chưa được phê duyệt được gọi là mẹo
- tạo và ký giao dịch mới
- thực hiện đủ Proof-of-Work
- phát giao dịch mới tới mạng IOTA
Giao dịch được gắn vào mớ cùng với hai tham chiếu trỏ đến các giao dịch đã được xác thực.
Cấu trúc này có thể được mô hình hóa dưới dạng đồ thị vòng có hướng, trong đó các đỉnh đại diện cho các giao dịch đơn lẻ và các cạnh đại diện cho các tham chiếu giữa các cặp giao dịch.
Một giao dịch khởi đầu là ở gốc rối và bao gồm tất cả các mã thông báo IOTA có sẵn, được gọi là iotas.
IOTA 1.0 sử dụng một cách tiếp cận triển khai khá độc đáo dựa trên biểu diễn ba bậc: mọi phần tử trong IOTA được mô tả bằng cách sử dụng trits = -1, 0, 1 thay vì bit và trytes 3 trits thay vì byte. Một tryte được biểu diễn dưới dạng số nguyên từ -13 đến 13, được mã hóa bằng các chữ cái (AZ) và số 9.
IOTA 1.5 (Chrysalis) thay thế bố cục giao dịch ba bậc bằng cấu trúc nhị phân.
Mạng IOTA bao gồm các nút và máy khách. Một nút được kết nối với các đồng nghiệp trong mạng và lưu trữ một bản sao của đám rối. Máy khách là một thiết bị có hạt giống được sử dụng để tạo địa chỉ và chữ ký.
Máy khách tạo và ký các giao dịch và gửi chúng đến nút để mạng có thể xác nhận và lưu trữ chúng. Giao dịch rút tiền phải có chữ ký hợp lệ. Khi một giao dịch được coi là hợp lệ, nút sẽ thêm nó vào sổ cái của nó, cập nhật số dư của các địa chỉ bị ảnh hưởng và truyền phát giao dịch đó cho các nước láng giềng.
IOTA 1.5 - Chrysalis
Mục tiêu của IOTA Foundation là tối ưu hóa mạng lưới chính của IOTA trước Coordicide và cung cấp giải pháp sẵn sàng cho doanh nghiệp cho hệ sinh thái IOTA. Điều này đạt được nhờ một bản cập nhật trung gian có tên là Chrysalis. Các nâng cấp chính được Chrysalis giới thiệu là:
- Địa chỉ có thể tái sử dụng: việc áp dụng lược đồ chữ ký Ed25519, thay thế lược đồ chữ ký một lần Winternitz (W-OTS), cho phép người dùng gửi mã thông báo từ cùng một địa chỉ nhiều lần một cách an toàn;
- Không còn gói: IOTA 1.0 sử dụng khái niệm gói để tạo chuyển. Gói là một tập hợp các giao dịch được liên kết với nhau bằng tham chiếu gốc của chúng (thân cây). Với bản cập nhật IOTA 1.5, cấu trúc gói cũ bị loại bỏ và thay thế bằng các giao dịch Atomic đơn giản hơn. Đỉnh Tangle được đại diện bởi Message là một loại vùng chứa có thể có trọng tải tùy ý (tức là trọng tải mã thông báo hoặc tải trọng lập chỉ mục);
- Mô hình UTXO: ban đầu, IOTA 1.0 sử dụng mô hình dựa trên tài khoản để theo dõi các mã thông báo IOTA riêng lẻ: mỗi địa chỉ IOTA chứa một số mã thông báo và tổng số mã thông báo từ tất cả các địa chỉ IOTA bằng tổng nguồn cung. Thay vào đó, IOTA 1.5 sử dụng mô hình đầu ra giao dịch chưa sử dụng hoặc UTXO, dựa trên ý tưởng theo dõi số lượng mã thông báo chưa sử dụng thông qua cấu trúc dữ liệu được gọi là đầu ra;
- Tối đa 8 phụ huynh: với IOTA 1.0, bạn luôn phải tham chiếu đến 2 giao dịch phụ huynh. Với Chrysalis, một số lượng lớn hơn các nút cha được tham chiếu (lên đến 8) được giới thiệu. Để có được kết quả tốt nhất, nên có ít nhất 2 phụ huynh duy nhất tại một thời điểm.
LIÊN KẾT LIÊN QUAN
Để biết thêm thông tin về Chrysalis, vui lòng tham khảo trang tài liệu này
Bằng chứng công việc
Giao thức IOTA sử dụng Proof-of-Work làm phương tiện để giới hạn tỷ lệ mạng.
IOTA 1.0 đã sử dụng Curl-Chức năng băm ba bậc của P-81 và yêu cầu một hàm băm với số lượng tri thức bằng XNUMX phù hợp để đưa ra một giao dịch cho Tangle.
Với Chrysalis, có thể đưa ra các thông điệp nhị phân có kích thước tùy ý. RFC này mô tả cách điều chỉnh cơ chế PoW hiện có với các yêu cầu mới. Nó nhằm mục đích ít gây gián đoạn nhất có thể đối với cơ chế PoW hiện tại.
Ngành kiến trúc
Việc mở rộng STM32Cube này cho phép phát triển các ứng dụng truy cập và sử dụng phần mềm trung gian IOTA DLT.
Nó dựa trên lớp trừu tượng phần cứng STM32CubeHAL cho vi điều khiển STM32 và mở rộng STM32Cube với gói hỗ trợ bo mạch cụ thể (BSP) cho bo mạch mở rộng micrô và các thành phần phần mềm trung gian để xử lý âm thanh và giao tiếp USB với PC.
Các lớp phần mềm được phần mềm ứng dụng sử dụng để truy cập và sử dụng bảng mở rộng micrô là:
- Lớp STM32Cube HAL: cung cấp một bộ API chung, đa trường hợp để tương tác với các lớp trên (ứng dụng, thư viện và ngăn xếp). Nó bao gồm các API chung và mở rộng dựa trên một kiến trúc chung cho phép các lớp khác như lớp phần mềm trung gian hoạt động mà không cần cấu hình phần cứng Bộ vi điều khiển (MCU) cụ thể. Cấu trúc này cải thiện khả năng tái sử dụng mã thư viện và đảm bảo tính di động của thiết bị dễ dàng.
- Lớp Gói hỗ trợ bo mạch (BSP): là một tập hợp các API cung cấp giao diện lập trình cho một số thiết bị ngoại vi cụ thể của bo mạch (đèn LED, nút người dùng, v.v.). Giao diện này cũng giúp xác định phiên bản bo mạch cụ thể và cung cấp hỗ trợ để khởi tạo thiết bị ngoại vi MCU cần thiết và đọc dữ liệu.
Hình 1. Kiến trúc phần mềm X-CUBE-IOTA1
Cấu trúc thư mục
Hình 2. Cấu trúc thư mục X-CUBE-IOTA1
Các thư mục sau được bao gồm trong gói phần mềm:
- Tài liệu: chứa một HTML đã biên dịch file được tạo từ mã nguồn và tài liệu chi tiết về các thành phần phần mềm và API
- Trình điều khiển: chứa các trình điều khiển HAL và các trình điều khiển dành riêng cho bo mạch cho các nền tảng phần cứng và bo mạch được hỗ trợ, bao gồm các trình điều khiển dành cho các thành phần trên bo mạch và lớp trừu tượng phần cứng độc lập với nhà cung cấp CMSIS cho dòng bộ xử lý ARM® Cortex®-M
- Phần mềm trung gian: chứa các thư viện có tính năng FreeRTOS; Quản lý Wi-Fi; mã hóa, băm, xác thực tin nhắn và ký kỹ thuật số (Cryptolib); bảo mật cấp độ vận chuyển (MbedTLS); IOTA Client API để tương tác với Tangle
- Dự án: chứa cũamples để giúp bạn phát triển ứng dụng IOTA DLT Client cho nền tảng dựa trên STM32 được hỗ trợ (B-L4S5I-IOT01A), với ba môi trường phát triển, IAR Embedded Workbench cho ARM (EWARM), RealView Bộ phát triển vi điều khiển (MDK-ARM) và STM32CubeIDE
Giao diện lập trình ứng dụng (API)
Thông tin kỹ thuật chi tiết với chức năng API người dùng đầy đủ và mô tả tham số có trong HTML đã biên dịch file trong thư mục "Tài liệu".
Mô tả ứng dụng IOTA-Client
Dự án files cho ứng dụng IOTA-Client có thể được tìm thấy trong: $ BASE_DIR \ Projects \ B-L4S5IIOT01A \ Applications \ IOTA-Client.
Các dự án sẵn sàng xây dựng có sẵn cho nhiều IDE.
Giao diện người dùng được cung cấp qua cổng nối tiếp và phải được định cấu hình với các cài đặt sau:
Hình 3. Thời hạn Tera - Thiết lập thiết bị đầu cuối
Hình 4. Thuật ngữ Tera - Thiết lập cổng nối tiếp
Để chạy ứng dụng, hãy làm theo quy trình dưới đây.
Bước 1. Mở một thiết bị đầu cuối nối tiếp để trực quan hóa nhật ký tin nhắn.
Bước 2. Nhập cấu hình mạng Wi-Fi của bạn (SSID, Chế độ bảo mật và mật khẩu).
Bước 3. Đặt chứng chỉ CA gốc TLS.
Bước 4. Sao chép và dán nội dung của Projects \ B-L4S5I-IOT01A \ Applications \ IOTAClient \ usertrust_thetangle.pem. Thiết bị sử dụng chúng để xác thực các máy chủ từ xa thông qua TLS.
Ghi chú: Sau khi cấu hình các thông số, bạn có thể thay đổi chúng bằng cách khởi động lại bo mạch và nhấn nút Người dùng (nút màu xanh) trong vòng 5 giây. Dữ liệu này sẽ được lưu trong bộ nhớ Flash.
Hình 5. Cài đặt thông số Wi-Fi
Bước 5. Chờ thông báo “Nhấn phím bất kỳ để tiếp tục” xuất hiện. Sau đó, màn hình được làm mới với danh sách các chức năng chính:
- Gửi một thông báo lập chỉ mục chung
- Gửi tin nhắn cảm biến lập chỉ mục (bao gồm cả thời gianamp, Nhiệt độ và độ ẩm)
- Lấy số dư
- Gửi giao dịch
- Các chức năng khác
Hình 6. Menu chính
Bước 6. Chọn tùy chọn 3 để kiểm tra một trong các chức năng sau:
Nhận thông tin về nút | Nhận Mẹo |
Nhận đầu ra | Kết quả đầu ra từ địa chỉ |
Lấy số dư | Lỗi phản hồi |
Nhận tin nhắn | Gửi tin nhắn |
Tìm tin nhắn | Thử nghiệm ví |
Trình tạo tin nhắn | Kiểm tra tiền điện tử |
Hình 7. Các chức năng khác
LIÊN KẾT LIÊN QUAN
Để biết thêm chi tiết về các chức năng IOTA 1.5, hãy tham khảo tài liệu IOTA C Client
Hướng dẫn thiết lập hệ thống
Mô tả phần cứng
Nút IoT của bộ khám phá STM32L4 +
Bộ khám phá B-L4S5I-IOT01A cho nút IoT cho phép bạn phát triển các ứng dụng để kết nối trực tiếp với các máy chủ đám mây.
Bộ Discovery cho phép nhiều ứng dụng khác nhau bằng cách khai thác giao tiếp công suất thấp, cảm biến đa chiều và các tính năng của dòng STM4L32 + dựa trên lõi ARM®Cortex® -M4 +.
Nó hỗ trợ kết nối Arduino Uno R3 và PMOD cung cấp khả năng mở rộng không giới hạn với nhiều lựa chọn bo mạch bổ trợ chuyên dụng.
Hình 8. Bộ khám phá B-L4S5I-IOT01A
Thiết lập phần cứng
Các thành phần phần cứng sau là cần thiết:
- một bộ khám phá STM32L4 + cho nút IoT được trang bị giao diện Wi-Fi (mã đặt hàng: B-L4S5I-IOT01A)
- cáp USB loại A đến Mini-B USB loại B để kết nối bảng khám phá STM32 với PC
Thiết lập phần mềm
Các thành phần phần mềm sau đây là cần thiết để thiết lập môi trường phát triển để tạo các ứng dụng IOTA DLT cho B-L4S5I-IOT01A:
- X-CUBE-IOTA1: chương trình cơ sở và tài liệu liên quan có sẵn trên st.com
- chuỗi công cụ phát triển và trình biên dịch: phần mềm mở rộng STM32Cube hỗ trợ các môi trường sau:
- IAR Embedded Workbench cho chuỗi công cụ ARM ® (EWARM) + ST-LINK / V2
- Thực tếView Chuỗi công cụ phát triển bộ vi điều khiển (MDK-ARM) + ST-LINK / V2
- STM32CubeIDE + ST-LINK / V2
Thiết lập hệ thống
Bo mạch Khám phá B-L4S5I-IOT01A cho phép khai thác các tính năng IOTA DLT. Bo mạch tích hợp trình gỡ lỗi / lập trình ST-LINK / V2-1. Bạn có thể tải xuống phiên bản liên quan của trình điều khiển USB ST-LINK / V2-1 tại STSW- LINK009.
Lịch sử sửa đổi
Bảng 2. Lịch sử sửa đổi tài liệu
Ngày | Ôn tập | Thay đổi |
13-19-XNUMX | 1 | Bản phát hành đầu tiên |
18-19-XNUMX | 2 | Cập nhật Mục 3.4.8.1 TX_IN và TX_OUT, Mục 3.4.8.3 Gửi dữ liệu qua giá trị XNUMX giao dịch và Mục 3.4.8.4 Gửi tiền thông qua các giao dịch chuyển khoản. |
6-21-XNUMX | 3 | Cập nhật Giới thiệu, Phần 1 Từ viết tắt và chữ viết tắt, Phần 2.1 Kết thúcview, Phần 2.1.1 IOTA 1.0, Phần 2.1.3 Bằng chứng công việc, Phần 2.2 Kiến trúc, Phần 2.3 Cấu trúc thư mục, Phần 3.2 Thiết lập phần cứng, Phần 3.3 Thiết lập phần mềm và Phần 3.4 Thiết lập hệ thống. Đã loại bỏ Phần 2 và thay thế bằng một liên kết trong Phần giới thiệu. Đã loại bỏ Phần 3.1.2 Giao dịch và gói, Phần 3.1.3 Tài khoản và chữ ký, Phần 3.1.5 Băm. Phần 3.4 Cách viết ứng dụng và các tiểu mục liên quan, Phần 3.5 Mô tả ứng dụng IOTALightNode và các tiểu mục liên quan, và Phần 4.1.1 STM32 Nền tảng Nucleo đã thêm Phần 2.1.2IOTA 1.5 - Chrysalis, Phần 2.5 Mô tả ứng dụng IOTA-Client, Phần 2.4 API và Phần 3.1.1 STM32L4 + Nút IoT kit khám phá. |
THÔNG BÁO QUAN TRỌNG - VUI LÒNG ĐỌC KỸ
STMicroelectronics NV và các công ty con của nó (“ST”) bảo lưu quyền thực hiện các thay đổi, hiệu chỉnh, cải tiến, sửa đổi và cải tiến đối với các sản phẩm của ST và / hoặc tài liệu này bất kỳ lúc nào mà không cần thông báo. Người mua nên có thông tin liên quan mới nhất về các sản phẩm ST trước khi đặt hàng. Sản phẩm của ST được bán theo các điều khoản và điều kiện bán hàng của ST tại thời điểm xác nhận đơn đặt hàng.
Người mua hoàn toàn chịu trách nhiệm về việc lựa chọn, lựa chọn và sử dụng các sản phẩm của ST và ST không chịu trách nhiệm về việc hỗ trợ ứng dụng hoặc thiết kế các sản phẩm của Người mua.
ST không cấp bất kỳ giấy phép nào, dù là rõ ràng hay ngụ ý, cho bất kỳ quyền sở hữu trí tuệ nào ở đây.
Việc bán lại các sản phẩm ST với các điều khoản khác với thông tin được nêu ở đây sẽ làm mất hiệu lực bất kỳ bảo hành nào mà ST cấp cho sản phẩm đó.
ST và logo ST là thương hiệu của ST. Để biết thêm thông tin về nhãn hiệu ST, vui lòng tham khảo www.st.com/trademarks. Tất cả các tên sản phẩm hoặc dịch vụ khác là tài sản của chủ sở hữu tương ứng.
Thông tin trong tài liệu này thay thế và thay thế thông tin đã cung cấp trước đó trong bất kỳ phiên bản nào trước đây của tài liệu này.
© 2021 STMicroelectronics – Bảo lưu mọi quyền
Tài liệu / Tài nguyên
![]() |
Gói phần mềm mở rộng ST X-CUBE-IOTA1 cho STM32Cube [tập tin pdf] Hướng dẫn sử dụng ST, X-CUBE-IOTA1, Mở rộng, Gói phần mềm, cho, STM32Cube |