Skocz do zawartości

ESP32 CAM - programowanie, zasilanie, obraz z kilku kamer/modułów jednocześnie


Pomocna odpowiedź

Napisano

Witam!

Chciałem się pobawić modułami esp32-cam (tym bardziej, że są w super cenie obecnie - https://allegro.pl/oferta/plytka-rozwojowa-esp32-cam-kamera-ov2640-antena-14624791131).

Czy wszystkie moduły ESP32-CAM są oparte o ESP32 S3?

Czym/jak je najlepiej zasilać na zewnątrz/ poza domem? Czy oprócz akumulatora polecicie jakiś moduł zasilania? (mam na myśli potrzebę ładowania i jeśli to możliwe odczyt stanu akumulatora, tak żeby przesyłać raz po raz stan akumulatora)?

Jak uzyskać równolegle obraz z kilku kamer na urządzeniu końcowym ( laptop )? -> coś na wzór monitoringu z kamer.

Dzięki!

 

 

 

 

 

 

 

 

21 godzin temu, LeciZNamiPilot napisał:

anulowałem zakup

Od razu tak dramatycznie, zerknij sobie na Youtube, można tam na hasło ESP32CAM znaleźć wiele ciekawych projektów, jakieś jeździki sterowane przez WIFI, itp. Warto się pobawić jednym takim nawet jeśli do monitoringu się nie nadaje.

I oczywiście, że są moduły ESP32-S3, wystarczy zobaczyć dostępne płytki w ESP32 CORE, nawet jest taka z kamerą właśnie.

(edytowany)

Do zabawy jeden moduł mam, anulowałem większe zamówienie.

Na pewno się pobawię, bo temat jest ciekawy. Zobaczę jak to działa, wypróbuję i zawsze można zamówić jeszcze raz.

Chciałbym pobawić się w zrobienie własnego albo przynajmniej implementację gotowego algorytmu detekcji ruchu. Nie jest to takie proste, szczególnie gdy kamera ustawiona jest poza domem, gdzie mamy ruchome na wietrze krzaki, drzewa czy trawy...... Jak coś mi się uda latem wykonać, to pochwalę się na forum.

Edytowano przez LeciZNamiPilot
  • 1 miesiąc później...
Dnia 7.03.2024 o 03:28, kaczakat napisał:

Kup sobie jeden moduł do zabawy i się naciesz,  do monitoringu to się nie nadaje.

Mylisz się.

U mnie eksperymentalny monitoring na tych modułach pracuje piąty miesiąc i sprawdza się całkiem dobrze. Składają się na niego dwa ESP32-CAM zasilane przewodowo i przesyłające dane przez WiFi za pośrednictwem domowego routera do internetu, gdzie posiadam własny serwer VPS, na którym oglądam zdjęcia. Aby nie być gołosłownym (wybrałem słabe warunki i niskie rozdzielczości):

IMG_20231014_101059_hdr.thumb.jpg.258794d756235c6446142d1ee03e5954.jpgasm02.thumb.png.d48736b8c09f2de03244a94b1c1b6d3e.pngasm_interfejs.thumb.png.08a5b0ffda8543fa31e641864cb8a94d.pngobrazek1.thumb.jpg.205005f1bed8957eeb13c86201b8f69d.jpg

 

Ostatnio napisałem wykorzystanie tego modułu przy pomocy MQTT do obsługi kamery zdalnie i działa to bardzo dobrze (wąskim gardłem jest prędkość internetu, więc bardzo dobrze działa to w rozdzielczości QVGA, w wyższych też działa sensownie ale staje się powoli bardziej pokazem slajdów niż filmem).

Twoje stwierdzenie "Z ESP32 CAM możesz zapisać co najwyżej kiepską fotkę lub oglądać aktualny pokaz slajdów w trybie video" nie jest prawdziwe. Postaram się w ciągu tygodnia wrzucić jakiś filmik demonstrujący realne możliwości (ESP32-CAM + MQTT + serwer VPN strumieniujący obraz w sieci).

Tutaj mój worklog na ten temat:

Co do "podstawki do ESP CAM z portem USB za około 15zl" to może zerknij na to i nie przepłacaj: https://sklep.msalamon.pl/produkt/plytka-esp32-z-kamera-esp32-cam-wifi-ble-4-2-dedykowany-programator/

Nie bierz tego do siebie, ale to, że nie potrafisz czegoś zrobić nie oznacza jeszcze, że jest to niemożliwe. 🙂

  • Lubię! 1

Znajomy kupił 2 kamery (około 300 euro)z jakiejś firmy i dotego płaci 40 euro miesięcznie aby mieć podgląd działki w internecie. Dzwięk też ma. Jeednak to nieopłacalne według mnie.rok 500 euro. 

Szern ile cię to wyniosło i wynosi obecnie ?

  • Lubię! 1
34 minuty temu, Santiago napisał:

Szern ile cię to wyniosło i wynosi obecnie ?

Komplet: siedem czujek, dwie kamery i dwie syreny (okablowanie, Pico jako centralka itp) - około 700-1000 PLN. Z tym, że obudowy kolega wyciął mi za free.

Kosztów stałych nie mam, tyle co prąd, który to zasila, kilkuamperowy zasilacz do całości (nie mierzyłem jeszcze ile realnie bierze średnio). Mam w domu router modemem z WiFi (i API do SMS-ów). Korzystam z prepaidowego internetu Plusa (ale to ogólne łącze dla domu, a nie dedykowane dla alarmu i ono kosztuje mnie 35 zł miesięcznie - SMS-y mam za darmo) i darmowego serwera postawionego na Oracle Cloud Free Tier (to LEMP i służy do większej ilości rzeczy niż alarm).

DSCF8102.thumb.JPG.2156a496d593693eeb943e3b197411af.JPG

Na zdjęciu jest może połowa sprzętu.

Ale... Jeśli chodzi o same kamery (bez głosu) to mam już lepsze rozwiązanie, przy wykorzystaniu MQTT. Niezależne małe kamerki, które podłączasz do własnego WiFI i strumieniują obraz na serwer. Na dniach zamieszczę jego wczesną wersję na githubie.

36 minut temu, LeciZNamiPilot napisał:

Tak Chinole lecą sobie w kulki - sprzedają taniej kamerki a później buli się abonament za korzystanie z ich chmury i pełnej funkcjonalności 😄 😄 A w appkach mobilnych dodatkowo reklamy 🙂 

Zawsze płacisz za umiejętności. Jeśli potrafisz sobie to sam zrobić, wkładasz swoją naukę, umiejętności pracę to masz znacznie taniej. To nie jest bynajmniej domena Chińczyków - cały zachodni świat działa dokładnie tak samo.

10 minut temu, _LM_ napisał:

że przez mqtt leci stream? 

Obrazki lecą. Szybko lecą, więc jak się szybko je podmienia w przeglądarce, to wygląda jak stream.

  • Lubię! 1

@Szern w sumie powinienem zapytać w twoim temacie, także sorki za OT. Dwa pytania: z której wersji mqtt korzystasz i w jaki sposób wysłać do brokera tablicę bajtów - w sensie zakodowany obraz? Chodzi o samą strukturę danych 

16 minut temu, _LM_ napisał:

@Szern w sumie powinienem zapytać w twoim temacie, także sorki za OT. Dwa pytania: z której wersji mqtt korzystasz i w jaki sposób wysłać do brokera tablicę bajtów - w sensie zakodowany obraz? Chodzi o samą strukturę danych 

Po stronie ESP32: https://github.com/hideakitai/MQTTPubSubClient

#include <WiFi.h>
#include <WiFiClientSecure.h>
#include <time.h>
#include <MQTTPubSubClient.h>
#include "base64.h"

#include "esp_camera.h"
#include "soc/soc.h"           // Disable brownour problems
#include "soc/rtc_cntl_reg.h"  // Disable brownour problems

(...)

  camera_fb_t * fb = esp_camera_fb_get(); // acquire a frame

  String imgDataB64 = base64::encode(fb->buf, fb->len);
  
  esp_camera_fb_return(fb); // return the frame buffer back to the driver for reuse
     
  mqtt.publish(mqttTopicOut, imgDataB64); // send image data

(...)

Po stronie serwera: https://github.com/mgdm/Mosquitto-PHP?tab=readme-ov-file

(...)

<div>
    <iframe src="webcam3a.php" style="border:none;" height="' . $height . '" width="' . $width . '" title="kam3"></ifram
</div>

(...)

i webcam3a.php:

<?php

use Mosquitto\Client;

$username = "";
$password = "";

$host = "localhost";
$port = 1883;
$keepalive = 60;
$interface = null;

$topic = "kam3/out";
$qos = 0;

$client = new Mosquitto\Client("PHP1");
$client->setCredentials($username, $password);
$client->onMessage(function($message) use ($client) {
    $decodedData = base64_decode($message->payload);
    header("Cache-Control: no-cache");
    header("Pragma: no-cache");
    header("Refresh: 0;");
    header("Content-Type: image/jpeg");
    echo $decodedData;
    $client->exitLoop();
});

$client->connect($host, $port, $keepalive, $interface);
$client->subscribe($topic, $qos);

$client->loopForever();

?>

A tak to wygląda w rzeczywistości (kamerka i komp w Katowicach, serwer fizycznie we Franfurcie):

https://movies.metricsmaster.eu/w/mVDSLgWjqnQJcHiCkT9SyM

Przepraszam za jakość filmiku, nie bardzo mam możliwość zrobienia tego w tej chwili lepiej, ale pokazuje jak w rzeczywistości to działa. Zaznaczam, to QVGA, a łącze to nędzne LTE przycięte do 2 Mmbit/s.

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...