RFID система с онлайн-управлением - Попробуйте онлайн ЗДЕСЬ!!!


администратор:


  • Управляет веб-интерфейсом
  • Просмотр действий в режиме реального времени - прикрепление карты, включая ее адрес и время, когда она была прикреплена к результату проверки: VERIFIED / UNLIMITED.
  • В отчете предлагается 100 новых карточек, и он носит исключительно информативный характер.
  • В разделе «Добавить карту» администратор может подтвердить карту одним щелчком мыши - авторизовать ее, которая была прикреплена, но еще не была авторизована.
  • Если администратору известен адрес карты, которого еще нет в системе, он также может войти в систему вручную.
  • Помимо отображения последних 5 вложений, администратор видит все неавторизованные карты и авторизованные карты, которые были к ним прикреплены, включая даты и время авторизации.
  • На вкладке удаления карты вы можете авторизовать авторизованную карту - карта не будет включена в список неавторизованных карт, она будет назначена там автоматически после ее прикрепления.
  • В последней вкладке - Программа, администратор может просматривать схему считывателя RFID на плате разработки N82MCU NodeMCU, может просматривать и загружать исходный код, загруженный в данный момент в микроконтроллер.
  • Для лучшей переносимости программы NodeMCU также имеется ссылка на библиотеку считывателя RFID RC522, таблицу считывателей и NodeMCU.
  • Возможность войти в систему, отписаться от администратора, открыть дверь из Интернета в случае потери карты и т. д. доступна только в платной версии этого программного обеспечения.
  • пользователь:


  • Использует считыватели RFID, физически прикрепляя тег NFC, тег ключа, карту, браслет.
  • Если проверен подключенный чип, NodeMCU освободит дверь на 5 секунд.
  • Если пользователь не прошел проверку подлинности из-за непроверенного чипа или недоступности проверки сайта, блокировка не разблокируется - она не будет отозвана.
  • Пользователь не проинформирован о том, что он не проверил свой чип как таковой. Его попытка записывается в базу данных при условии, что NodeMCU подключается к сайту, где проверяется карта.
  • Пользователь также может использовать свою карточку банкомата, карточку ISIC или карточку сотрудника, чей физический адрес может прочитать читатель, для проверки необходимо соответствовать стандарту ISO / IEC 14443 А.
  • Принцип открытия замка:

    Технология проекта:

  • PHP - функциональность системы - проверка чипа
  • HTML - графические и функциональные элементы системы - кнопки, щелчки
  • AJAX - динамический вызов PHP-скриптов - данные в реальном времени о прикреплении чипа к считывателю RFID
  • C - Wiring - язык программирования для платы разработки NodeMCU с чипом ESP8266.
  • Бесплатная версия (проверка карты, никаких других функций безопасности):

    Аппаратное обеспечение для проекта:

    ;
  • NodeMCU v2/v3 Lolin
  • RFID RC522 (13.56MHz)
  • Электромагнитные реле - 5 вольт
  • Соленоид для блокировки - 12 вольт / 24 вольт - управляется через реле
  • Исходный код для NodeMCU 1.0 (v2/v3):

    /*|----------------------------------------------------------|*/
    /*|SKETCH PRE RFID SYSTEM S WEB ADMINISTRACIOU               |*/
    /*|VYHOTOVIL: MARTIN CHLEBOVEC                               |*/
    /*|EMAIL: martinius96@gmail.com                              |*/
    /*|Doska: NodeMCU v3 Lolin (v2 compatible)                   |*/
    /*|CORE: 2.3.0                                               |*/
    /*|WEB: https://arduino.php5.sk                              |*/
    /*|----------------------------------------------------------|*/
    #include <ESP8266WiFi.h>
    #include <WiFiClientSecure.h>
    #include <SPI.h>
    #include <RFID.h>
    const char * ssid = "MenoWifiSiete";
    const char * password = "HesloWifiSiete";
    const char * host = "arduino.php5.sk"; //bez https a www
    const int httpsPort = 443; //https port
    const int rele = 16; //GPIO16 == D0
    const char * fingerprint = "a6 02 4d e1 32 b0 0b fe 56 85 0f 84 03 ec b2 18 23 09 f0 63"; // odtlacok HTTPS cert
    #define SS_PIN 4
    #define RST_PIN 5
    RFID rfid(SS_PIN, RST_PIN); 
    unsigned long kod;
    WiFiClientSecure client; //HTTPS client
    void setup(){ 
    	Serial.begin(9600);
      	SPI.begin(); 
      	rfid.init();
      	pinMode(rele, OUTPUT);
    	WiFi.begin(ssid, password);
      	while (WiFi.status() != WL_CONNECTED) {
        		delay(500);
        		Serial.print(".");
      	}
    	Serial.println("");
      	Serial.println("WiFi uspesne pripojene");
      	Serial.println("IP adresa: ");
      	Serial.println(WiFi.localIP());
      	Serial.println("Ready");
    }
    
    void loop(){
      	if (WiFi.status() != WL_CONNECTED) {
        		WiFi.begin(ssid, password);
      	}
      	while (WiFi.status() != WL_CONNECTED) {
        		delay(500);
        		Serial.print(".");
      	}
      	if (rfid.isCard()) {
        		if (rfid.readCardSerial()) {
          			Serial.println(" ");
          			Serial.println("Card found");
          			kod = 10000*rfid.serNum[4]+1000*rfid.serNum[3]+100*rfid.serNum[2]+10*rfid.serNum[1]+rfid.serNum[0];
          			Serial.println(kod);
          			String kodik = String(kod);
          			client.stop();      
          			if (client.connect(host, httpsPort)) {
            			String url = "/rfid/karta.php?kod="+kodik;
    				//String url = "/rfid/karta.php?kod="+kodik+"&origin=Lolin";
            			client.print(String("GET ") + url + " HTTP/1.0\r\n" + "Host: " + host + "\r\n" + "User-Agent: NodeMCU\r\n" + "Connection: close\r\n\r\n");
          				while (client.connected()) {
            				String line = client.readStringUntil('\n');
            				if (line == "\r") {
              					break;
            				}	
          				}
      				String line = client.readStringUntil('\n');
      				if (line == "OK"){
    	 				digitalWrite(rele, LOW); //invertovane spinane rele active LOW
    	 				delay(5500);              //cas otvorenia dveri
      				}else if (line == "NO") {
        					digitalWrite(rele,HIGH);
    				}
      			}
              }
        	}
    	rfid.halt();
    }
    

    помолвка:


    RC522 NodeMCU
    3.3V 3.3V
    RST D1 (GPIO5)
    GND GND
    MISO D6 (GPIO12)
    MOSI D7 (GPIO13)
    SCK D5 (GPIO14)
    SDA D2 (GPIO4)
    IRQ Не занимается

    реле NodeMCU
    5V VIN / VUSB (адаптер / USB-питание)
    GND GND
    IN D0 (GPIO16)

    реле соленоид
    NO IN
    COM Не занимается
    NC 12/24 DC/AC