通過將掃描的標(biāo)簽數(shù)據(jù)發(fā)送到全球、分散和分布式的云平臺(tái),將您的RFID跟蹤應(yīng)用程序和想法提升到一個(gè)新的水平。
該項(xiàng)目使用樹莓派作為物聯(lián)網(wǎng)設(shè)備,使用EOS區(qū)塊鏈作為全球分布式平臺(tái)。
物聯(lián)網(wǎng)設(shè)備掃描鑰匙卡、密鑰卡、補(bǔ)丁、標(biāo)簽等中的RFID芯片。標(biāo)簽可用于唯一識(shí)別它們所附著的物品,以便在供應(yīng)鏈、制造、資產(chǎn)跟蹤和訪問中提供位置和時(shí)間證明控制應(yīng)用程序。提供了構(gòu)建這個(gè)開源掃描器和訪問區(qū)塊鏈上掃描的標(biāo)簽數(shù)據(jù)所需的一切,包括node.js軟件、預(yù)部署的智能合約/dApp、區(qū)塊鏈帳戶和私鑰。一個(gè)簡(jiǎn)單的Web應(yīng)用程序可用于實(shí)時(shí)演示區(qū)塊鏈上真實(shí)物聯(lián)網(wǎng)數(shù)據(jù)的端到端掃描、交易和檢索。
掃描儀設(shè)備在應(yīng)用程序開始時(shí)通過粗略的IP地理定位查找獲取其在地球上的當(dāng)前位置。該位置被地理散列并與掃描的標(biāo)簽數(shù)據(jù)組合成數(shù)據(jù)記錄。已掃描標(biāo)簽的位置以及標(biāo)簽數(shù)據(jù)可在rfid-htmlWeb應(yīng)用程序的地圖上查看。
EOS被選中用于該項(xiàng)目,因?yàn)樗峁┝艘韵玛P(guān)鍵功能:
EOS提供快速的交易時(shí)間:掃描的標(biāo)簽通常會(huì)在2秒內(nèi)出現(xiàn)在鏈上。
EOS沒有交易費(fèi)用。區(qū)塊鏈資源是一次性購(gòu)買的。然后,物聯(lián)網(wǎng)設(shè)備可以在分配的資源內(nèi)進(jìn)行交易,而不會(huì)產(chǎn)生額外費(fèi)用。
EOS交易是有效打包的二進(jìn)制結(jié)構(gòu),可最大限度地減少帶寬需求。
EOS使用與比特幣和以太坊等其他區(qū)塊鏈相同的全球公認(rèn)和強(qiáng)化的安全標(biāo)準(zhǔn)。
簡(jiǎn)而言之,您將MFRC522RFID芯片/天線板和蜂鳴器連接到Pi的擴(kuò)展接頭,將我們的設(shè)備軟件存儲(chǔ)庫(kù)下載到Pi上的目錄,運(yùn)行“npminstall”,然后運(yùn)行“sudonoderfid-scanner-eos-”rpi.js`。將標(biāo)簽放置在距離天線2厘米的范圍內(nèi),并查看網(wǎng)頁(yè)以查看掃描的標(biāo)簽UID以秒為單位出現(xiàn)。
EOSJungle2.0測(cè)試網(wǎng)托管dApp和設(shè)備帳戶。
硬件設(shè)置
該項(xiàng)目假設(shè)您已經(jīng)啟動(dòng)并運(yùn)行了RaspberryPi。
你需要:
Rpi2或3(本項(xiàng)目中使用3+)
MFRC522RFID掃描儀。
有源蜂鳴器。
一些電線,也許還有一些焊接技巧。
它可能看起來(lái)像這樣:
連接:
軟件設(shè)置
最新的Raspbian操作系統(tǒng)(項(xiàng)目于2019年4月進(jìn)行了發(fā)布下載)
最近的Node.js。Raspbian自帶的版本(8.11.1)可以工作。
NPM包管理器。安裝它然后更新它:
sudoapt-getinstallnpm
sudonpmi-gnpm
Git(已安裝)
設(shè)置
將此存儲(chǔ)庫(kù)克隆到您的Pi上:
$gitclonehttps://github.com/EOSIoT/rfid-scanner-node.git
$cdrfid-scanner-node
安裝項(xiàng)目依賴:
$npminstall
軟件應(yīng)該就是這樣。用于簽署交易到EOS區(qū)塊鏈dApp的私鑰已經(jīng)編碼在軟件中。不過,不要認(rèn)為您可以破解IoT設(shè)備帳戶。通過EOS靈活的權(quán)限管理系統(tǒng),為提交RFID數(shù)據(jù)的任務(wù)創(chuàng)建了自定義權(quán)限。
使用
以超級(jí)用戶權(quán)限運(yùn)行應(yīng)用程序。記下唯一的設(shè)備ID,以在演示W(wǎng)eb應(yīng)用程序中引用掃描儀的數(shù)據(jù)。在下面的示例中,設(shè)備ID是942140182。寫下來(lái),因?yàn)槟枰鼇?lái)過濾Web應(yīng)用程序中的掃描儀數(shù)據(jù)。
如果應(yīng)用程序設(shè)置正確,您將看到初始區(qū)塊鏈信息請(qǐng)求的結(jié)果,顯示與指定EOSAPI端點(diǎn)的通信正在工作。
例子:
pi@raspberrypi:~/rfid-scanner-node$sudonoderfid_scanner_eos_rpi.js
[2019-05-11T19:32:07.168Z]DeviceID:942140182(0x3827eb16)
[2019-05-11T19:32:07.177Z]Blockchain:
[2019-05-11T19:32:07.220Z]scanning.。。
[2019-05-11T19:32:07.221Z]Pleaseputchiporkeycardintheantennainductivezone!
[2019-05-11T19:32:07.221Z]PressCtrl-Ctostop.
[2019-05-11T19:32:07.402Z]{server_version:‘448287d5’,
chain_id:‘aca376f206b8fc25a6ed44dbdc66547c36c6c33e3a119ffbeaef943642f0e906’,
head_block_num:57633625,
last_irreversible_block_num:57633298,
last_irreversible_block_id:‘036f6a124baa3eae12b40fdff2fe53f7796663f79b17559636a750bd1a25fbdc’,
head_block_id:‘036f6b590d4b20385337d91dc688c46ac92d49bc75a6e0414f48da935c00d94b’,
head_block_time:‘2019-05-11T19:32:07.000’,
head_block_producer:‘eos42freedom’,
virtual_block_cpu_limit:200000000,
virtual_block_net_limit:1048576000,
block_cpu_limit:181613,
block_net_limit:1044592,
server_version_string:‘v1.7.3’}
[2019-05-11T19:32:07.746Z]NoCard
[2019-05-11T19:32:08.266Z]NoCard
[2019-05-11T19:32:08.787Z]NoCard
[2019-05-11T19:32:26.074Z]Carddetected,CardType:undefined
[2019-05-11T19:32:26.075Z]CardreadUID(5):992f65c
[2019-05-11T19:32:26.083Z]CardMemoryCapacity:8
[2019-05-11T19:32:26.096Z]Block:8Data:0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
[2019-05-11T19:32:28.864Z]NoCard
{transaction_id:‘e8672e52f521c003b6d9b767acc1ce2f8f967ae336a3cfd294fb2b8d89ab9d03’,
processed:
{id:‘e8672e52f521c003b6d9b767acc1ce2f8f967ae336a3cfd294fb2b8d89ab9d03’,
block_num:57633669,
block_time:‘2019-05-11T19:32:29.000’,
producer_block_id:null,
receipt:{status:‘executed’,cpu_usage_us:345,net_usage_words:15},
elapsed:345,
net_usage:120,
scheduled:false,
action_traces:[[Object]],
except:null}}
[2019-05-11T19:32:29.382Z]NoCard
要掃描卡片或標(biāo)簽,請(qǐng)將其放置在mfrc522讀卡器頂部(天線)附近(2厘米以內(nèi))。您會(huì)聽到確認(rèn)掃描的蜂鳴器發(fā)出嗶聲。然后將標(biāo)簽的UID和RPiIoT設(shè)備上的當(dāng)前時(shí)間捆綁到一個(gè)事務(wù)中并發(fā)送到EOS區(qū)塊鏈,在那里它很快被吸收到一個(gè)塊中。
RFID掃描儀軟件有一個(gè)私鑰,可以代表eosiot11node賬戶提交標(biāo)簽數(shù)據(jù)。標(biāo)簽的UID數(shù)據(jù)被放入eosiot12rfid帳戶下的智能合約(dApp)托管的數(shù)據(jù)庫(kù)中。
dApp目前托管在Jungle2.0測(cè)試網(wǎng)上,直到主網(wǎng)解決CPU緊縮問題。
RFID掃描儀生成的數(shù)據(jù)可通過簡(jiǎn)單的RESTAPI調(diào)用或javascript庫(kù)訪問。我編寫了一個(gè)簡(jiǎn)單的Web應(yīng)用程序,您可以使用它來(lái)近乎實(shí)時(shí)地查看掃描的標(biāo)簽數(shù)據(jù)出現(xiàn)在EOS區(qū)塊鏈上。繼續(xù)輸入您在上面看到的設(shè)備ID,以查看測(cè)試項(xiàng)目時(shí)發(fā)布的數(shù)據(jù)。
rfid-htmlWeb應(yīng)用程序的屏幕截圖:
結(jié)論
借助開源軟件腳本和安裝程序以及現(xiàn)有的區(qū)塊鏈基礎(chǔ)設(shè)施,您可以快速部署RFID掃描儀原型,以測(cè)試您關(guān)于如何將區(qū)塊鏈用于下一個(gè)項(xiàng)目的假設(shè)和想法。
我為這個(gè)項(xiàng)目創(chuàng)建的區(qū)塊鏈帳戶(eosiot11node)顯然在每個(gè)使用該軟件的物聯(lián)網(wǎng)設(shè)備之間共享。分配給它的帶寬和CPU數(shù)量有限,如果有足夠的用戶,將達(dá)到每日限制。
-
RFID
+關(guān)注
關(guān)注
391文章
6448瀏覽量
242473 -
MFRC522
+關(guān)注
關(guān)注
2文章
30瀏覽量
17787 -
樹莓派
+關(guān)注
關(guān)注
121文章
2009瀏覽量
107476
發(fā)布評(píng)論請(qǐng)先 登錄
MFRC522
STM32控制mfrc522實(shí)現(xiàn)電子錢包功能源碼、文檔資料
基于STM32的MFRC522射頻卡模塊設(shè)計(jì)
如何去使用基于STM32的MFRC522射頻卡模塊呢
使用M480 SPI與MFRC 522模塊通信讀取RFID卡的獨(dú)特識(shí)別
MFRC522射頻IC在智能儀表中的應(yīng)用
MFRC522_datasheet
使用51單片機(jī)和MFRC522實(shí)現(xiàn)RFID的源代碼和資料合集免費(fèi)下載

MFRC522測(cè)試程序分享
mfrc522工作原理
ESP32驅(qū)動(dòng)MFRC522 RFID模塊讀寫IC卡數(shù)據(jù)

評(píng)論