Java - RFID CON ANTENA YAGI DESDE JAVA

 
Vista:

RFID CON ANTENA YAGI DESDE JAVA

Publicado por JULIO (1 intervención) el 08/10/2018 20:18:00
Amigos buenas tardes y disculpen las molestias que pueda provocar.
necesito extraer la información de un chip RFID desde una antena Yagi programado desde JAVA, ya me puedo conectar pero no me aparece todo el contenido, solo una parte, alguno de ustedes podría ayudarme a extraer todo lo almacenado del chip? les agradecería mucho.
este es mi código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
import com.impinj.octane.BitPointers;
import com.impinj.octane.ImpinjReader;
import com.impinj.octane.MemoryBank;
import com.impinj.octane.OctaneSdkException;
import com.impinj.octane.ReaderMode;
import com.impinj.octane.ReportMode;
import com.impinj.octane.Settings;
import com.impinj.octane.TagFilter;
import com.impinj.octane.TagFilterMode;
import com.impinj.octane.TagFilterOp;
import java.util.Scanner;
 
 
public class Arcos {
 
    public static String targetTag = "targetTag";
 
    public static void main(String[] args) {
        try {
            String hostname = "192.168.1.10";
 
            if (hostname == null) {
                throw new Exception("Must specify the '"
                        + hostname + "' property");
            }
 
            ImpinjReader reader = new ImpinjReader();
 
            // Connect
            System.out.println("Connecting to " + hostname);
            reader.connect(hostname);
 
            // Obtener la configuración por defecto
            Settings settings = reader.queryDefaultSettings();
 
            settings.getReport().setIncludeAntennaPortNumber(true);
            settings.getReport().setMode(ReportMode.Individual);
 
            settings.setReaderMode(ReaderMode.AutoSetDenseReader);
 
            String targetEpc = System.getProperty(targetTag);
 
            // esto coincidirá con los primeros 16 bits del EPC objetivo. 
            if (targetEpc != null) {
                TagFilter t1 = settings.getFilters().getTagFilter1();
                t1.setBitCount(16);
                t1.setBitPointer(BitPointers.Epc);
                t1.setMemoryBank(MemoryBank.Epc);
                t1.setFilterOp(TagFilterOp.Match);
                t1.setTagMask(targetEpc);
                settings.getFilters().setMode(TagFilterMode.Filter1OrFilter2);
                System.out.println("Matching 1st 16 bits of epc "+ targetEpc);
            }
 
 
 
            // habilitar ambos filtros si están configurados
            if ((targetEpc != null)) {
                settings.getFilters().setMode(TagFilterMode.Filter1AndFilter2);
            }
 
            // Aplicar la nueva configuración.
            //Esta es la segunda clase
            reader.applySettings(settings);
            reader.setTagReportListener(new TagReportListenerImplementation());
 
            // Iniciar el lector
            reader.start();
 
            System.out.println("Press Enter to exit.");
            Scanner s = new Scanner(System.in);
            s.nextLine();
 
            System.out.println("Stopping  " + hostname);
            reader.stop();
 
            System.out.println("Disconnecting from " + hostname);
            reader.disconnect();
 
            System.out.println("Done");
        } catch (OctaneSdkException ex) {
            System.out.println(ex.getMessage());
        } catch (Exception ex) {
            System.out.println(ex.getMessage());
            ex.printStackTrace(System.out);
        }
    }
 
}

en la segunda clase tengo lo siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import com.impinj.octane.ImpinjReader;
import com.impinj.octane.Tag;
import com.impinj.octane.TagReport;
import com.impinj.octane.TagReportListener;
import java.util.List;
 
 
public class TagReportListenerImplementation implements TagReportListener {
 
    @Override
    public void onTagReported(ImpinjReader reader, TagReport report) {
        List<Tag> tags = report.getTags();
 
        for (Tag t : tags) {
            if (t.isAntennaPortNumberPresent()) {
            System.out.print("folio: "+t.getEpc().toHexString()+
                    "\t Antena: " + t.getAntennaPortNumber()+"\n");
            }
            else{
                System.out.print("puerto no detectado");
            }
        }
    }
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder