[PYTHON] Ich habe eine einfache Netzwerkkamera hergestellt, indem ich ESP32-CAM und RTSP kombiniert habe.

Ich habe eine einfache Netzwerkkamera mit ESP32-CAM und RTSP erstellt.

Gründe für die Verwendung von RTSP

ESP32-CAM kann sowohl mit der Arduino IDE als auch mit ESP32 entwickelt werden. Eine Skizze namens "Camera Server" wird als Beispiel erstellt, und Sie können sie problemlos als Netzwerkkamera verwenden, indem Sie sie in ESP32-CAM schreiben.

Nach dem Schreiben können Sie das Video ansehen, indem Sie über einen Browser auf die IP-Adresse zugreifen, die ESP32-CAM zugewiesen wurde. Darüber hinaus können die Bildqualitätsanpassung und die Gesichtserkennung über den Browser gesteuert werden, was für eine einfache Netzwerkkamera ausreicht.

Dieses Mal habe ich eine Netzwerkkamera mit RTSP erstellt, ohne sie zu verwenden. Der Hauptgrund dafür war, dass mein Ziel darin bestand, "Videos in Python-Programmen verfügbar zu machen".

Vorsichtsmaßnahmen bei Verwendung von ESP32-CAM

ESP32-CAM verfügt über WLAN- und Bluetooth-Funktionen. Um diese Funktion in Japan nutzen zu können, muss das Ministerium für innere Angelegenheiten und Kommunikation "Technische Konformität" einholen. Die Verwendung nicht technischer Produkte kann mit Strafen belegt werden.

Siehe hier für Details [Wikipedia: Technische Eignungsmarke](https://ja.wikipedia.org/wiki/%E6%8A%80%E9%81%A9%E3%83%9E%E3%83%BC%E3%82%AF #% E6% A6% 82% E8% A6% 81) Drahtloses Standardzertifizierungssystem Informationen zum Standardzertifizierungssystem für Endgeräte

Ab dem 20. November 2019 wurde ein System gestartet, mit dem Sie Geräte verwenden können, die für Experimente nicht technisch geeignet sind. Spezielles System für Experimente mit Geräten, die nicht technisch geeignet sind

Unter diesem System können Sie die nicht erworbene technische Eignung für experimentelle Zwecke nutzen, indem Sie eine vorgeschriebene Benachrichtigung einreichen. Es gibt jedoch bestimmte Einschränkungen wie den Zeitraum, die verfügbaren Funkstandards und das Frequenzband.

Dieses Mal habe ich diese Benachrichtigung gemacht und verwende ESP32-CAM.

ESP32-CAM-Skizze

Bei der diesmaligen Verwendung von RTSP mit ESP32-CAM habe ich auf das folgende Repository verwiesen Micro-RTSP

Änderungen gegenüber der ursprünglichen Skizze

In der ursprünglichen Skizze wurde ESP32-CAM im SoftAP-Modus (Access Point-Modus) verwendet. Ich habe es geändert und eine feste IP-Adresse festgelegt.

wsp32-cam.ino



WiFi.config(ip, gatway, subnet);
while (WiFi.status() != WL_CONNECTED)
  {
    Serial.print("Attempting to connect to SSID: ");
    Serial.println(ssid);
    WiFi.begin(ssid, password);

    delay(10000);
  }

In der ursprünglichen Skizze wurde WebServer zusätzlich zu RTSP festgelegt, jedoch zur Vereinfachung der Skizze gelöscht.

Verarbeitung auf der Python-Seite

In Python wird das Video von ESP32-CAM von OpenCV empfangen und angezeigt.

view.py


esp_ip = ''
esp32cam_camera = cv2.VideoCapture(f"rtsp://{esp_ip}:8554/mjpeg/1")

Da es auf der Python-Seite einfach als Bilddaten behandelt werden kann, kann es auf verschiedene Arten verwendet werden, z. B. als Gesichtserkennung und Objekterkennung.

Die erstellte Quelle wird auf git hochgeladen. ESP32CAM_RTSP

Recommended Posts

Ich habe eine einfache Netzwerkkamera hergestellt, indem ich ESP32-CAM und RTSP kombiniert habe.
Ich habe eine einfache Schaltung mit Python gemacht (AND, OR, NOR, etc.)
Ich habe mit Python einen einfachen Blackjack gemacht
Ich habe ein Netzwerk erstellt, um Schwarzweißbilder in Farbbilder umzuwandeln (pix2pix)
Ich habe eine einfache Brieftasche aus Bitcoin mit Pycoin gemacht
Erstellen Sie ein Layout, indem Sie Dash und Bootstrap kombinieren
Ich habe einen einfachen RSS-Reader ~ C Edition ~ gemacht
〇✕ Ich habe ein Spiel gemacht
Ich habe versucht, LINE BOT mit Python und Heroku zu machen
Ich habe ein einfaches Tippspiel mit tkinter of Python gemacht
Ich habe versucht, eine Rangliste zu erstellen, indem ich das Mitgliederteam der Organisation abgekratzt habe
Ein einfacher interaktiver Musikplayer mit Chuck und OpenPose
Ich habe eine einfache Buch-App mit Python + Flask ~ Introduction ~ erstellt
Ich habe zum ersten Mal eine Überwachungskamera mit Raspberry PI gemacht.
Ich habe Chatbot mit LINE Messaging API und Python erstellt
Ich habe einen neuronalen Netzwerkgenerator erstellt, der auf FPGA läuft
Ich habe einen Python-Text gemacht
Ich habe einen Zwietrachtbot gemacht
Ich habe versucht, einen einfachen Kredit-Score mit logistischer Regression zu erstellen.
Ich habe ein Spiel namens Battle Ship mit Pygame und Tkinter gemacht
Ich habe mit Python, Flask und Heroku ein Nyanko-Tweet-Formular erstellt
Einfacher Netzwerkbetrieb durch Verbindung von Cisco DNA Center und Taktschalter
Ich habe einen Twitter-Bot erstellt, der das von #PokemonGO gefangene Pokemon murmelt
Ich ließ RNN Sin Wave lernen und sagte es voraus: Hyper-Parameter-Anpassung
[Python] Ich habe einen Bildbetrachter mit einer einfachen Sortierfunktion erstellt.
Ich habe einen Discord-Chat-Lesebot erstellt, indem ich das Erscheinungsbild nachgeahmt habe
Ich habe Chatbot mit der LINE Messaging API und Python (2) ~ Server ~ erstellt
Ich habe einen Chat-Chat-Bot mit Tensor2Tensor erstellt und diesmal hat es funktioniert
Ich habe eine C ++ - Lernseite erstellt
Ich habe einen Line-Bot mit Python gemacht!
Ich habe ein CUI-basiertes Übersetzungsskript erstellt (2)
Ich habe einen Wikipedia Gacha Bot gemacht
Ich habe mit Python eine Lotterie gemacht.
Ich habe ein CUI-basiertes Übersetzungsskript erstellt
Ich habe versucht, ein zweischichtiges neuronales Netzwerk zu implementieren
Einfache Theorie und Implementierung des neuronalen Netzes
Ich habe mit Python einen Daemon erstellt
Ich habe eine Art einfaches Bildverarbeitungswerkzeug in der Sprache Go erstellt.
Ich habe ein Programm erstellt, um Sie per LINE zu benachrichtigen, wenn Schalter eintreffen
Ich habe einen einfachen Timer erstellt, der vom Terminal aus gestartet werden kann
Ich habe ein Programm erstellt, um einzugeben, was ich gegessen habe, und um Kalorien und Zucker anzuzeigen
Erstellt ein Bildunterscheidungsmodell (cifar10) unter Verwendung eines Faltungs-Neuronalen Netzwerks
Django super Einführung von Python-Anfängern! Teil 5 Ich habe eine supereinfache Tagebuchanwendung mit einer klassenbasierten Allzweckansicht erstellt