Qr codes lezen met webcam + php

Status
Niet open voor verdere reacties.

Hiddehoi

Gebruiker
Lid geworden
26 jun 2012
Berichten
604
Hallo,

Ik heb hier thuis een deuropener verbonden met het internet. Werkt allemaal prima, maar nu wilde ik weer eens iets nieuws.

Ik wil graag barcodes maken, dit lukt. En dan deze barcodes weer lezen d.m.v. een webcam en een php script.

Als deze code dan voorkomt in een sql database moet hij naar een bepaalde link gaan, die de deur opent.


Wat werkt nu nog niet:
Het lezen van de barcodes doe ik nu met scriptcam, werkt prima. Alleen hieruit krijg ik een <p id=decoded</p>, html dus.
Hoe kan ik het resultaat wat hier uit komt in php verder gebruiken?
En hoe kan ik 2 waardes vergelijken uit sql? Dus er staan codes in een sql database, en dan moet hij die vergelijken met de gelezen barcode van de webcam. Als deze in de database voorkomt moet hij naar een link gaan, en als hij niet voorkomt moet hij blijven staan. Alleen dan een echo dat de barcode niet voorkomt.

Wie o wie kan mij helpen?
 
Dat is een beetje afhankelijk hoe die informatie terugkomt. Waar komt de html terecht? Kun je het script niet rechtstreeks doorsturen naar een link?

Wat betreft de database maak je een standaard query waar je de WHERE clausule invult met de link informatie

Daar komt dan 1 of 0 resultaten uit. Indien je een resultaat krijgt is de waarde dus gevonden in de database

*edit* even scriptcam bekeken en het werkt via javascript. Je kunt de qr code dus direct naar een php script sturen door het mee te geven in de link
 
Laatst bewerkt:
Dank voor je antwoord, hoe kan ik dan de qr code meegeven met een link? Via $_GET?
 
Ja of via post als je dat veiliger / handiger vind.

Via get:

<je url>/phpscript.php?id=...

Op de plaats van ... Komt dan je waarde die je krijgt van de camera

In phpscript.php kun je dan via 'id' in je $_get de juiste waarde terug halen
 
Oké, dat begrijp ik nog. Alleen het probleem is juist dat ik de waarde niet krijg van de camera. Wat kan ik daar aan doen?

EDIT: hij kan hem zeg maar printen op de pagina. Maar ik kan hem niet in een variabele stoppen o.i.d.
 
Waar loop je vast? volgens de handleiding van scriptcam en normaal JS zou zoiets kunnen werken:

[JS]var barcode = "phpscript.php?id=" + $.scriptcam.getBarCode();
location.href = barcode;[/JS]
 
Dank voor het antwoord, hierbij loop ik vast:
HTML:
<button class="btn btn-small" id="btn1" onclick="$('#decoded').text($.scriptcam.getBarCode());">Decode image</button>
Die doet dus de actie read barcode en zet het resultaat in de paragraph met id decoded. Maar hoe krijg ik deze dan naar php?

Met jouw suggestie van die var lukt het wel, alleen gaat hij dan naar mijn error 404 pagina, ik heb het bestandje phpscript.php wel aangemaakt.


Alvast hartstikke bedankt.
 
Zoe te zien gebruik je JQuery, die kan prima zelf AJAX requests doen en daarin de inhoud van een element met id="btn1" meesturen.

De echte vraag is natuurlijk: hoe krijg je vanaf de deurbel de browser ze gek dat hij dezepagina laad zodat de code gescand wordt zodat het ajaxrequest wortdt verstuurd zodat PHP de deur open kan doen?

Het is sowieso makkelijker om een PS-2 scanner te nemen, die tikt de code namelijk in alsof het via een toetsenbord gedaan wordt. Als je daar een arduino aan hangt kun je ook echt de deur open doen: https://www.iprototype.nl/products/components/overige/barcode-scanner-ps2

Maar RF-ID of NFC zijn natuurlijk handigere oplossingen, dan wapper je even met je pasje en poef, open is de deur.
 
Doe eens een alert naar de samenstelling, mogelijk zit er een logica fout in. Probeer anders ook eens naar de volle URL te gaan en niet alleen phpscript.php. De verwijzing is relatief dus mogleijk zoekt die naar de file in de verkeerde locatie.
 
@PgVincent er zit al een rfid aan, en ik gebruik het ook niet professioneel. Meer voor hobby omdat het leuk is. Ik probeer technieken hiervoor te verzinnen.

@wampier het probleem is nu opgelost d.m.v. de volledige url en werk precies zoals ik het wil. Bedankt!
 
Sorry, het was al opgelost. Heb hem nu ook als opgelost gemarkeerd.

Toch bedankt voor het meedenken.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan