0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

怎么实现基于MFRC522的区块链RFID扫描仪设计

科技观察员 来源:Evan Ross 作者:Evan Ross 2022-06-06 11:48 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

通过将扫描的标签数据发送到全球、分散和分布式的云平台,将您的RFID跟踪应用程序和想法提升到一个新的水平。

该项目使用树莓派作为物联网设备,使用EOS区块链作为全球分布式平台。

物联网设备扫描钥匙卡、密钥卡、补丁、标签等中的RFID芯片。标签可用于唯一识别它们所附着的物品,以便在供应链、制造、资产跟踪和访问中提供位置和时间证明控制应用程序。提供了构建这个开源扫描器和访问区块链上扫描的标签数据所需的一切,包括node.js软件、预部署的智能合约/dApp、区块链帐户和私钥。一个简单的Web应用程序可用于实时演示区块链上真实物联网数据的端到端扫描、交易和检索。

扫描仪设备在应用程序开始时通过粗略的IP地理定位查找获取其在地球上的当前位置。该位置被地理散列并与扫描的标签数据组合成数据记录。已扫描标签的位置以及标签数据可在rfid-htmlWeb应用程序的地图上查看。

EOS被选中用于该项目,因为它提供了以下关键功能:

EOS提供快速的交易时间:扫描的标签通常会在2秒内出现在链上。

EOS没有交易费用。区块链资源是一次性购买的。然后,物联网设备可以在分配的资源内进行交易,而不会产生额外费用。

EOS交易是有效打包的二进制结构,可最大限度地减少带宽需求。

EOS使用与比特币和以太坊等其他区块链相同的全球公认和强化的安全标准。

简而言之,您将MFRC522RFID芯片/天线板和蜂鸣器连接到Pi的扩展接头,将我们的设备软件存储库下载到Pi上的目录,运行“npminstall”,然后运行“sudonoderfid-scanner-eos-”rpi.js`。将标签放置在距离天线2厘米的范围内,并查看网页以查看扫描的标签UID以秒为单位出现。

EOSJungle2.0测试网托管dApp和设备帐户。

硬件设置

该项目假设您已经启动并运行了RaspberryPi。

你需要:

Rpi2或3(本项目中使用3+)

MFRC522RFID扫描仪。

有源蜂鸣器。

一些电线,也许还有一些焊接技巧。

它可能看起来像这样:

poYBAGKdeMyAGqN-AARoVYj-_wA494.png

连接:

pYYBAGKdeMiAHMm6AAVpbeo12D4752.png

软件设置

最新的Raspbian操作系统(项目于2019年4月进行了发布下载)

最近的Node.js。Raspbian自带的版本(8.11.1)可以工作。

NPM包管理器。安装它然后更新它:

sudoapt-getinstallnpm

sudonpmi-gnpm

Git(已安装)

设置

将此存储库克隆到您的Pi上:

$gitclonehttps://github.com/EOSIoT/rfid-scanner-node.git

$cdrfid-scanner-node

安装项目依赖:

$npminstall

软件应该就是这样。用于签署交易到EOS区块链dApp的私钥已经编码在软件中。不过,不要认为您可以破解IoT设备帐户。通过EOS灵活的权限管理系统,为提交RFID数据的任务创建了自定义权限。

使用

以超级用户权限运行应用程序。记下唯一的设备ID,以在演示Web应用程序中引用扫描仪的数据。在下面的示例中,设备ID是942140182。写下来,因为您需要它来过滤Web应用程序中的扫描仪数据。

如果应用程序设置正确,您将看到初始区块链信息请求的结果,显示与指定EOSAPI端点的通信正在工作。

例子:

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

要扫描卡片或标签,请将其放置在mfrc522读卡器顶部(天线)附近(2厘米以内)。您会听到确认扫描的蜂鸣器发出哔声。然后将标签的UID和RPiIoT设备上的当前时间捆绑到一个事务中并发送到EOS区块链,在那里它很快被吸收到一个块中。

RFID扫描仪软件有一个私钥,可以代表eosiot11node账户提交标签数据。标签的UID数据被放入eosiot12rfid帐户下的智能合约(dApp)托管的数据库中。

dApp目前托管在Jungle2.0测试网上,直到主网解决CPU紧缩问题。

RFID扫描仪生成的数据可通过简单的RESTAPI调用或javascript库访问。我编写了一个简单的Web应用程序,您可以使用它来近乎实时地查看扫描的标签数据出现在EOS区块链上。继续输入您在上面看到的设备ID,以查看测试项目时发布的数据。

rfid-htmlWeb应用程序的屏幕截图:

poYBAGKdeMGAErqPAAJ040vlJsY311.png

结论

借助开源软件脚本和安装程序以及现有的区块链基础设施,您可以快速部署RFID扫描仪原型,以测试您关于如何将区块链用于下一个项目的假设和想法。

我为这个项目创建的区块链帐户(eosiot11node)显然在每个使用该软件的物联网设备之间共享。分配给它的带宽和CPU数量有限,如果有足够的用户,将达到每日限制。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • RFID
    +关注

    关注

    392

    文章

    6747

    浏览量

    246726
  • MFRC522
    +关注

    关注

    2

    文章

    30

    浏览量

    17956
  • 树莓派
    +关注

    关注

    122

    文章

    2069

    浏览量

    109689
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    MFRC522

    请问实现MSP430和MFRC522芯片通信时,MFRC522芯片是否能够在睡眠状态下唤醒?????谢谢!!!
    发表于 03-03 13:56

    STM32控制mfrc522实现电子钱包功能源码、文档资料

    主控制器为:STM32F103ZET6用的院子的战舰开发板 mfrc模块:RFID-RC522 识别S50标准卡。有关S50的AB密钥浅谈.pdf Mifare1 S50IC卡中文说明书.pdf
    发表于 07-02 06:21

    基于STM32的MFRC522射频卡模块设计

    基于STM32的MFRC522射频卡模块使用移植MFRC522程序到STM32本学期感测技术选修课需要做一个作品出来,用到了MFRC522射频卡模块,经历一个星期的调试,终于可以正常使用了。成功的把
    发表于 08-05 07:05

    如何去使用基于STM32的MFRC522射频卡模块呢

    如何对MFRC522射频卡模块进行调试呢?如何去使用基于STM32的MFRC522射频卡模块呢?
    发表于 10-22 06:33

    使用M480 SPI与MFRC 522模块通信读取RFID卡的独特识别

    :NuMaker-PFM-M487 V3.0,MFRC522模块,RFID卡 这一示例代码使用M480系列微控制器作为主机控制器,与MFRC522模块进行通信,读取RFID卡UID。
    发表于 08-29 08:35

    MFRC522射频IC在智能仪表中的应用

    介绍了Philips公司专用于智能仪表的射频IC MFRC522的主要特点及内部结构,并设计了基于MFRC522的智能仪表电路,阐述了硬件电路设计和软件设计流程。 Abstract:
    发表于 12-16 15:41 144次下载

    MFRC522_datasheet

    The MFRC522 is a highly integrated reader/writer for contactless communication at 13.56MHz. The MFRC522 reader supports ISO 14443A / MIF
    发表于 11-30 11:18 46次下载

    MFRC522数据手册

    MFRC522数据手册。
    发表于 04-28 10:46 36次下载

    MFRC522远距离RFID通信

    MFRC522远距离RFID通信相关资料。
    发表于 10-13 18:00 0次下载

    mfrc522程序注释

    mfrc522程序注释
    发表于 10-23 09:57 38次下载

    MFRC522数据手册(英文版)

    MFRC522数据手册(英文版)
    发表于 12-02 10:52 0次下载
    <b class='flag-5'>MFRC522</b>数据手册(英文版)

    使用51单片机和MFRC522实现RFID的源代码和资料合集免费下载

    本文档的主要内容详细介绍的是使用51单片机和MFRC522实现RFID的源代码和资料合集免费下载。
    发表于 03-30 08:00 53次下载
    使用51单片机和<b class='flag-5'>MFRC522</b><b class='flag-5'>实现</b><b class='flag-5'>RFID</b>的源代码和资料合集免费下载

    MFRC522测试程序分享

    使用STC89C52开发测试MFRC522的程序,已编译可用。测试结果通过串口输出,可用计算机接收。你也可以使用其他51单片机实现
    发表于 05-04 10:13 2次下载

    mfrc522工作原理

    MFRC522是一种高度集成的射频(RF)芯片,用于实现与常见射频识别(RFID)标签的通信。它可以用于各种应用,如门禁系统、智能交通系统、仓库管理等。在本文中,我们将详细介绍MFRC522
    的头像 发表于 01-09 14:15 3765次阅读

    ESP32驱动MFRC522 RFID模块读写IC卡数据

    本文将介绍ESP32开发板驱动MFRC522 RFID模块,读取RFID卡原始数据、获取RFID卡的UID,并将个人数据添加到RFID卡中。
    的头像 发表于 05-28 15:52 696次阅读
    ESP32驱动<b class='flag-5'>MFRC522</b> <b class='flag-5'>RFID</b>模块读写IC卡数据