J'ai créé une caméra réseau simple en utilisant ESP32-CAM et RTSP.
ESP32-CAM peut être développé en utilisant l'IDE Arduino ainsi que l'ESP32. Un sket appelé "Camera Server" est préparé comme exemple, et vous pouvez facilement l'utiliser comme caméra réseau en l'écrivant sur ESP32-CAM.
Après l'écriture, vous pouvez regarder la vidéo en accédant à l'adresse IP attribuée à ESP32-CAM à partir d'un navigateur. De plus, le réglage de la qualité de l'image et la détection des visages peuvent être effectués à partir du navigateur, ce qui est suffisant pour une simple caméra réseau.
Cette fois, j'ai créé une caméra réseau en utilisant RTSP sans l'utiliser. La principale raison en était que mon objectif était de «rendre la vidéo disponible / disponible dans les programmes Python».
ESP32-CAM a des fonctions WiFi et Bluetooth. Pour utiliser cette fonction au Japon, il est nécessaire d'obtenir la «conformité technique» auprès du ministère des Affaires intérieures et des Communications. L'utilisation de produits non techniques peut être soumise à des pénalités.
Voir ici pour plus de détails [wikipedia: Marque d'aptitude technique](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) Système de certification standard sans fil À propos du système de certification standard pour les terminaux
Depuis le 20 novembre 2019, un système a démarré qui vous permet d'utiliser des équipements qui n'ont pas acquis l'aptitude technique pour les expériences. Système spécial pour les expériences utilisant des équipements qui n'ont pas acquis les qualités techniques
Dans le cadre de ce système, vous pourrez utiliser l'aptitude technique non acquise à des fins expérimentales en soumettant une notification prescrite. Cependant, il existe certaines restrictions telles que la période, les normes radio disponibles et la bande de fréquences.
Cette fois, j'ai fait cette notification et j'utilise ESP32-CAM.
Lors de l'utilisation de RTSP avec ESP32-CAM cette fois, je me suis référé au référentiel suivant Micro-RTSP
L'esquisse originale utilisait ESP32-CAM en mode SoftAP (mode point d'accès). Je l'ai changé et défini une adresse IP fixe.
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);
}
De plus, dans l'esquisse originale, WebServer a été défini en plus de RTSP, mais il a été supprimé pour simplifier l'esquisse.
En Python, la vidéo d'ESP32-CAM est reçue et affichée par OpenCV.
view.py
esp_ip = ''
esp32cam_camera = cv2.VideoCapture(f"rtsp://{esp_ip}:8554/mjpeg/1")
Puisqu'il peut être traité simplement comme des données d'image du côté Python, il peut être utilisé de différentes manières telles que la reconnaissance faciale et la reconnaissance d'objets.
La source créée est téléchargée sur git. ESP32CAM_RTSP
Recommended Posts