資料介紹
描述
我們正在為Nile 項目構(gòu)建一個開源原型。
背景
Nile 是一個去中心化且免傭金的購物平臺,旨在為當(dāng)?shù)亟?jīng)濟賦能。尼羅河正在重新定義電子商務(wù)的現(xiàn)狀,不是建立一個統(tǒng)治世界的巨型公司,而是賦予人們和社區(qū)權(quán)力,以作為強大且相互關(guān)聯(lián)的生態(tài)系統(tǒng)與這些巨人競爭。為此,尼羅河將在普通人充當(dāng)供應(yīng)商的幫助下將當(dāng)?shù)厣痰旰涂蛻袈?lián)系起來。因此,最重要的流程之一是訂購流程,當(dāng)客戶在當(dāng)?shù)厣痰暧嗁?a target='_blank' class='arckwlink_none'>產(chǎn)品并希望供應(yīng)商將其送貨上門時,該流程就開始了。為了跟蹤訂單及其狀態(tài),我們希望提供一種工具來使用 RFID 卡創(chuàng)建和讀取唯一的訂單標(biāo)識符。本文旨在指導(dǎo)您逐步創(chuàng)建此類工具。
概述
正如主圖所示,本教程的目標(biāo)是構(gòu)建一個工具,用于向 RFID 卡寫入和讀取數(shù)據(jù),并借助 LED 環(huán)的顏色指示器可視化該過程。MAM 根存儲在 RFID 卡上,Web 應(yīng)用程序讀取 MAM 流并顯示訂單的代表性數(shù)據(jù)。我們有六個步驟來指導(dǎo)您完成:
1. 機箱準備- 準備機箱以將所有硬件放入其中。
2. 設(shè)置 Raspberry PiZero - 安裝 Raspbian,配置 ssh 和 wifi 以及通過 SSH 連接到 Pi。
3. 添加 RFID 組件- 將 RFID 模塊 (Mifare RC522) 連接到 Pi。
4. 添加 LED 組件- 將 NeoPixel Ring - 12 x 5050 RGB LED 模塊連接到 Pi。
5. 將所有東西放在一起- 在這里,我們將修復(fù)機箱內(nèi)的所有硬件。
6. 讓代碼運行——最后但并非最不重要的是,我們通過添加代碼使整個事情正常進行。
1.案例準備
我們希望將工具所需的一切都放在一個冷藏箱中。為了準備案例,您需要做以下事情:
- 一個盒子- 把所有東西都放在里面
- 一個小玻璃杯——還有……
- ...鉛筆- 標(biāo)記整體
- 一把刀- 切出整體
- 一張砂紙- 細化邊緣
- 一塊方形磨砂玻璃- 用作窗戶
- 一把刷子——還有……
- ...一些丙烯酸顏色- 以您喜歡的顏色繪制盒子
- 一塊方形磨砂玻璃- 用于窗戶
- 熱膠槍- 固定盒子窗戶后面的玻璃
?
2. 樹莓派零設(shè)置
準備好案例后,我們需要開始進行 Raspberry Pi 的基本設(shè)置。
第 1 步 - 安裝 Raspbian
首先我們要安裝Raspbian - 我們建議安裝 Raspbian Stretch Lite(在此處下載)。為此,請將 Pi 的 SD 卡插入您的計算機并在其上閃存 Raspian Stretch Lite。提示:為此,您可以使用Etcher 。
第 2 步 - 配置無頭 WiFi
閃爍過程完成后,SD 卡已從您的計算機中彈出。您需要做的就是將其拔出并插入,讓操作系統(tǒng)再次識別它。一旦你的引導(dǎo)驅(qū)動器出現(xiàn)打開你的終端并執(zhí)行:
$ cd /Volumes/boot
現(xiàn)在我們要啟用 SSH ,它在 Raspberry Pi 上默認是禁用的。ssh
我們只需在驅(qū)動器中創(chuàng)建一個名為的文件。boot
為此執(zhí)行:
$ touch ssh
即使文件為空,它也會在 Pi 啟動后立即啟用 ssh。
最后,我們還希望 Pi 在啟動后立即連接到 wifi。為此,我們將連接詳細信息存儲在boot
Pi 的驅(qū)動器中。執(zhí)行以下命令:
$ nano wpa_supplicant.conf
現(xiàn)在繼續(xù)并將以下代碼粘貼到文件中。還要輸入您的 wifi 連接詳細信息,然后按ctrl + x
保存更改。
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
network={
ssid="YOUR_SSID"
psk="YOUR_WIFI_PASSWORD"
key_mgmt=WPA-PSK
}
提示:如果您打算在不同的地方使用該工具,您現(xiàn)在可以輕松設(shè)置多個 wifi 配置。通過這樣做,當(dāng)您更改位置時,您無需拔出 Pi 的 SD 卡。如果你想這樣做,只需添加以下代碼:
$ ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
$ update_config=1
$
$ network={
$ ssid="SCHOOL_NETWORK_NAME"
$ psk="SCHOOL_PASSWORD"
$ id_str="school"
$ }
$
$ network={
$ ssid="HOME_NETWORK_NAME"
$ psk="HOME_PASSWORD"
$ id_str="home"
$ }
您可以通過添加更多網(wǎng)絡(luò)對象在此處添加任意數(shù)量的網(wǎng)絡(luò)。
現(xiàn)在我們準備好通過 SSH 連接到 Pi。
第 3 步 - 通過 SSH 連接
要通過 SSH 連接到 Pi,您可以執(zhí)行以下命令:
$ sshpass -p ssh -o StrictHostKeyChecking=no pi@
提示:如果您打算在將來多次重復(fù)這個過程,為了使這個過程更容易,您可以創(chuàng)建一個別名來訪問 pi,piz
而不是上面的命令。為此執(zhí)行:
$ nano ~/.zshrc
然后簡單地創(chuàng)建一個別名將其粘貼到文件中:
alias
現(xiàn)在,打開一個新選項卡,您就可以通過執(zhí)行以下命令連接到 pi:
$ piz
3.添加RFID組件
我們想通過 RFID 寫入器和讀取器擴展 Pi。我們決定使用 Mifare RC522。該模塊可以使用 SPI 連接。
第 1 步:啟用樹莓派 SPI
要為 Pi 啟用 SPI,請執(zhí)行以下命令轉(zhuǎn)到配置設(shè)置:
$ raspi-config
現(xiàn)在選擇接口選項,然后選擇 SPI。出現(xiàn)提示時確認yes
并重新啟動您的 Pi:
$ sudo reboot
一旦您的 Pi 重新啟動,通過執(zhí)行以下命令打開 config.txt:
$ sudo nano /boot/config.txt
現(xiàn)在尋找以下行:
$ dtparam=spi=on
如果您找到它,則您的 SPI 接口工作正常,您可以繼續(xù)下一步。
第 2 步:安裝 RFID 軟件
要安裝 RFID 軟件,我們首先需要安裝 Python 2.7 dev。為此執(zhí)行:
$ sudo apt-get install python2.7-dev
接下來我們需要下載并安裝python的SPI工具。
$ git clone https://github.com/lthiery/SPI-Py.git
$ cd SPI-Py
$
$ sudo python setup.py install
最后下載以下python庫來使用RC522模塊:
$ git clone https://github.com/mxgxw/MFRC522-python.git
$
$ cd MFRC522-python
第三步:接線圖
作為最后一步,請按照此接線圖將 RC522 連接到 Raspberry Pi Zero。
?
追溯
如果您遇到如下圖所示的回溯,請按照這些說明進行操作。
該問題是由 SPI python 庫引起的,可以通過回滾到同一庫的先前版本輕松解決。
$ git clone https://github.com/lthiery/SPI-Py.git
$ git checkout 8cce26b9ee6e69eb041e9d5665944b88688fca68
$
$ sudo python setup.py install
確保在回滾后再次運行安裝程序。如果您仍然有問題,請參閱相關(guān)的 StackOverflow 文章。
4.添加燈光組件
對我們來說,該工具具有一些奇特的即時用戶反饋似乎很重要。最簡單的方法是通過顏色的視覺反饋。所以我們決定添加一個磨砂玻璃窗和一個NeoPixel Ring - 12 x 5050 RGB LED以提供某種彩色進度條。
示意圖要將此組件添加到 Raspberry Pi Zero,請遵循以下示意圖:
5. 把所有東西放在一起
在我們構(gòu)建了我們的案例并將所有硬件組件放在一起之后,我們準備好將所有東西放入案例中。您決定在框中放置元素的方式完全取決于您。我們所做的只是簡單地使用一些聚苯乙烯泡沫塑料和膠帶來固定盒子內(nèi)的所有元件。
提示:從視覺的角度來看,真正重要的一件事是將燈的位置非常靠近窗戶。
6:運行代碼
我們需要運行兩個應(yīng)用程序,一個用于商店,一個用于包裝站。按照代表性 Readme.md 文件中的說明安裝依賴項并運行應(yīng)用程序。
第一步:開店申請
創(chuàng)建您的商店首先,運行商店應(yīng)用程序 -使用演示用戶登錄并導(dǎo)航到導(dǎo)航中的商店頁面。現(xiàn)在在這里輸入您的商店名稱和位置。創(chuàng)建商店后,應(yīng)用程序會為您創(chuàng)建一個 MAM 根目錄,其中存儲了有關(guān)您商店的所有信息。
MAM 根以及用于向頻道發(fā)布新消息的種子,兩者都僅存儲在瀏覽器的本地數(shù)據(jù)庫中。所以沒有第三方持有您的憑據(jù)。
MAM 流中的新消息表示對商店數(shù)字雙胞胎的更改 - 例如,如果您更改商店名稱。通過這種方法,我們可以獲得商店的整個變更歷史記錄。和處理產(chǎn)品order_request_address
和catalog_root
訂購流程,這不是本教程的一部分。
創(chuàng)建一些產(chǎn)品下一步是在Products 頁面中創(chuàng)建一些產(chǎn)品。之后,我們準備創(chuàng)建訂單。為了簡化本教程中的工作流程,我們直接在商店應(yīng)用程序中創(chuàng)建訂單,而不是在這里也使用客戶應(yīng)用程序。
?
創(chuàng)建訂單轉(zhuǎn)到“訂單”頁面,選擇一些產(chǎn)品并創(chuàng)建訂單。
第二步:打包申請
寫入 RFID 卡我們需要 Packing Station Prototype 將 MAM 根寫入 RFID 卡。直接在Shop應(yīng)用Order頁面復(fù)制,然后去packing station app到Write頁面。現(xiàn)在將 MAM 根粘貼到給定的輸入中。完成后,按寫入按鈕。讀卡器上的燈現(xiàn)在應(yīng)該從藍色變?yōu)槌壬@表示將卡放在盒子上并等待幾秒鐘,直到燈變?yōu)榫G色。這表明寫入過程成功,我們現(xiàn)在可以讀取卡了。
讀取 RFID 卡現(xiàn)在導(dǎo)航至讀取頁面并等待指示燈變?yōu)樗{色。一旦它是藍色的,您就可以將卡片放在盒子上,然后將從 MAM 根目錄獲取訂單信息。RFID 閱讀器從卡中讀取 MAM 根,將其發(fā)送到前端并獲取流中的當(dāng)前數(shù)據(jù)。因此,無論何時執(zhí)行此過程,您都將始終從 tangle 中獲取最新數(shù)據(jù)。
?
結(jié)論
本教程演示了一個真實世界的用例,使用 Tangle 作為分布式賬本來存儲有關(guān)本地商店、他們的產(chǎn)品和訂單的數(shù)字雙胞胎的重要數(shù)據(jù)。在本教程中,MAM 通道表示從供應(yīng)商到客戶的訂單生命周期。智能包站只覆蓋了我們需要構(gòu)建的設(shè)備生態(tài)系統(tǒng)的一小部分,以便為整個過程提供服務(wù),但這仍然是第一步。
我們打算進一步改進這個用例和教程。如果您有任何問題,請告訴我們!
- 華大單片機UID讀取說明
- STM32 唯一ID讀取方法
- 如何創(chuàng)建和使用LabVIEW中的LLB文件 0次下載
- 如何獲取STM32 MCU的唯一ID
- 通用串行總線語言標(biāo)識符英文版下載 0次下載
- python使用的一些基本知識詳細介紹 13次下載
- 如何設(shè)計一種對包裝箱內(nèi)物品不敏感的通用RFID標(biāo)簽天線
- 51單片機的C語言標(biāo)識符和關(guān)鍵字詳細資料說明
- 單片機C語言教程之?dāng)?shù)據(jù)類型的詳細資料說明 5次下載
- JAVA教程之一維數(shù)組和二維數(shù)組的介紹和應(yīng)用說明 0次下載
- RFID電子標(biāo)簽在鐵路集裝箱中的應(yīng)用 5次下載
- C++語言基礎(chǔ)講解視頻標(biāo)識符與關(guān)鍵字 7次下載
- RFID技術(shù)在集裝箱碼頭管理中的應(yīng)用 116次下載
- C語言的標(biāo)識符和關(guān)鍵字
- 哈工大C語言程序設(shè)計
- 為什么不選擇UUID?ULID才是更好的選擇! 363次閱讀
- pid三個參數(shù)分別起到什么作用 1w次閱讀
- 讀取Xilinx FPGA芯片設(shè)備標(biāo)識符的方法-DNA 2785次閱讀
- 西門子博圖全局系統(tǒng)常量的規(guī)則/使用硬件標(biāo)識符的示例 5552次閱讀
- 西門子博途中硬件標(biāo)識符示例 1.4w次閱讀
- VXLAN原理介紹以及Linux和OvS的實現(xiàn)分析 760次閱讀
- 電工知識—TIA Portal(博途)創(chuàng)建和編輯項目 3731次閱讀
- CAN總線的幀類型及結(jié)構(gòu) 1w次閱讀
- 如何使用ESP32創(chuàng)建一個氣象站 3771次閱讀
- Verilog HDL語言的數(shù)據(jù)類型和運算符與表達式解析 6102次閱讀
- 利用RFID無線射頻技術(shù)實現(xiàn)港集裝箱智能與安全貿(mào)易通道 814次閱讀
- 詳解Verilog的一些基本要素 5309次閱讀
- 線纜標(biāo)識的用途和特點 8059次閱讀
- C++多繼承的二義性問題 7500次閱讀
- RFID智能卡:小心你的卡片安全 2357次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應(yīng)用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關(guān)電源設(shè)計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅(qū)動電路設(shè)計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學(xué)會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多