Проект недоступен для бесплатного скачивания! Если вы заинтересованы в приобретении программной части проекта с функциями, описанными на данной странице, свяжитесь с: martinius96@gmail.com
Arduino ESP8266 ESP32 Minv Ethernet WiFi Web scraper Parser ŠPZ, EVČ, VIN HTTP POST

Проверка транспортного средства - номерной знак / VIN номер


Проект фанатского проекта HAKA - Ищу авто угон автомобиля
  • Проверка автомобиля через веб-сайт Министерства внутренних дел Словацкой Республики с использованием микроконтроллера.
  • Автомобиль может быть проверен на основе параметров:
  • номерной знак (регистрационный номер автомобиля)
  • VIN (идентификационный номер автомобиля)

  • В соответствии с выбранным параметром проверки, найденная информация затем отправляется на веб-сайт Министерства внутренних дел Словацкой Республики.
  • На странице содержится база данных об угнанных транспортных средствах, по которым объявлен поиск.
  • Информация (номерной знак / VIN) отправляется по запросу HTTP POST. Сервер ответит исходным кодом (HTML) всей страницы.
  • Совет по разработке Arduino / ESP обрабатывает исходный код всей страницы и проверяет, находится ли транспортное средство в поиске, на основе его содержимого.
  • Микроконтроллер в исходном коде ищет информацию о количестве записей, найденных для данного номера VIN, - он анализирует отдельные строки исходного кода.
  • Если указано 0, автомобиль не находится в поиске. Если запись равна 1 или более, автомобиль находится в поиске.
  • Бесплатная версия содержит только список автомобилей, которые вы ищете, независимо от того, находится ли он в поиске. Метод ввода - номерной знак / VIN непосредственно в исходном коде.
  • В дополнение к перечислению, есть ли другая информация о марке, модели (номер VIN / номерной знак - противоположная информация в качестве искомого параметра) , цвет автомобиля, дата угона. Метод ввода - UART / RS232, I2C, SPI, веб-сервер WiFi, кнопки + дисплей.
  • Другие примеры использования программного обеспечения:

  • OpenCV - распознавание номерного знака в реальном времени с последующей проверкой. OpenCV - rozpoznanie ŠPZ
  • Распознавание номерного знака в режиме реального времени путем реализации 1-битного изображения на платформе ESP32 / ESP8266 с модулем камеры OV7670, OV2640.
  • Взаимодействие с внешней системой с функцией фотографирования и преобразования номерных знаков в символы, например: Dahua IDE. Захваченный номерной знак можно переслать на микроконтроллер через интерфейс связи WiFi / UART / RS232 / I2C / SPI. Микроконтроллер проверяет номерной знак и, основываясь на ответе веб-сервера, может заблокировать автомобиль на стоянке, вызвать полицию, сообщить информацию вышестоящей системе.
  • Выход программы - Бесплатная версия

    Транспортное средство в поиске - Arduino + Ethernet - HAKA

    Выход программы - Платная версия

    Поиск автомобиля - платная версия - Arduino + Ethernet - HAKA

    Методы въезда номерного знака:

  • WiFi / Ethernet
  • UART / RS232
  • SPI / I2C
  • Кнопки дисплея
  • Поддерживаемые микроконтроллеры

  • Arduino + Ethernet shield Wiznet W5100 / W5500
  • ESP8266 (NodeMCU, Wemos D1 Mini)
  • ESP32 (Devkit)
  • Исходники - бесплатная версия - включать только проверку номерного знака:


    Arduino + Ethernet W5100


    /*|----------------------------------------------------------|*/
    /*|OVERENIE ŠPZ - Arduino + Ethernet W5100                   |*/
    /*|Author: Bc. MARTIN CHLEBOVEC                              |*/
    /*|EMAIL: martinius96@gmail.com                              |*/
    /*|DONATE: https://paypal.me/chlebovec                       |*/
    /*|----------------------------------------------------------|*/
    #include <SPI.h>
    #include <Ethernet.h>
    
    byte mac[] = { 0xAA, 0xBB, 0xCC, 0xAA, 0xBB, 0xCC };
    IPAddress ip(192, 168, 1, 200);
    IPAddress gateway(192, 168, 1, 1);
    char serverName[] = "www.minv.sk"; //doména Ministerstva vnútra SR
    String my_datas = "BAXXXZZ"; //Hľadané EČV --> Možno hľadať aj C značky
    int serverPort = 80;
    EthernetClient client;
    String url = "/?odcudzene-mot-vozidla";
    void setup() {
      Serial.begin(115200);
      Ethernet.begin(mac);
      Serial.println("IP adresa Ethernet shieldu:");
      Serial.println(Ethernet.localIP());
      delay(2000);
      Serial.println("Ready");
      send_datas();
    }
    
    void send_datas() {
      String data = "ec=" + my_datas;
      if (client.connect(serverName, serverPort)) {
        client.println("POST " + url + " HTTP/1.0");
        client.println("Host: " + (String)serverName);
        client.println("User-Agent: ArduinoEthernetWiznet");
        client.println("Connection: close");
        client.println("Content-Type: application/x-www-form-urlencoded;");
        client.print("Content-Length: ");
        client.println(data.length());
        client.println();
        client.println(data);
        while (client.connected()) {
          String line = client.readStringUntil('\n');
          if (line.indexOf("Podmienke vyhovuje: 1 záznam") > 0) {
            Serial.println("Po vozidle s EČV " + my_datas + " je vyhlásené pátranie! Kontaktujte políciu na čísle 158!");
            break;
          }
          if (line.indexOf("Podmienke vyhovuje: 0 záznamov") > 0) {
            Serial.println("Po vozidle s EČV " + my_datas + " nie je vyhlásené pátranie");
            break;
          }
        }
    
      } else {
        Serial.println("Problem s pripojenim na stránku Ministerstva vnútra Slovenskej republiky!");
      }
      client.stop();
    }
    
    void loop() {
    
    }
    

    ESP8266 (NodeMCU, Wemos D1 Mini)


    /*|----------------------------------------------------------|*/
    /*|OVERENIE ŠPZ - ESP8266 (NodeMCU)                          |*/
    /*|Author: Bc. MARTIN CHLEBOVEC                              |*/
    /*|EMAIL: martinius96@gmail.com                              |*/
    /*|DONATE: https://paypal.me/chlebovec                       |*/
    /*|----------------------------------------------------------|*/
    #include <ESP8266WiFi.h>
    
    const char * ssid = "WIFI_MENO";
    const char * password = "WIFI_HESLO";
    
    const char* host = "www.minv.sk";
    String my_datas = "BAXXXZZ"; //Hľadané EČV --> Možno hľadať aj C značky
    const int serverPort = 80; //http port
    WiFiClient client;
    String url = "/?odcudzene-mot-vozidla";
    
    void setup() {
      Serial.begin(115200);
      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());
      delay(2000);
      Serial.println("Ready");
      send_datas();
    }
    void send_datas() {
      String data = "ec=" + my_datas;
      if (client.connect(host, serverPort)) {
        client.println("POST " + url + " HTTP/1.0");
        client.println("Host: " + (String)host);
        client.println("User-Agent: ESP32");
        client.println("Connection: close");
        client.println("Content-Type: application/x-www-form-urlencoded;");
        client.print("Content-Length: ");
        client.println(data.length());
        client.println();
        client.println(data);
        while (client.connected()) {
          String line = client.readStringUntil('\n');
          if (line.indexOf("Podmienke vyhovuje: 1 záznam") > 0) {
            Serial.println("Po vozidle s EČV " + my_datas + " je vyhlásené pátranie! Kontaktujte políciu na čísle 158!");
            break;
          }
          if (line.indexOf("Podmienke vyhovuje: 0 záznamov") > 0) {
            Serial.println("Po vozidle s EČV " + my_datas + " nie je vyhlásené pátranie");
            break;
          }
        }
    
      } else {
        Serial.println("Problem s pripojenim na stránku Ministerstva vnútra Slovenskej republiky!");
      }
      client.stop();
    }
    void loop() {
    
    }
    

    ESP32 (Devkit)


    /*|----------------------------------------------------------|*/
    /*|OVERENIE ŠPZ - ESP32 (Devkit)                             |*/
    /*|Author: Bc. MARTIN CHLEBOVEC                              |*/
    /*|EMAIL: martinius96@gmail.com                              |*/
    /*|DONATE: https://paypal.me/chlebovec                       |*/
    /*|----------------------------------------------------------|*/
    #include <WiFi.h>
    
    const char * ssid = "WIFI_MENO";
    const char * password = "WIFI_HESLO";
    
    const char* host = "www.minv.sk";
    String my_datas = "BAXXXZZ"; //Hľadané EČV --> Možno hľadať aj C značky
    const int serverPort = 80; //http port
    WiFiClient client;
    String url = "/?odcudzene-mot-vozidla";
    
    void setup() {
      Serial.begin(115200);
      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());
      delay(2000);
      Serial.println("Ready");
      send_datas();
    }
    void send_datas() {
      String data = "ec=" + my_datas;
      if (client.connect(host, serverPort)) {
        client.println("POST " + url + " HTTP/1.0");
        client.println("Host: " + (String)host);
        client.println("User-Agent: ESP32");
        client.println("Connection: close");
        client.println("Content-Type: application/x-www-form-urlencoded;");
        client.print("Content-Length: ");
        client.println(data.length());
        client.println();
        client.println(data);
        while (client.connected()) {
          String line = client.readStringUntil('\n');
          if (line.indexOf("Podmienke vyhovuje: 1 záznam") > 0) {
            Serial.println("Po vozidle s EČV " + my_datas + " je vyhlásené pátranie! Kontaktujte políciu na čísle 158!");
            break;
          }
          if (line.indexOf("Podmienke vyhovuje: 0 záznamov") > 0) {
            Serial.println("Po vozidle s EČV " + my_datas + " nie je vyhlásené pátranie");
            break;
          }
        }
    
      } else {
        Serial.println("Problem s pripojenim na stránku Ministerstva vnútra Slovenskej republiky!");
      }
      client.stop();
    }
    void loop() {
    
    }