Question

Je travaille sur un projet qui implique un lecteur RFID. Je l'ai écrit un simple fichier .rb qui lit l'étiquette RFID et émet le uid. Ce que je veux faire est maintenant obtenir que les données à mon application Ruby on Rails (2.3.x). Je ne sais vraiment pas sur la façon de le faire. Un autre problème est que j'ai besoin des données à des points spécifiques, par exemple: i inscrire un utilisateur et je veux l'associé de uid de l'étiquette RFID avec cet utilisateur. Comment je fais ça? Dois-je utiliser la machine d'événement? ou simplement besoin du fichier .rb dans ma demande?

Script .rb (ce script affiche le uid. Comment puis-je envoyer à mon application ROR (2.3.x)?

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

Merci.

Était-ce utile?

La solution

Il semble que vous avez deux parties de votre application - une extrémité avant compatible Web à votre service, et une extrémité avant du matériel qui associe un utilisateur avec un périphérique physique. Je peux me tromper, mais je doute que lorsque vous déployez l'application que vous attendez à l'utilisateur de marcher à votre centre de données à analyser dans leur balise

Je peux voir une séparation évidente - vous devez avoir un lecteur RFID physiquement à proximité de l'utilisateur afin qu'ils puissent ondulent l'étiquette RFID devant le lecteur et effectuer une sorte d'action, puis une seconde partie où l'utilisateur est à la maison et n'a pas accès au lecteur RFID.

Je dirais qu'il faut garder ces deux parties comme des applications distinctes et ayant une certaine logique qui associe plusieurs RFIDs à ??un utilisateur. Dans Rails / Active Record vous pourriez avoir un modèle utilisateur et une association has_many à une balise.

Vous devez créer deux applications - votre application Rails, et une application de bureau léger. L'application de bureau fonctionne localement sur la machine « de balayage ». Pour commencer qui pourrait être un démon. Regard sur les « daemons », « daemon » et pierres précieuses « daemon-kit »

Dans votre Rails vous app puis faire une route pour la création de l'assocation entre un utilisateur et une étiquette RFID. Par exemple. POST / users /: id / balises

La petite application que vous avez écrit ci-dessus doit envoyer un POST à ??cette adresse. Mais comment l'application sait que le nom d'utilisateur d'associer l'étiquette avec? Sans savoir exactement ce que vous faites, je ne peux pas conseiller. Après avoir reconnu une RFID vous pouvez simplement demander le nom d'utilisateur (STDIN.gets) et tapez dans la ligne de commande, ou dans une application plus compliquée générer une sorte de jeton qui est unique et est lu via une requête GET de l'application de balayage .

Par exemple. Vous pouvez exécuter cela comme un démon pour associer une étiquette RFID avec un utilisateur:

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
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top