Inhoudsopgave:
2025 Auteur: John Day | [email protected]. Laatst gewijzigd: 2025-01-13 06:57
Met het Fingerprint Voting Online System kunnen de kiezers hun stem volledig gedigitaliseerd uitbrengen door hun informatie te verzamelen en te bevestigen door de vingerafdruk via het apparaat te scannen en de gegevens op een server op te slaan. Het heeft een gebruiksvriendelijke GUI (Graphic User Interface) voor het uitbrengen van hun stem. Het online stemsysteem met vingerafdrukken helpt bij het identificeren van mensen die al hebben gestemd. Het slaat gegevens op zowel op de server als in het stemapparaat op. Zodat dubbele controle van stemmen kan worden gedaan. Het apparaat wordt volledig bestuurd vanaf de server, inclusief het wachtwoord, naam van de partij. Het apparaat is makkelijk mee te nemen en ook nog eens licht van gewicht. Het resultaat wordt ook meteen berekend.
Stap 1: GEBRUIKTE MATERIALEN
1. Raspberry Pi 3 Model B+
2. LCD-aanraakscherm 7 inch
3. USB naar serieel converter
4. R307 optische vingerafdruklezer sensormodule
5. Kartonnen en verenvorm
6. USB-adapter 5V 3A en kabel
7. HDMI-HDMI-kabel
8. Draadloos toetsenbord
Stap 2: HARDWARE AANSLUITEN
Sluit de HDMI-HDMI-kabel van de Raspberry HDMI-poort aan op de Touch Screen HDMI-poort. Neem de USB-kabel en verbind deze van Touch Screen met de USB-pin van Raspberry voor de werking van touch. Sluit vervolgens de USB Serial Converter-pinnen aan op de vingerafdruksensormodule. Sluit de seriële converter aan op de USB-poort van de Raspberry. Maak de doos op maat met behulp van karton en verenvorm. Plaats de Vingerafdruksensor zodanig dat de vinger goed op de Vingerafdruksensor kan worden geplaatst. Vandaar dat hardware klaar is
Stap 3: INSTELLEN VAN GUI
De GUI is ontwikkeld in python 3 met behulp van de Tkinter-bibliotheek. De VVOS.py is het uit te voeren programma. Voordat het programma wordt uitgevoerd, moeten de benodigde pakketten worden geïnstalleerd:
Tkinter-pakket (meestal in python)
PIL-pakket (voor behang)
urllib-pakket
gspread-pakket
oauth2client-pakket
Nadat alle pakketten zijn toegevoegd, is het programma klaar om uit te voeren. Daarvoor moet de vingerafdruk in de sensor worden opgeslagen. Daarvoor is er een fingerprint.py-bestand om Fingerprint te uploaden. Voer de vingerafdrukadressering van 9 uit en sla deze op. Hier heb ik de GUI zo ontwikkeld dat 9 vingerafdrukken voor één persoon kunnen worden toegevoegd. Sla het adres op in veelvouden van 9 (9-17, 18-26, ……). Hier sla ik de vingerafdruk op in de sensor zelf. Mijn server heeft onvoldoende ruimte om een vingerafdruksjabloon te uploaden. Maar de gegevensoverdracht is volledig van de server. Voer na het opslaan van de vingerafdruksjabloon het programma VVOS.py uit. Er verschijnt een venster. Wijzig het wachtwoord van de server. Wanneer er wordt gestemd, wordt er ook een tekstbestand opgeslagen in de map zelf met de gegevens van de mensen op wie ze hebben gestemd.
Stap 4: INSTELLEN VAN DE SERVER
Hier heb ik Google Spreadsheet als mijn server gebruikt.
Opzetten van Google Spreadsheet en API
1. Ga naar de Google API's-console.
2. Maak een nieuw project aan.
3. Klik op API inschakelen.
4. Zoek naar de Google Drive API en schakel deze in.
5. Maak referenties voor een webserver om toegang te krijgen tot toepassingsgegevens.
6. Geef het serviceaccount een naam en verleen het de Projectrol van Editor.
7. Download het JSON-bestand.
8. Kopieer het JSON-bestand naar uw codemap en hernoem het naar VVOS.json
Er is nog een laatste vereiste stap om de python-toepassing te autoriseren, en het is gemakkelijk te missen
Zoek de client_email in client_FVOS.json. Terug in uw spreadsheet, klikt u op de knop Delen in de rechterbovenhoek en plakt u het e-mailadres van de klant in het veld Personen om het bewerkingsrechten te geven. Druk op Verzenden.
Als u deze stap overslaat, krijgt u een gspread.exceptions. SpreadsheetNotFound-fout wanneer u probeert toegang te krijgen tot de spreadsheet vanuit Python.
Voor meer details zie:
www.twilio.com/blog/2017/02/an-easy-way-to-read-and-write-to-a-google-spreadsheet-in-python.html
Voeg vervolgens de velden toe zoals weergegeven in de afbeelding en voeg vervolgens de naam en details van de persoon toe.
Stap 5: AFWERKING
Na het uploaden van de gegevens. De server is klaar. Wijzig de rij of kolom met veldnamen niet. Omdat ze voorgedefinieerd zijn in codes. Vergeet niet het JSON-bestand te downloaden en de e-mail-ID aan de spreadsheet te koppelen.
Om het volledige bestand hier te downloaden: