جدول المحتويات:

نظام التصويت عبر الإنترنت (FVOS): 5 خطوات
نظام التصويت عبر الإنترنت (FVOS): 5 خطوات

فيديو: نظام التصويت عبر الإنترنت (FVOS): 5 خطوات

فيديو: نظام التصويت عبر الإنترنت (FVOS): 5 خطوات
فيديو: شوف الندم في تضييع الوقت 2024, شهر نوفمبر
Anonim
Fingerprint Voting Online System 2 Watch on
Fingerprint Voting Online System 2 Watch on
نظام التصويت عبر الإنترنت (FVOS)
نظام التصويت عبر الإنترنت (FVOS)

يسمح نظام Fingerprint Voting Online للناخبين بالإدلاء بأصواتهم بطريقة رقمية بالكامل من خلال جمع معلوماتهم وتأكيدها عبر مسح بصمة الإصبع من خلال الجهاز وحفظ البيانات على خادم. يحتوي على واجهة مستخدم رسومية سهلة الاستخدام للإدلاء بأصواتهم. يساعد نظام التصويت عبر الإنترنت على التعرف على الأشخاص الذين أدلوا بأصواتهم بالفعل. يقوم بحفظ البيانات في الخادم وكذلك داخل جهاز التصويت. بحيث يمكن القيام بمراجعة مزدوجة للأصوات. يتم التحكم في الجهاز بالكامل من الخادم ، بما في ذلك كلمة المرور واسم الطرف. الجهاز سهل الحمل وخفيف الوزن أيضًا. يتم احتساب النتيجة أيضًا على الفور.

الخطوة 1: المواد المستخدمة

1. Raspberry Pi 3 موديل B +

2. شاشة لمس LCD مقاس 7 بوصة

3. USB لتحويل المسلسل

4. R307 وحدة استشعار قارئ بصمات الأصابع البصرية

5. الكرتون وشكل الريش

6. محول USB 5V 3A وكابل

7. كابل HDMI- HDMI

8. لوحة مفاتيح لاسلكية

الخطوة 2: توصيل الأجهزة

توصيل الاجهزة
توصيل الاجهزة

قم بتوصيل كابل HDMI-HDMI من منفذ Raspberry HDMI بمنفذ HDMI بشاشة تعمل باللمس. خذ كابل USB وقم بتوصيله من Touch Screen إلى USB pin الخاص بـ Raspberry للعمل باللمس. ثم قم بتوصيل دبابيس محول USB التسلسلي بوحدة مستشعر بصمة الإصبع. قم بتوصيل المحول التسلسلي بمنفذ USB الخاص بـ Raspberry. اجعل الصندوق المطلوب حسب الحجم باستخدام الورق المقوى وشكل الريش. ضع مستشعر بصمة الإصبع بطريقة يمكن من خلالها وضع الإصبع بشكل صحيح على مستشعر بصمة الإصبع. ومن ثم فإن الأجهزة جاهزة

الخطوة 3: إعداد واجهة المستخدم الرسومية

تم تطوير واجهة المستخدم الرسومية في Python 3 باستخدام مكتبة Tkinter. FVOS.py هو البرنامج الذي سيتم تنفيذه. قبل تنفيذ البرنامج ، يجب تثبيت الحزم اللازمة:

حزمة Tkinter (معظمها موجودة في Python)

حزمة PIL (لورق الحائط)

حزمة urllib

حزمة gspread

حزمة oauth2client

بعد إضافة جميع الحزم ، يكون البرنامج جاهزًا للتنفيذ. قبل ذلك ، يجب تخزين بصمة الإصبع في المستشعر. لذلك يوجد ملف fingerprint.py لتحميل Fingerprint. قم بتنفيذ وتخزين عنونة بصمات الأصابع من 9. هنا قمت بتطوير واجهة المستخدم الرسومية بحيث يمكن إضافة 9 بصمات لشخص واحد. احفظ العنوان في مضاعفات 9 (9-17 ، 18-26 ، ……) هنا نقوم بحفظ بصمة الإصبع في المستشعر نفسه. لا يحتوي الخادم الخاص بي على مساحة كافية لتحميل قالب بصمة الإصبع. ولكن أنا نقل البيانات بالكامل من الخادم. بعد حفظ نموذج البصمة ، قم بتنفيذ برنامج FVOS.py. ستظهر نافذة. قم بتغيير كلمة المرور من الخادم. عند التصويت ، سيتم أيضًا حفظ ملف نصي في المجلد نفسه الذي يحتوي على بيانات الأشخاص الذين صوتوا.

الخطوة 4: إعداد الخادم

إعداد الخادم
إعداد الخادم
إعداد الخادم
إعداد الخادم

لقد استخدمت هنا جداول بيانات Google كخادم خاص بي.

إعداد جداول بيانات Google وواجهة برمجة التطبيقات

1. انتقل إلى Google APIs Console.

2. إنشاء مشروع جديد.

3. انقر فوق تمكين API.

4. ابحث عن Google Drive API وقم بتمكينها.

5. إنشاء بيانات اعتماد لخادم الويب للوصول إلى بيانات التطبيق.

6. قم بتسمية حساب الخدمة ومنحه دور محرر في المشروع.

7. قم بتنزيل ملف JSON.

8. انسخ ملف JSON إلى دليل الكود وأعد تسميته إلى FVOS.json

هناك خطوة أخيرة مطلوبة للمصادقة على تطبيق python ، ومن السهل تفويتها

ابحث عن client_email داخل client_FVOS.json. مرة أخرى في جدول البيانات الخاص بك ، انقر فوق الزر "مشاركة" في الجزء العلوي الأيسر ، والصق البريد الإلكتروني للعميل في حقل "الأشخاص" لمنحه حقوق التعديل. ضرب إرسال.

إذا تخطيت هذه الخطوة ، فستحصل على خطأ gspread.exceptions. SpreadsheetNotFound عند محاولة الوصول إلى جدول البيانات من Python.

لمزيد من التفاصيل راجع:

www.twilio.com/blog/2017/02/an-easy-way-to-read-and-write-to-a-google-spreadsheet-in-python.html

ثم أضف الحقول كما هو موضح في الشكل ، ثم أضف اسم الأشخاص وتفاصيلهم.

الخطوة 5: الانتهاء

بعد تحميل البيانات. الخادم جاهز. من فضلك لا تغير صف أو عمود أسماء الحقول. نظرًا لأنها محددة مسبقًا في الرموز. لا تنس تنزيل ملف JSON وتوصيل معرف البريد بجدول البيانات.

للحصول على تنزيل الملف الكامل من هنا: https://drive.google.com/drive/folders/1_4LlJjrKN3FDjVMM9p92M9W3ud_h4hIa؟ usp = sharing

موصى به: