Class: PhidgetRfidReader

Inherits:
RfidReader show all
Includes:
Phid
Defined in:
lib/readers_adapter/phidget_rfid_reader.rb

Overview

PhidgetRfidReader es una clase concreta de la clase RfidReader que define en detalle la estructura de los metodos de un lector RFID.

Instance Attribute Summary

Attributes inherited from RfidReader

#name, #serial, #type, #version

Instance Method Summary collapse

Methods included from Phid

callback, count_tags, db, db=, disable_loggin, enable_loggin, get_device_name, get_device_type, get_device_version, get_error_description, get_lastTag, get_serial_number, last_tag, last_tag=, level, level=, log_message, rc, rc=, rfid, rfid=, rfid_create, rfid_delete, tag_handler, tag_lost_handler, tags, tags=, turn_antenna_off, turn_antenna_on, turn_led_off, turn_led_on, wait_attachment, zErrMsg, zErrMsg=

Constructor Details

#initialize(timeout = 10, log = 'phid.log', dbname = 'rfid_events.db') ⇒ PhidgetRfidReader

Crea un nuevo lector RFID con sus atributos básicos. Adicionalmente maneja un log de registro de eventos de lecturas de etiquetas RFID, estos eventos son almacenados en una base de datos SQLite a la vez que son leidos por el lector RFID.



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/readers_adapter/phidget_rfid_reader.rb', line 19

def initialize(timeout=10,log='phid.log', dbname='rfid_events.db')
  begin
    rfid_create(dbname)
    result = wait_attachment(timeout)
    if result != 0
      raise get_error_description(result)
    end
    super(get_device_name, get_device_type, get_serial_number, get_device_version)
    puts "Device #{name}::#{serial} Found!\n"
    log_message("#{self}", "Device #{name}::#{serial} Found!\n")
    enable_loggin("#{serial}-#{log}")
    turn_antenna_on
  rescue Exception => e
      puts "ERROR: #{e}"
      raise get_error_description(result)
  end
end

Instance Method Details

#antenna(set) ⇒ Object

Activa o desactiva la antena del lector RFID.



40
41
42
43
44
45
46
# File 'lib/readers_adapter/phidget_rfid_reader.rb', line 40

def antenna(set)
  if set
    turn_antenna_on
  else
    turn_antenna_off
  end
end

#countObject

Retorna el número de eventos de lectura registrados por el lector.



80
81
82
# File 'lib/readers_adapter/phidget_rfid_reader.rb', line 80

def count
  count_tags
end

#deleteObject

Elimina el lector RFID mostrando un aviso de notificacion, con lo cual se dejara de detectar las etiquetas RFID. Adicionalmente, este evento es almacenado en el log de registro y en la base de datos SQLite.



64
65
66
67
68
# File 'lib/readers_adapter/phidget_rfid_reader.rb', line 64

def delete
  puts "Device #{name}::#{serial} Dettached!\n"
  log_message("#{self}", "Device #{name}::#{serial} Dettached!\n")
  rfid_delete
end

#lastTagObject

Retorna el último ID leído por el lector.



73
74
75
# File 'lib/readers_adapter/phidget_rfid_reader.rb', line 73

def lastTag
  get_lastTag
end

#propertiesObject

Muestra por salida estandar las propiedas básicas del lector RFID, como nombre, tipo, serial y versión.



52
53
54
55
56
57
# File 'lib/readers_adapter/phidget_rfid_reader.rb', line 52

def properties
  puts "Device Name: #{name}\n"
  puts "Device Type: #{type}\n"
  puts "Device Serial: #{serial}\n"
  puts "Device Version: #{version}\n"
end