Smarthome

ESPHome – ESP-CAM kamera

Nem fogod vele megváltani a világot, előre szólok, de tudj róla, hogy van egy tök jó kamerás ESP board, az ESP-CAM, amivel olcsón lehet kamerád Home Assistantban.

(Ez egy SmartHome TODO projekt.)

Ezt az apró panelt 2200 Ft-ért vesztegetik jelenleg. Ha szeretnéd hozzá a programozót (USB-UART adapter shield), úgy 2700 Ft-ot kell rászánj, megkapod egy csomagban. Utóbbit amúgy ajánlom hozzá, mert tök kényelmes vele programozni, mondjuk ha ESPHome-mal használod, egynél többször nem fogod elővenni.

Mint azt láthatod, ez egy sima ESP32 dev board egyébként, csak egy kicsit eltér a megszokottaktól, mert tartalmaz

  • egy kamerát,
  • egy nagy fényerejű LED-et
  • és SD kártya slotot.

Képminőség

Szerintem már kitaláltad, hogy nem ez fogja élethűen megörökíteni az életed legszebb pillanatait. A szenzor 2 Mpx, tud elvileg 1600×1200-as felbontást is, de ez a videó streamhez már kicsit sok neki.

A videó sebessége 10 fps alapértelmezetten ESPHome-ban. Ezt nem is célszerű nagyon bolygatni, ugyanis ez a panel képes arra, hogy túlmelegedjen ha nagyon erőlteted, ilyenkor pedig meg fog hülyülni. Jobb a békesség.

A kamera egyébként látja az infrát, úgyhogy egy sor, erős infra LED-del kiegészítve, szerintem sötétben is használható lenne. Ha szerzek pár infra LED-et, mindenképpen kipróbálom.

Beállítottam, hogy óránként lőjön egy képet vele a Home Assistant, hogy meg tudjam nézni a különböző fényviszonyokkal hogyan boldogul. A kamera a nappaliban volt, szóval ez egy elég világos szoba.

Azt vettem észre, hogy ekkora távolságnál a nagy fényerejű LED nem sokat ér. A képek készítéséhez ez nem volt viszont használva.

A kérdés már csak az, mire lehet ezt használni? Leginkább nem fontos dolgokra:

  • ránézni, hogy a kutya-macska mennyire nyírta ki a lakást, amíg távol vagy,
  • nézni a 3D nyomtatót, hogy áll a nyomtatás,
  • esetleg, de tényleg esetleg: nagyon sok szerencse faktortól függő biztonsági kameraként.

ESPHome-ot félretéve, sok érdekes dolgot csináltak már ezzel a kamerával.

Például ott van az AI-on-the-edge-device, amivel víz-, gáz- és villanyórákat tudsz felokosítani. A kamerával készült képek alapján felismeri az analóg mérőkön a számokat és ezt be tudja küldeni HA-ba.

Bekötheted pl. Frigatebe, amivel AI objektumfelismerővé fejlesztheted ezt a kis modult. Személyektől a pizzán át a plüssmackóig felismer egy csomó dolgot. Össze lehet kötni a Double Take-kel, amivel pedig arcokat is fel tudsz ismerni, így tudod követni, ki, hol tartózkodik vagy kaphatsz pl. értesítést, ha a szüleid épp a bejárati ajtóhoz érnek. Ezek is mind HA-ba integrálhatóak.

Ezekről a későbbiekben biztosan olvashatsz még tőlem.

ESP-CAM board konfigurálása

No, de most maradjunk az egyszerű dolgoknál: jussunk el oda, hogy megjelenik a kamera képe Home Assistantban.

Szerencsére az ESPHome kezel kamerákat, a dokumentációban pedig egy csomó ilyen board konfigja megtalálható, úgyhogy ha nem is pont ezt a verziót veszed meg, valószínűleg életre tudod majd kelteni egy másik példával.

Az enyém ezzel a konfiggal működött:

esp32_camera:
  external_clock:
    pin: GPIO0
    frequency: 20MHz
  i2c_pins:
    sda: GPIO26
    scl: GPIO27
  data_pins: [GPIO5, GPIO18, GPIO19, GPIO21, GPIO36, GPIO39, GPIO34, GPIO35]
  vsync_pin: GPIO25
  href_pin: GPIO23
  pixel_clock_pin: GPIO22
  power_down_pin: GPIO32
  resolution: 800x600
  name: esp_cam02
  idle_framerate: 0.1fps

output:
  - platform: ledc
    pin: GPIO4
    channel: 2
    id: led
light:
  - platform: monochromatic
    output: led
    name: espcam_02 light

Ez a kamerát és az említett nagy fényerejű LED-et is beállítja neked.

Home Assistantban ezt látod utána:

A kamerára kattintva elindul a csodálatos 10 fps video stream, kiteheted egy dashboardra is.

Tok

Thingiversen van több egész jó 3D nyomtatható doboz ehhez a modulhoz. Megkérek majd én is egy ismerőst, hogy nyomtasson párat.

mojocorp munkája

Egyszerű biztonági kameraként

Én egy nagyon egyszerű biztonsági kamerának használom.

Csináltam hozzá egy automationt Home Assistantban, ami lő 10 képet néhány másodperc eltéréssel akkor, amikor nyílik a bejárati ajtó. A Home Assistantban összekattintgatott riasztóm mellett így lesz kép is egy esetleges betörésről, bár ez a környék szerencsére egész biztonságos.

alias: Camera snapshots
description: ""
trigger:
  - platform: state
    entity_id:
      - binary_sensor.bejarati_ajto_opening
    to: "on"
condition: []
action:
  - if:
      - condition: time
        after: "18:00:00"
        before: "06:00:00"
    then:
      - service: light.turn_on
        target:
          entity_id: light.espcam_02_light
        data: {}
  - repeat:
      count: 10
      sequence:
        - service: camera.snapshot
          target:
            entity_id: camera.esp_cam02
          data:
            filename: /config/data/camera/espcam_op_{{ now() }}.jpg
        - delay:
            hours: 0
            minutes: 0
            seconds: 3
            milliseconds: 0
  - service: light.turn_off
    target:
      entity_id: light.espcam_02_light
    data: {}
mode: single

18:00 és 06:00 között bekapcsolja rajta a LED-et is, aztán a képek mentése utána kikapcsolja. A mentésnél beleteszem a timestampet a fájlnévbe, így egyrészt nem egy képet írogatok felül, másrészt tudom, mikor készültek.

Az előszobában egy darab konnektor sincs, viszont a nappali ajtó mögött van, így hát fúrtam egy lyukat az ajtókeretbe, azon pedig átvezettem egy riasztókábelt, amit szerintem 10 éve vettem és azóta se használtam. Ez egy 4 eres vezeték, más nem volt kéznél. Viszont a jövőben még lehet használom valamire a fennmaradó két szálat benne, who knows.

Nagy szerencsémre nincs elég hosszú fúrószáram, így két oldalról fogok támadni. Bejelöltem mindkét oldalon a behatolási nyílást, aztán széjjelkfúrtam. (Ez a kaució elvesztését jelenti amúgy?) Utána U szögekkel rögzítettem a kábelt.

A kábelre először USB csatlakozót raktam, de mint kiderült, van akkora ellenállása a kábelnek, hogy már nem jut el a végére elég delej. Így váltottam egy 12V-os tápra, aztán beszereltem az ESP mellé egy DC-DC konvertert, amivel 5V-ot csinálok belőle.

ESP32-CAM felszerelve
Be van fejezve a nagy mű, igen.

Mivel még nincs meg a 3D nyomtatott tartóm (meg amúgy is kellett bele egy DC-DC konverter ugye), egy szép fekete dobozba ment bele. Ami annyira nem mutat szépen… Mindenesetre fent van.

Ahogy mondtam, kap majd egy másik feladatot is: egy LED-es táblácskát kapcsol, amin a nicknevünk szerepel barátnőmmel.

Ezt egyébként – sok más ilyen LED-es mütyűrünkhöz hasonlóan – a Flying Tigerből újítottuk. Ha szeretnél világító akármiket, amiket ESPHome-mal Home Assistantba beköthetsz, ajánlom. Ahogy a Pepcot is.

Ami feltűnt, hogy a LED szalagok egyébként 5V-osak, de a 4xAA elem ami kell bele, 6V-ot fog produkálni. Teljesen új elemekkel izzadhatnak kicsit a drágák. Lehet ezért világít ilyen jól különben:)

Forrasztottam az elemtartóba kötött két vezetékre egy 2 pines csatlakozót, amit kivezettem az egyik lyukon a dobozból. Így továbbra is használható elemmel (barátnőm örömére), de innentől már kívülről is táplálható 5V-tal. Rászoktam ezekre a kis csatlakozókra egyébként mostanában, jóval könnyebb így módosítgatni később a dolgokon.

Fogtam egy MOSFET-et, belegyömöszöltem a fekete dobozba és bekötöttem úgy, hogy az ESP egyik GPIO-jával tudjak 5V-ot kapcsolni vele. A kimenet egy kábel, amin a fenti LED-es tábla csatlakozójának párja van, szóval már csak össze kellett dugni és voilá.

Vélemény, hozzászólás?

Az e-mail címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük