[JS / ActiveX] RFID scanner aanroepen

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Styxxy
  • Registratie: Augustus 2009
  • Nu online
Hoi,

Ik zit al enkele dagen met een erg lastig probleem te worstelen. Met name: ik wil/moet een RFID lezen integreren in Internet Explorer (en Firefox). Hieronder even een duidelijkere schets van het probleem.

De studentenvereniging waarvoor ik in het ICT team zit, werkt momenteel samen met een bedrijf dat enkele applicaties ontwikkelt in APEX (van Oracle). Nu zijn deze applicaties zo goed als afgewerkt, behalve een laatste component. Dit component moet er voor zorgen dat onze lidkaarten ingescand kunnen worden om zo het lid te kunnen identificeren. De lidkaarten zijn eigenlijk RFID's, waarvoor we ook scanner hebben. Deze scanners hebben echter een erg low-level driver, waarvoor wij drie jaar geleden een C# wrapper hebben geschreven. Probleem is: de persoon die de code beheerde, is de code kwijt gespeeld. We hebben dus enkel nog maar beschikking over de DLL.

De bedoeling is dus nu om in de browser, de scanner aan te roepen (via de wrapper) om zo de kaartnummer te verkrijgen (aan de hand van die nummer zoeken we het lid dan op). Probleem is nu echter, ik vind nergens een manier om deze DLL aan te roepen. Ik ben begonnen met de integratie met Internet Explorer (die heeft hogere prioriteit dan Firefox), echter nu weet ik niet meer hoe ik verder moet. Ik heb al geprobeerd met ActiveX te spelen, echter dat doet het ook niet echt. Web User Controls (geschreven in C#) zijn ook niet echt hetgeen ik nodig heb.

Volgende zoekopdrachten brachten me niet tot het einddoel: "internet explorer activex", "internet explorer rfid" (en nog enkele combinaties met "rfid" "scanner" "reader" en noem maar op).

Nu richt ik, als laatste redmiddel, me tot jullie. Hoe kan ik deze scanner integreren in de website, zodat deze aangeroepen kan worden (in Internet Explorer en/of Firefox)?

Acties:
  • 0 Henk 'm!

  • Snake
  • Registratie: Juli 2005
  • Laatst online: 07-03-2024

Snake

Los Angeles, CA, USA

1) je hebt vast backups van de code ;)
2) Reflector om de DLL te decompilen?
3) Als je de driver moet aanspreken zal het niet / moeilijk gaan via een webapp.

De RFID heeft toch een uniek ID. Die kan je opvragen. Wat ik zie bij scanners is dit: een textbox krijgt de focus, de barcode wordt gescanned en op dat moment plakt de software eigelijk de unieke code in die textbox.

Nu weet ik niet hoe dat met jouw scanner werkt maar als je het kan inlezen kan je het sowieso naar het clipboard kopieren.

Going for adventure, lots of sun and a convertible! | GMT-8


Acties:
  • 0 Henk 'm!

  • Styxxy
  • Registratie: Augustus 2009
  • Nu online
1) Spijtig genoeg geen backups. De DLL was een jaar voor mijn komst ontwikkeld door het ICT team (dat toen bestond uit 1 persoon en hij hield alle code op zijn eigen computer). Lastige zaak dus.

2) Kan ik inderdaad doen, maar op zich is de interface ook duidelijk. Het gebruik van de DLL in gewone .NET applicaties (Forms of Console, maakt niet uit) is geen probleem.

3) Het is inderdaad moeilijk of onmogelijk, het probleem is... het bedrijf ontwikkelt in APEX = webapp.

De RFID heeft inderdaad een uniek ID (een 32 tekens lange string), de wrapper geeft deze string mooi terug na de READ-call. De scanner is overigens deze scanner; geen barcode scanner ;) (die hebben we overigens ook, maar dat is geen probleem aangezien die namelijk fungeert zoals een toetsenbord).

Het kopiëren van de code naar het clipboard zie ik eerder als een noodoplossing. Ik kan daar makkelijk een aparte applicatie voor schrijven, maar dat komt de workflow niet echt ten goede (telkens een ander programma openen en daarna plakken in een veld).

---

Ik was even nog verder aan het denken. Het is mogelijk om een DLL te registreren / toe te voegen aan de .NET library (dus dat die automatisch in je Object Browser staat, de reference naar deze DLL staat dus bij het .NET framework geregistreerd en kan "vrij" gebruikt worden). Als ik nu de wrapper zo laat registreren, kan ik misschien toch via een ActiveX object aanmaken die dan deze DLL oproept. Dat zal ik vanavond eens proberen.

(En nu terug naar de boeken :(, binnenkort examens in België (hoger onderwijs).)

[ Voor 3% gewijzigd door Styxxy op 30-12-2009 15:14 ]


Acties:
  • 0 Henk 'm!

  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 05-09 14:39

_Thanatos_

Ja, en kaal

Het is een .NET DLL toch? Maak dan een .NET applet (de tegenhanger van een java applet :P). Dan is er tenminste nog een kans dat het ook op een andere browser dan IE werkt. Dat is misschien geen eis, maar je wil het natuurlijk toch zo goed mogelijk oplossen. Van ActiveX weet je 100% zeker dat het alleen in IE werkt, en je kunt er niet van op aan dat het in IE9 blijft werken.

日本!🎌


Acties:
  • 0 Henk 'm!

  • Styxxy
  • Registratie: Augustus 2009
  • Nu online
_Thanatos_, ik heb die methode al tegen gekomen. Dan moet ik sowieso mijn eigen DLL in de .NET Library steken / registreren? Anders kan ik toch de functionaliteit ervan niet gebruiken?

Het liefst zou ik eigenlijk de DLL waarvan ik gebruik maak (de wrapper) op de server "hosten" en die dan ophalen.

[ Voor 24% gewijzigd door Styxxy op 30-12-2009 18:02 ]


Acties:
  • 0 Henk 'm!

  • tonyisgaaf
  • Registratie: November 2000
  • Niet online
Draai het om, maak een losstaande app die, zo gauw een RFID wordt gelezen door de scanner, een webpagina opent (d.m.v. GET of POST met de benodigde variabelen) in je browser naar keuze.

En lees je eens in hoe je een DLL in een .NET project/solution kan referencen of includen. Je hebt nu nl. een dubbel probleem: een abstract probleem hoe je de RFID scanner laat communiceren met je web-app en een praktisch probleem hoe je dat eventueel zou kunnen implementeren m.b.v. .NET.

[ Voor 44% gewijzigd door tonyisgaaf op 03-01-2010 12:55 ]

NL Weerradar widget Euro Stocks widget Brandstofprijzen widget voor 's Dashboard


Acties:
  • 0 Henk 'm!

  • Styxxy
  • Registratie: Augustus 2009
  • Nu online
tonyisgaaf schreef op zondag 03 januari 2010 @ 12:53:
Draai het om, maak een losstaande app die, zo gauw een RFID wordt gelezen door de scanner, een webpagina opent (d.m.v. GET of POST met de benodigde variabelen) in je browser naar keuze.

En lees je eens in hoe je een DLL in een .NET project/solution kan referencen of includen. Je hebt nu nl. een dubbel probleem: een abstract probleem hoe je de RFID scanner laat communiceren met je web-app en een praktisch probleem hoe je dat eventueel zou kunnen implementeren m.b.v. .NET.
Nou, het ding is namelijk het volgende...

Gebruiker vult verschillende gegevens in op een webpagina en bij de betaling moet de lidkaart gelezen worden en het lid opgezocht worden (voor eventuele kortingen). Tenzij ik een applicatie op de achtergrond run die dan de kaartlezer constant aanroept en de code in het clipboard zet. Dat is eventueel ook een methode.

Overigens, ik heb al een implementatie met de scanner gemaakt, een standalone programma. Het probleem zit 'em nu in het maken van die webapp...

Het liefst zou ik dus een manier hebben dat de gebruiker gewoon op een knop op de webpagina moet klikken en dat dan de kaartlezer geactiveerd wordt en de kaart leest (en dan wordt het lid opgezocht etc).

[ Voor 8% gewijzigd door Styxxy op 03-01-2010 13:56 ]


Acties:
  • 0 Henk 'm!

  • tonyisgaaf
  • Registratie: November 2000
  • Niet online
Styxxy schreef op zondag 03 januari 2010 @ 13:50:
[...]
Gebruiker vult verschillende gegevens in op een webpagina en bij de betaling moet de lidkaart gelezen worden en het lid opgezocht worden (voor eventuele kortingen). Tenzij ik een applicatie op de achtergrond run die dan de kaartlezer constant aanroept en de code in het clipboard zet. Dat is eventueel ook een methode.
[...]
Het liefst zou ik dus een manier hebben dat de gebruiker gewoon op een knop op de webpagina moet klikken en dat dan de kaartlezer geactiveerd wordt en de kaart leest (en dan wordt het lid opgezocht etc).
Ik denk niet dat de eindgebruiker blij is wanneer het clipboard continu overschreven wordt met barcodes. Je zou van de kaartlees-applicatie wel een input device kunnen maken: eenvoudigweg de gescande code "typen".

Kwestie van cursor in de juiste <input> en scannen.

NL Weerradar widget Euro Stocks widget Brandstofprijzen widget voor 's Dashboard


Acties:
  • 0 Henk 'm!

  • CodeIT
  • Registratie: Juni 2002
  • Laatst online: 09-09 22:04

CodeIT

Code IT

Kun je het hele proces niet in je 'eigen webbrowser' laten lopen? Je zet dan een webbrowser control op je form en je kunt je dll gewoon aanroepen. Je moet het gescande alleen in het goede vak zetten (is op te zoeken dmv de webbrowser control).

Acties:
  • 0 Henk 'm!

  • B0rf
  • Registratie: Oktober 2008
  • Laatst online: 03-10-2024
Op de website waar die RFID scanner op staat staat ook een JNI interface. Is het niet mogelijk een java-applet te maken die deze interface gebruikt en de oude driver niet te gebruiken?

Acties:
  • 0 Henk 'm!

  • Styxxy
  • Registratie: Augustus 2009
  • Nu online
tonyisgaaf schreef op maandag 04 januari 2010 @ 11:02:
[...]
Ik denk niet dat de eindgebruiker blij is wanneer het clipboard continu overschreven wordt met barcodes. Je zou van de kaartlees-applicatie wel een input device kunnen maken: eenvoudigweg de gescande code "typen".

Kwestie van cursor in de juiste <input> en scannen.
Het clipboard zou enkel overschreden worden bij het scannen van een nieuwe kaart (dus code). De "huidige" kaart wordt dus onthouden en wordt slechts eenmaal in het clipboard gezet.

Het "typen" klinkt leuk, maar daar zit ik weer met het probleem dat de klant pas zijn kaart dan op de scanner mag leggen op het moment dat het veld ook gehighlight is; wat in de praktijk gewoon meer niet dan wel zal zijn.
CodeIT schreef op maandag 04 januari 2010 @ 12:19:
Kun je het hele proces niet in je 'eigen webbrowser' laten lopen? Je zet dan een webbrowser control op je form en je kunt je dll gewoon aanroepen. Je moet het gescande alleen in het goede vak zetten (is op te zoeken dmv de webbrowser control).
Dat was een van de "backup" mogelijkheden dat ik in gedachten had. Het bedrijf waar we mee samenwerken is daar echter niet zo happig op. Ze zouden de applicatie graag in Internet Explorer en in Firefox werkend hebben (FF is ook geen probleem met de eerste "backup" mogelijkheid, gewoon securitysettings wijzigen en ik kan via JS uit het clipboard plakken).
B0rf schreef op maandag 04 januari 2010 @ 12:24:
Op de website waar die RFID scanner op staat staat ook een JNI interface. Is het niet mogelijk een java-applet te maken die deze interface gebruikt en de oude driver niet te gebruiken?
Het is niet mogelijk een JAVA-applet te maken aangezien we dan eerst nog het aanroepen van de (low-level) driver moeten implementeren. We hebben momenteel een erg goede C# wrapper hiervoor (spijtig genoeg de broncode niet meer, maar wel de DLL); we zouden deze dan ook verder willen gebruiken (aangezien ook onze ontwikkelaars, incl. ikzelf, het meest "ervaren" zijn in C#).
EDIT: verkeerd gelezen. Nuja, het blijft wel zo dat we meer ervaring hebben met C#, dus .NET lijkt ons dan ook handiger te gebruiken.
Pagina: 1