我正在研究一个涉及RFID读者的项目。我编写了一个简单的.RB文件,该文件读取RFID标签并输出UID。我现在想做的是将这些数据传递给我的Ruby在Rails应用程序(2.3.x)上。我真的不知道如何做到这一点。另一个问题是,我需要在特定点上的数据,例如:我注册用户,我希望将RFID标签的UID与此用户相关。我怎么做?我必须使用事件计算机吗?还是简单地要求我的应用程序中的.rb文件?

.rb脚本(此脚本输出UID。如何将其发送到ROR(2.3.x)应用程序?

require 'rubygems'
 require 'nfc'
 NFC.instance.find do |tag|
    p tag.uid
end

谢谢。

有帮助吗?

解决方案

看来您的应用程序中有两个部分 - 服务于服务的前端,以及将用户与物理设备相关联的硬件前端。我可能错了,但我怀疑当您部署应用程序时,您希望用户走到您的数据中心以扫描其标签!

我可以看到一个明显的分离 - 您需要在用户附近有一个RFID读取器,以便他们可以在读取器前挥动RFID标签并执行某种操作,然后是用户在家中的第二部分无法访问RFID阅读器。

我建议将这两个部分保留为单独的应用程序,并拥有一些将多个RFID与用户关联的逻辑。在Rails / Active记录中,您可能具有用户模型和标签的has_many关联。

您需要创建两个应用程序 - 您的Rails应用程序和一个轻量级的桌面应用程序。桌面应用程序在您的“扫描”计算机上本地运行。首先,这可能是一个守护程序:看看“守护程序”,“守护程序”和“守护程序”宝石。

在您的Rails应用程序中,您会为在用户和RFID标签之间建立关联而建立一条路线。例如。发布到/用户/:ID/标签

您上面写的小应用程序必须将帖子发送到该地址。但是,该应用程序如何知道将标签关联的用户名?我不知道您在做什么,我无法建议。识别RFID后,您可以要求使用用户名(stdin.gets)并在命令行中键入,或者在更复杂的应用程序中生成某种唯一的令牌,并通过扫描应用程序读取进入。

例如。您可以将其作为守护程序运行,以将RFID标签与用户相关联:

require 'rubygems'
require 'nfc'
require 'httparty'

class TagAssociator
  include HTTParty
  base_uri 'example.com'
end

NFC.instance.find do |tag|
  puts "What is your username?"
  username = STDIN.gets
  TagAssociator.post('/users/#{username}/tags', :query => {:uid => tag.uid})
end
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top