ESP RFID - التحكم في الوصول مع ESP8266 ، RC522 PN532 WIEGAND RDM6300
نظام التحكم في الوصول باستخدام قراء MFRC522 رخيصة ، PN532 RFID ، RDM6300 أو قراء Wiegand RFID و Microcontroller ESP8266 من ESPREFIF.
سمات
للمستخدمين
- الحد الأدنى من الجهد لإعداد نظام التحكم في الوصول ، فقط فلاش ويمكن تكوين كل شيء عبر واجهة المستخدم على الويب
- قادر على إدارة ما يصل إلى 1.000 مستخدم (حتى أكثر ممكنة)
- رائع للمساحات المصنعة والمختبرات والمدارس وما إلى ذلك
- رخيصة للبناء وسهل الصيانة
للعبث
- المصدر المفتوح (الحد الأدنى من المتغير المتشددين ، وهذا يعني المزيد من الحرية)
- استخدام بروتوكول WebSocket لتبادل البيانات بين الأجهزة ومتصفح الويب
- يتم ترميز البيانات ككائن JSON
- السجلات مموفة (تتم مزامنة الوقت من خادم NTP)
- MQTT تمكين
- bootstrap ، jQuery ، Footables للحصول على صفحات ويب جميلة لكل من شاشات الأجهزة المحمولة وسطح المكتب
- بفضل اتصال مكتبة espasyncwebserver غير متزامن
الأجهزة الرسمية
- عامل شكل صغير الحجم ، في بعض الأحيان يكون من الممكن لصقه في القراء الحاليين.
- مصدر طاقة واحد لتشغيل وحدة 12V/2A Powers ESP12 ، وقارئ RFID WIEGAND والقفل المغناطيسي لفتح الأبواب.
- دبابيس البرمجة المكشوفة لـ ESP8266
- فيما يتعلق بتصميم الأجهزة ، يمكنك الحصول على خيارات الإعداد الممكنة المتعددة:
- رنين الجرس الأمامي على القارئ إلى MCU أو تمريره من اللوحة
- تتبع حالة الباب
- تؤدي حالة القارئ السيطرة
- التحكم في حالة صناديق وضع قارئ القارئ *
- قارئ الطاقة ، القفل واللوحة من خلال 12V ، 2A PSU
- اختياريا قفل مغناطيسي الطاقة من خلال AC/DC الخارجي PSU
- من الممكن استخدام أي نوع وأي نوع من قراء Wiegand
- يتيح لك جعل نظام الوصول إلى إنترنت الأشياء مع القليل جدًا من الأسلاك
- يناسب حاويات عالمية مع جبل الدين
- الأجهزة مفتوحة المصدر
احصل على مزيد من المعلومات وشاهد خيارات الملحقات من متجر Tindie
| ماذا يقول آخرون عن ESP-RFID؟ |
|---|
| "مرحبًا ، مشروع جميل." - rotzbua |
| "تطبيقك يعمل مثل السحر" - tueddy |
| "تعثرت للتو على هذا المشروع أثناء التخطيط لفعل شيء مشابه. تم القيام به بشكل جميل للغاية!" - lifep |
| "مرحبًا ، لقد صادفت مشروعك وبدلاً من ... واو - شكرًا لجميع المساهمين على عملك الشاق!" - @byt3w4rri0r |
| "عمل رائع." - danbicks |
| "هذا مشروع مثير للإعجاب." - @appi1 |
| "أود أن أشكر كل مساهم على إنشاء هذا المشروع الملحمي." - thecellmc |
| "مبروك على عملك الرائع! هذا المشروع رائع للغاية." - Quikote |
ابدء
هذا المشروع لا يزال في مرحلة التطوير. يتم تقديم ميزات جديدة (وكذلك الأخطاء) في كثير من الأحيان وقد تنخفض بعض الوظائف. لا تتردد في التعليق أو تقديم ملاحظات.
- احصل على أحدث إصدار من هنا.
- انظر القضايا المعروفة قبل البدء على الفور.
- انظر الأمن من أجل سلامتك.
- انظر Changelog
ماذا ستحتاج
الأجهزة
- لوحة ترحيل ESP-RFID الرسمية أو
- وحدة ESP8266 أو لوحة تطوير مثل Wemos D1 Mini أو NodeMCU 1.0 مع فلاش 32 ميجابت على الأقل (يساوي 4MBYTES) (لا يتم دعم ESP32 في الوقت الحالي)
- وحدة MFRC522 RFID PCD أو وحدة قارئ PN532 NFC أو RDM6300 125KHz RFID MODULE WIEGAND READER
- وحدة ترحيل (أو يمكنك بناء دائرتك الخاصة)
- n كمية Mifare Classic 1KB (الموصى بها بسبب قاعدة التعليمات البرمجية المتاحة) PICCS (علامات RFID) مكافئة لرقم المستخدم
برمجة
باستخدام الثنائيات المترجمة
تنزيل ثنائيات مجمعة من صفحة إصدارات Github https://github.com/esprfid/esp-rfid/releases
على Windows ، يمكنك استخدام "Flash.bat" ، وسوف يسألك أي منفذ com الذي يتم توصيله ESP ثم يميضه. يمكنك استخدام أي أداة وميض والقيام بالميض يدويًا. تم وصف عملية الوامضة نفسها في العديد من الأماكن على الإنترنت.
بناء مع منصة
تعتمد بيئة البناء على منصة. اتبع الإرشادات الموجودة هنا: http://platformio.org/# !/get-started لتثبيتها ولكن تخطي خطوة platform init كما تم ذلك بالفعل ، تم تعديله وتم تضمينه في هذا المستودع. في ملخص:
sudo pip install -U pip setuptools
sudo pip install -U platformio
git clone https://github.com/esprfid/esp-rfid.git
cd esp-rfid
platformio run
عندما تقوم بتشغيل platformio run لأول مرة ، فسيقوم بتنزيل أحذية الأدوات وجميع المكتبات اللازمة تلقائيًا.
أوامر مفيدة:
-
platformio run - معالجة/بناء جميع الأهداف -
platformio run -e generic -t upload /Build and Flash فقط هدف ESP12E (NodeMCU V2) -
platformio run -t clean - Clean Project (إزالة الملفات المترجمة)
يمكن العثور على الصور (الصور) الناتجة في الدليل /bin التي تم إنشاؤها أثناء عملية الإنشاء.
كيفية تعديل المشروع
إذا كنت ترغب في تعديل الرمز ، فيمكنك قراءة المزيد من المعلومات في الملف المساهمة.
تصميم دبوس
يوضح الجدول التالي تخطيط دبوس النموذجي المستخدم لتوصيل أجهزة القراء بـ ESP:
| ESP8266 | Nodemcu/Wemos | ويغاند | PN532 | MFRC522 | RDM6300 |
|---|
| GPIO-16 | D0 | | SS (Wemos D1) | SDA/SS | |
| GPIO-15 | D8 | | | SDA/SS | |
| GPIO-13 | D7 | D0 | موسي | موسي | |
| GPIO-12 | D6 | D1 | ميسو | ميسو | |
| GPIO-14 | D5 | | SCK | SCK | |
| GPIO-04 | D2 | | | | تكساس |
| GPIO-05 | D1 | | SS | | |
بالنسبة للقراء القائم على Wiegand ، يمكنك تكوين دبابيس D0 و D1 عبر صفحة الإعدادات. بشكل افتراضي ، D0 هو GPIO-4 و D1 هو GPIO-5
خطوات
- أولاً ، Flash Firmware (يمكنك استخدام /bin/flash.bat على Windows) إلى ESP إما باستخدام Arduino IDE أو مع أداة الفلاش المفضلة لديك
- (اختياري) قم بإطلاق الشاشة التسلسلية للحصول على معلومات
- ابحث عن الشبكة اللاسلكية "ESP-RFID-XXXXXX" واتصل بها (يجب أن تكون شبكة مفتوحة ولا تتطلب كلمة مرور)
- افتح متصفحك وزيارة إما "http://192.168.4.1" أو "http: //esp-rfid.local" (.
- تسجيل الدخول إلى ESP ، كلمة المرور الافتراضية هي "المسؤول"
- انتقل إلى صفحة "الإعدادات"
- تكوين جهاز التحكم في الوصول المدهش. اضغط على زر "المسح الضوئي" للانضمام إلى شبكتك اللاسلكية ، وتكوين أجهزة RFID ، وحدة الترحيل.
- احفظ الإعدادات ، عند إعادة تشغيل ESP الخاص بك ، ستحاول الانضمام إلى شبكتك اللاسلكية.
- تحقق من عنوان IP الجديد من الشاشة التسلسلية واتصل بـ ESP مرة أخرى. (يمكنك أيضًا الاتصال بـ "http: //esp-rfid.local")
- انتقل إلى صفحة "المستخدمين"
- مسح PICC (علامة RFID) ثم يجب أن تلمح على شاشة المتصفح.
- اكتب "اسم المستخدم" أو "التسمية" لـ PICC الذي قمت بمسحه ضوئيًا.
- اختر "السماح للوصول" إذا كنت ترغب في ذلك
- انقر فوق "إضافة"
- تهانينا ، كل شيء سار على ما يرام ، إذا واجهت أي مشكلة ، فلا تتردد في طلب المساعدة على جيثب.
MQTT
يمكنك دمج ESP-RFID مع أنظمة أخرى باستخدام MQTT. اقرأ الوثائق الإضافية لجميع التفاصيل.
القضايا المعروفة
- تحتاج إلى توصيل قارئ MFRC522 الخاص بك بقارئ ESP بشكل صحيح أو سينتهي بك الأمر مع حلقة التمهيد
- يرجى أيضا التحقق من قضايا جيثب.
وقت
نحن نزام الوقت من خادم NTP (في وضع البنية التحتية للعميل -AKA). سيتطلب هذا ESP أن يكون لديك اتصال بالإنترنت. بالإضافة إلى ذلك ، يمكن لـ ESP أيضًا العمل بدون اتصال بالإنترنت (وضع Access -AKA AD-HOC-MODE) ، دون التخلي عن الوظائف. سيتطلب منك ذلك مزامنة الوقت يدويًا. يمكن لـ ESP تخزين الوقت لك حوالي 51 يومًا دون مشكلات رئيسية ، يمكن أن ينجرف وقت الجهاز من الوقت الفعلي اعتمادًا على الاستخدام ودرجة الحرارة وما إلى ذلك. لذلك يجب عليك تسجيل الدخول إلى صفحة الإعدادات ومزامنةها في الوقت المناسب. يتم دعم المناطق الزمنية مع التبديل التلقائي من وإلى وقت توفير النهار.
حماية
نحن نفترض مشروع ESP-RFID- كله-لا يوفر أمانًا قويًا. هناك PICCs متاحة يمكن تعيين UID (أرقام التعريف الفريدة) يدويًا (تعتمد ESP-RFID حاليًا فقط على تحديد مستخدميها). كما قد يكون هناك خطأ في الكود الذي قد يؤدي إلى الوصول المجاني إلى ممتلكاتك. وأيضًا ، مثل كل جهاز شبكات آخر متصل ، ESP-RFID عرضة للعديد من الهجمات بما في ذلك Man-in-Middle ، و Slute-Force ، وما إلى ذلك.
هذا مشروع بسيط من الدرجة هواية ، لا تستخدمه عند الحاجة إلى أمان قوي.
ما الذي يمكن فعله لزيادة الأمن؟ (من قبلك ومنا)
- نحن نعمل على طرق أكثر أمانًا لمصادقة علامات RFID.
- يمكنك تعطيل الشبكة اللاسلكية لتقليل سطح الهجوم. (يمكن تكوين هذا في صفحة إعدادات واجهة المستخدم على الويب)
- اختر كلمة مرور قوية لواجهة المستخدم على الويب
قابلية التوسع
نظرًا لأننا محدودون على كل من الأشياء في حجم الفلاش والذاكرة ، فقد تصبح قبيحة في وقت ما في المستقبل. يمكنك معرفة بعض نتائج الاختبار أدناه.
الاختبارات
1) كم عدد علامة RFID التي يمكن معالجتها؟
استعادة بعض بيانات المستخدم التي تم إنشاؤها عشوائيًا على نظام الملفات:
- 1000 منفصل "userfile"
- عشوائي 4 بايت طويل UID و
- أسماء المستخدمين العشوائيين و
- 4 بايت عشوائي ختم الوقت يونيكس
- لكل منها "نوع الوصول" "1 بايت صحيح" 1 "أو" 0 ".
إجمالي 122،880 بايت
يمكن معالجة ما لا يقل عن 1000 مستخدم فريد (علامة RFID) ، وتم إجراء الاختبار على Wemos D1 Mini.
هناك حاجة إلى اختبار إضافي:
- يحتاج تسجيل الاختبار. كم من الوقت يجب أن تحتاج إلى تسجيل الوصول؟ ماذا لو يحتاج الرئيس إلى سجل عام كامل؟
- الموثوقية على فلاش (هذه ولا فلاش لها دورة كتابة محدودة على خلاياهم). ذلك يعتمد على اختيار الشركة المصنعة لرقاقة الفلاش والاستخدام.
مجتمع
انضم إلى Community Chat على Gitter
المشاريع التي تستند إلى ESP-RFID
- مشروع ESP-IO لمعالجة GPIOS مع EventGhost
- ESP-RCM Room Climate Monitor مع ESP8266 ، HTU21D ، SI7021 ، AM2320
- يتم توفير تنفيذ ESP-RFID ESP-RFID-PY من ESP-RFID بواسطة ibobik
شكر وتقدير
- RneUrink
- thunderace
- @zeraien
- Nardev
- @رومانزافا
- @Arduino12
- @pako2
- Marelab
انظر Changelog
التبرعات
إن تطوير البرامج المضمّنة المفتوحة بالكامل والمختبرة على نطاق واسع أمر صعب ويستغرق وقتًا طويلاً. يرجى التفكير في تقديم التبرعات لدعم المطورين وراء هذا البرنامج الجميل.
تبرعات معالجتها بشفافية من قبل الجماعي المفتوح ويتم الإعلان عن النفقات من قبل دفتر الأستاذ المفتوح من OC.
- 2017-10-03 Steinar-T
- 2017-12-10 Saschaludwig
- 2018-10-02 دينيس بارش
- 2019-01-12 كريس توفر سلاتر
- 2019-04-23 كلاوس بلوم
- 2019-04-25 Andre Dieteich
المساهمين
هذا المشروع موجود بفضل جميع الأشخاص الذين يساهمون.
رخصة
يتم ترخيص قطع غيار الكود التي كتبها مؤلفو مشروع ESP-RFID بموجب ترخيص معهد ماساتشوستس للتكنولوجيا ، ومكتبات الطرف الثالث التي يستخدمها هذا المشروع بموجب مخططات ترخيص مختلفة ، يرجى التحقق منها أيضًا.