Domowy monitoring na każdą kieszeń z ESP32-CAM 3

 

Cześć! :) 

W tym projekcie przeprowadzimy Cię przez proces zbudowania kamerki monitorującej na IP z płytką ESP32-CAM. Kamera ESP32 będzie tworzyć serwer sieciowy do streamowania wideo, do którego będzie możliwość uzyskania dostępu za pomocą dowolnego urządzenia w sieci WiFi. 

Projekt może służyć jako kamera bezpieczeństwa przed domem, lub również jako niania elektroniczna do monitorowania swojego dziecka, gdy znajduję się w innym pomieszczeniu.

Efekt finalny będzie następujący:


Spis treści:

  1. Wymagane komponenty
    1. ESP32-CAM
    2. Konwerter USB CP2102
    3. Przewody męsko-żeńskie
    4. Wtyk Micro-USB
  2. Konfiguracja projektu 
    1. Instalowanie środowiska Arduino IDE 
    2. Program do obsługi kamerki 
    3. Wgrywanie programu do kamerki ESP32 
    4. Sprawdzenie obrazu kamery 
    5. Przykładowe ostateczne połączenie kamery           

1. Wymagane komponenty 

ESP32-CAM

 

Specyfikacja:

  1. 32 bitowy dwurdzeniowy procesor z maksymalnym taktowaniem 160MHz;
  2. 802.11b/g/n Wi-Fi Bluetooth SoC;
  3. 520 KB pamięci SRAM;
  4. 4 M PSRAM;
  5. Obsługuje UART/SPI/I2C/PWM/ADC/DAC;
  6. Wbudowana dioda FLASH do oświetlania;
  7. Czytnik kart TF/MicroSD;
  8. Wiele trybów pracy w uśpieniu;
  9. Tryb pracy Wi-Fi: STA/AP/STA+AP;
  10. Smart Config / AirKiss;
  11. Możliwość zmiany firmware'u zdalnie;
  12. Kamera OV2640 z maksymalną rozdzielczością do 2 MPX;
  13. Złącze IPEX do podłączenia
Wymiary ESP32-CAM

Wymiary:

  • Szerokość: 27 mm
  • Długość: 39 mm
  • Wysokość (od końcówki pinów do zamontowanej kamery jak na obrazku wyżej): 18 mm
  • Waga: 6.5 g

Konwerter USB CP2102

 

Specyfikacja:

  1. Układ: CP2102
  2. Złącze: USB A
  3. Wyprowadzone sygnały na złącze goldpin: TX, RX, DTR, CTS, GND, VCC
  4. 3x Diody LED służące do sygnalizacji następujących operacji: wysyłanie danych, odbieranie danych, zasilanie.
  5. Napięcie na pinie VCC: 5V
  6. Poziom logiczny sygnałów: RX, TX, DTR - 3.3V

Zworki męsko-żeńskie

Wtyk Micro-USB 5 pinów

Specyfikacja:

  • Dostęp do wszystkich linii zawartych w kablu USB.
  • Typ złącza: Micro-USB.
  • Dwa otwory montażowe, każdy o średnicy 3,5 mm.
  • Rozmiar: 1,5 x 1,4 cm

2. Konfiguracja projektu

W tym tutorialu użyjemy Arduino IDE do zaprogramowania mikrokontrolera ESP32-CAM. 

Arduino IDE można pobrać ze strony: https://www.arduino.cc/en/software

Po instalacji programu należy dodać dodatek ESP32 w następujący sposób: 

  1. Po uruchomieniu Arduino IDE, w lewym górnym rogu przejść do zakładki
    Plik > Preferencje (File > Preferences)


    Dodawanie biblioteki wspierającej ESP32-CAM
  2. W polu „Dodatkowe adresy URL do menedżera płytek” wpisać: https://dl.espressif.com/dl/package_esp32_index.json 


    Wskazanie adresu do pobrania biblioteki dla ESP32-CAM
  3. Przejść do Menedżeru płytek.
    Narzędzia > Płytka > Menedżer płytek… (Tools > Board > Boards Manager…)


    Menadżer Płytek

     

  4. Wyszukać dodatek ESP32 oraz go zainstalować.
Wyszukiwanie dodatku ESP32

2.2 Program do obsługi kamery

Następnie po pomyślnym zainstalowaniu środowiska Arduino IDE, należy zaprogramować mikrokontroler. Poniżej został przedstawiony przykładowy kod do stworzenia serwera dla kamerki z komentarzami w języku polskim.

 

Kod źródłowy jest dostępny do pobrania tutaj: https://gist.github.com/cjaca/7a23ea9e8f857c8b816bd5737959b9e7

Arduino IDE udostępnia również przykładowy kod do tworzenia serwera. Można go znaleźć poprzez wybranie opcji Plik > Przykłady > ESP32 > Camera > CameraWebServer

Uzyskanie przykładowych kodów źródłowych

 

2.3 Wgrywanie programu do ESP32-CAM

Po napisaniu kodu następnym krokiem jest dodawanie go do płytki. Do tego potrzebny będzie programator, odpowiednie przewody i opcjonalna jest płytka stykowa.

Wykonać następujące połączenia: ESP32 CAM

Programator

GND

GND

5V

VCC(5V)

U0T

RX

U0R

TX

GPIO 0

GND

Połączenie ESP32-CAM z programatorem

 

Ważne jest, aby podczas wgrywania programu było połączenie IO0 oraz GND.

Aby wgrać program na moduł należy wykonać następujące czynności w środowisku Arduino IDE:

  • Narzędzia > Płytka oraz wybrać AI-THINKER ESP32-CAM
Wybieranie odpowiedniej płytki

 

  • Narzędzia > Port oraz wybrać odpowiedni port (jeśli port się nie pokazuję to najpierw spróbuj wsadzić programator do innego portu USB, sprawdź wszystkie połączenia, programator podczas wpięcia do komputera powinien się zaświecić)
Wybór portu komunikacyjnego

 

  • Wgrać program na płytkę za pomocą przycisku Wgraj, który znajduję się w lewym górnym rogu środowiska Arduino IDE
Umiejscowienie przycisku "Wgraj"

 

Jeśli w konsoli widoczna będzie wiadomość connecting…___... (Rys. 16) to należy nacisnąć przycisk RST, który znajduję się po drugiej stronie płytki ESP32-CAM 

Komunikat łączenia płytki

 

Umiejscowienie przycisku RST na ESP32-CAM

 

Po wgraniu programu należy odłączyć połączenie IO0 oraz GND. Następnie włączyć monitor portu szeregowego (Narzędzia > Monitor portu szeregowego)

Uruchomienie monitora portu szeregowego

 

Upewnić się, że szybkość transmisji jest włączona na 115200 tak jak widać na kolejnym rysunku:

Widok monitora portu szeregowego



Nacisnąć przycisk RST na płytce ESP32-CAM (widoczna na Rys. 17) oraz po chwili pojawi się komunikat Stream kamery jest gotowy! Idz do: …

Komunikat informujący o poprawnym działaniu programu

2.4 Sprawdzenie obrazu kamery

Program wysyła adres strony na którym będzie widoczny obraz rzeczywisty kamerki w tym przypadku jest to http://192.168.1.24 po wpisaniu podanego adresu w przeglądarce internetowej można podglądać widok kamery.

Przykładowy widok z kamery

2.5 Przykładowe ostateczne połączenie kamery

Do zasilania płytki potrzebne jest zasilanie 5V, do przykładu została użyta płytka PCB 5 pin z gniazdem Micro-USB.

Przykładowy schemat końcowego efektu projektu

 

W ten sposób uzyskaliśmy działający monitoring w 20 minut :) 

 

 

Aktualizacja: 25.06.2023 - Zmiana schematu połączeniowego do zaprogramowania modułu.

Komentarze do wpisu (3)

1 marca 2024

Cześć, projekt ok. Podążając zgodnie z instrukcja, utknąłem na wgrywaniu programu na płytkę. Wyskoczył mi błąd - Compilation error: text section exceeds available space in board Znalazłem w internecie, że program jest za duży. Pewnie coś zrobiłem nie tak, a może rzeczywiście program jest za duży?

10 maja 2024

Proszę sprawdzić, czy został wybrany odpowiedni rodzaj pamięci w menedżerze płytek (4MB).

2 sierpnia 2024

Po wgraniu programu, zresetowaniu płytki i próbie wejścia na podany adres IP strona nie ładuje się, a w monitorze portu szeregowego wyskakuje co pare sekund błąd "Uchwycenie obrazu się nie powiodło" dopóki strona próbuje się zładować by ostatecznie "przewane połączenie". Co zrobić?

do góry
Sklep jest w trybie podglądu
Pokaż pełną wersję strony
Sklep internetowy Shoplo.pl, powered by Shoper.