IOTA 是一種加密貨幣,其特性最適合支持最具挑戰性的物聯網應用程序。本文展示了一個普通且廉價的 Raspberry Pi,盡管計算資源有限,但能夠生成有效的 IOTA 交易。
在多元化和擁擠的加密貨幣世界中,IOTA 已經占據了絕對重要的地位,成為支持物聯網應用的理想加密貨幣。與比特幣和其他類似加密貨幣(如以太坊)使用的區塊鏈架構相比,IOTA 基礎設施提供的優勢可總結如下:
高交易率:確認交易所需的時間非常短,并且隨著網絡的增長而減少。
可擴展性:隨著存儲在加密貨幣基礎設施(所謂的纏結,一種特殊形式的有向無環圖)中的交易的增長,以延遲和交易率表示的整體系統性能得到提高。
效率:在 IOTA 中,沒有采礦,因此沒有加密礦工。為了驗證交易,不需要像比特幣和區塊鏈那樣的高計算能力。即使是一個足夠好的嵌入式系統也可以連接并發送交易到 IOTA 網絡,為物聯網領域的無數應用打開了大門。
安全性:IOTA 集成了復雜的安全機制,能夠檢測欺詐用戶的存在,這些欺詐用戶試圖通過輸入無效交易來破壞 Tangle 的完整性。重要的是,這些技術不會對網絡性能產生任何影響,尤其是對交易率的影響。
小額支付:沒有挖礦和創建小額交易(又名小額支付)的能力,使 IOTA 能夠有效地管理 M2M 和物聯網應用程序,其中低延遲和減少(甚至零)交易費用是強制性要求。
本文介紹的項目旨在演示嵌入式、廉價且廣泛使用的硬件平臺(例如 Raspberry Pi)如何連接到 IOTA 網絡并生成可以成功存儲在 Tangle 上的有效交易。當然,這個用例可以在物聯網領域有多種應用。例如,想想自動售貨機,其中的交易與用于提供咖啡或小吃的小額支付相關聯。相同的概念證明可能適用于運輸部門,其中 IOTA 交易可用于購買旅行車票。
項目概述
該項目使用 Raspberry Pi 3 B/B+ 板從 DHT22 傳感器實時采集空氣溫度,并在 DevNet Tangle 上每分鐘發布一次。DevNet 是一個專門為需要測試和調試基于 IOTA 的應用程序的開發人員創建的網絡。為了驗證每個事務是否已成功存儲,應用程序訂閱 DevNet 節點上可用的事件隊列 (ZMQ),以便在 DevNet Tangle 上記錄數據時通知它。應用程序工作流程如圖 1所示。Raspberry Pi 和 IOTA DevNet Tangle 之間的通信將通過 IOTA Javascript 客戶端庫執行。DHT22 傳感器將通過一個用 Python 開發的特定 Adafruit 庫進行管理。
圖 1:應用程序工作流程
項目實施所需的組件清單如下:
Raspberry Pi 3 B/B+ 板(或更高版本)。我們建議使用此版本,因為它包含訪問 Web 所需的無線以太網連接 (Wi-Fi) 以及 DevNet URL。
容量至少為 8 GB 和高讀/寫數據速率的 microSD 存儲卡
DHT22(或 DHT11)溫度和相對濕度傳感器。DHT11 與 DHT22 引腳對引腳兼容,但提供的測量精度較低。
適用于低功率應用的 10-k? 電阻器
一些杜邦跨接電纜
面包板
硬件設置
硬件設置包括創建 DHT22 傳感器和 Raspberry Pi 板之間的連接,使用上面列出的組件并參考圖 2。如圖所示,DHT22傳感器有四個引腳(其中一個不外接),需要連接樹莓派板的電源引腳(3.3V和GND)和一個用作GPIO引腳一個數據傳輸引腳(在我們的特定情況下,我們選擇了 GPIO 4)。
圖 2:接線圖
圖 3:連接所需引腳的詳細信息
為方便讀者,圖 3顯示了 Raspberry Pi 3 GPIO 連接器的布局(它與屬于同一系列的其他電路板引腳對引腳兼容)。連接所需的引腳在藍色框中突出顯示。表 1總結了相同的連接。
表 1:連接的詳細信息
軟件設置 軟件設置
的第一步包括準備帶有 Raspbian 操作系統映像的 microSD 存儲卡。首先,我們需要下載并安裝與我們PC上安裝的操作系統兼容的Raspberry Pi Imager工具版本。1 圖 4顯示了下載 Windows 版本時提及的屏幕截圖。同樣的工具也可用于 Ubuntu 和 macOS。
圖 4:Windows 版 Raspbian Pi Imager 下載
然后我們可以啟動應用程序,選擇 Raspbian 作為操作系統并選擇圖像目標(SD 卡)。最后,只需單擊寫入按鈕(圖 5)。
圖 5:SD 卡編程
將 microSD 卡插入專用的 Raspberry Pi 插槽后,我們現在可以進行首次啟動了。我們將按照樹莓派官網提供的說明啟用 SSH、 2 VNC、3和 Wi-Fi 連接,4 。這樣,該板將能夠連接到互聯網并通過 SSH(或 VNC 查看器)遠程訪問,而無需鍵盤、鼠標和顯示器。像往常一樣,每次安裝新的操作系統映像后,建議更新軟件包并升級發行版,發出以下命令:
sudo apt 更新
sudo apt 全面升級
下一步是安裝 Node.js 和 npm(節點包管理器)。當前可用的 Node.js 版本是 LTS 12.6.1,其中包括 npm 6.13.4(圖 6)。
圖 6:Node.js 的 LTS 版本還包括 npm。
安裝所需的命令如下:
curl -sL https: //deb.nodesource.com/set.。. | 須藤重擊——
sudo apt install nodejs
然后我們可以通過以下命令測試正確的安裝(圖 7):
節點-版本
圖 7:如何檢查 Node.js 和 npm 是否正確安裝
從軟件的角度來看,該應用程序基于提供給 IOTA.org 社區的貢獻,作者對6進行了重大修改,將其適應 DHT22/11 傳感器(便宜且易于獲得)以代替原始的 Enviro Phat 傳感器板。 讓我們首先克隆樹莓派內存卡上原始應用程序的 git 存儲庫:
git clone https://github.com/iota-commun…
然后通過 npm 安裝依賴項:
cd raspberrypi-pubsub
npm 安裝
我們現在可以安裝傳感器管理所需的 Adafruit 提供的庫:
cd
git clone https://github.com/adafruit/Ad.。.
cd Adafruit_Python_DHT
須藤 python setup.py 安裝
要完成軟件設置,只需將本文附帶的文件復制到 raspberrypi-pubsub 文件夾即可。為此,您可以使用 FileZilla,通過 SFTP 協議(SSH 文件傳輸協議)訪問 Raspberry Pi。
運行和測試
要運行應用程序,請輸入以下命令:
cd raspberrypi-pubsub
節點索引.js
應用程序將從 DHT22 傳感器獲取溫度測量值,準備 IOTA 事務,最后檢查它是否已成功傳輸到 DevNet Tangle。所有操作都記錄在控制臺上,如圖 8所示(獲取的溫度為 23.3°C)。
圖 8:應用程序的日志
在 Tangle 上發送的交易是不可變的:一旦創建,就永遠無法更改。要檢查我們的應用程序創建的事務是否在 DevNet Tangle 上,只需復制哈希字段的值(對應于 index.js 源文件中的 dataLocation 字符串)并將其粘貼到 DevNet 資源管理器的搜索欄中。7在這個頁面,如圖9所示,我們可以看到交易已經被正確接收并確認,消息payload指示正確的溫度(23.3°C),交易的金額值為0 IOTA。
圖 9:可以使用 DevNet 資源管理器檢查事務。
結論
本文提出的項目演示了現成的嵌入式系統如何輕松連接到 IOTA 網絡,發送稍后將由系統確認的有效交易。IOTA 確實是一種加密貨幣,除其他外,它具有與領先的物聯網應用程序快速、安全和高效集成所需的所有功能。
評論
查看更多