# Dzwonek z Biedronki + kamera = zdjęcie na Slack'a

**URL:** <https://ai-speaker.discourse.group/t/dzwonek-z-biedronki-kamera-zdjecie-na-slacka/52>\
**Category:** Projekty\
**Created:** [17 Grudzień 2019 10:28 UTC](https://ai-speaker.discourse.group/t/dzwonek-z-biedronki-kamera-zdjecie-na-slacka/52 "2019-12-17T10:28:29Z")\
**Posts on this page:** 17\
**Page:** 1

<div class="post-metadata">

**Autor:** ![Sebastian](https://yyz2.discourse-cdn.com/free1/user_avatar/ai-speaker.discourse.group/sebastian/32/11_2.png) [@Sebastian](https://ai-speaker.discourse.group/u/Sebastian)\
**Data wpisu:** [17 Grudzień 2019 10:28 UTC](https://ai-speaker.discourse.group/t/dzwonek-z-biedronki-kamera-zdjecie-na-slacka/52/1 "2019-12-17T10:28:29Z")

</div>

Jak wysłać zdjęcie z kamery na komunikator Slack w momencie wciśnięcia przycisku dzwonka do drzwi?  
Oczywiście można kupić i zainstalować gotowy video-domofon z wifi i używać apki producenta x, ale można również obsłużyć za pomocą kilku tańszych i uniwersalnych elementów.  
Niezbędne do działania:

- dowolny dzwonek bezprzewodowy działający na 433Mhz,  
np. taki z Biedronki:  
 ![image](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/1X/a4c2976972af3af337258ab5ae81ee8cd4c00bc3.png)
- bramka Sonoff RF z wgranym alternatywnym oprogramowaniem AIS dom, na bazie Sonoff-Tasmota (szczegóły dotyczące konfiguracji bramki RF opisane są tu: [https://sviete.github.io/AIS-docs/docs/en/next/ais\_iot\_gate\_device\_rf433.html#docsNav](https://sviete.github.io/AIS-docs/docs/en/next/ais_iot_gate_device_rf433.html#docsNav) )  
 ![image](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/1X/ab70069d6c2cafee0d4fad9f991e34ef1d165890.jpeg)
- zewnętrzna kamera IP  
np. Yi Outdoor:  
 ![image](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/1X/56df47fb179656419d5367ea7b0750101e70b62d.jpeg)
- konto na Slack  
 ![image](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/1X/c04021747edb9e0b516a4320709a913e9d7bf64f.png)

Opis działania w skrócie - musimy nauczyć bramkę RF naszego kodu z dzwonka i po jego wykryciu uruchomić automatyzację zapisującą zdjęcie z kamery i wysłanie komunikatu przez Slack.

1. z konsoli bramki RF zapisujemy kod pod przyciskiem 16 komendą:  
` RfKey 2 16`  
lub uczymy bramkę RF wg instrukcji: [https://sviete.github.io/AIS-docs/docs/en/next/ais\_iot\_gate\_device\_rf433.html#uczenie-bramki-kodow-rf](https://sviete.github.io/AIS-docs/docs/en/next/ais_iot_gate_device_rf433.html#uczenie-bramki-kodow-rf)
2. w configuration.yaml dodajemy nową encję (lub używamy dodanej wg powyższej instrukcji):

> ```
> input_boolean:
> doorbell:
> name: Dzwonek do drzwi
> initial: off
> icon: mdi:doorbell-video
> 
> ```

1. konfigurujemy kamerę:

- w przypadku Yi Outdoor jest to nieco bardziej skomplikowane ponieważ trzeba wgrać dodatkowy software umożliwiający stream’owanie RSTP - [GitHub - TheCrypt0/yi-hack-v4: New Custom Firmware for Xiaomi Cameras based on Hi3518e Chipset. It features RTSP, SSH, FTP and more!](https://github.com/TheCrypt0/yi-hack-v4)
- w configuration.yaml dodajemy (uzupełnij IP kamery w adresie rstp):

> ```
> ffmpeg:
> camera:
> - platform: ffmpeg
> name: Yi_Outdor_Cam_Low
> input: -rtsp_transport tcp -i rtsp://CAMERA_IP_ADDRESS/ch0_1.h264
> 
> ```

1. konfigurujemy integrację Slack ([Slack - Home Assistant](https://www.home-assistant.io/integrations/slack/))

- ustaw własną nazwę konta i domyślny kanał
- zdefiniuj hasło w pliku secrets.yaml

> ```
> notify:
> - name: NOTIFIER_NAME
> platform: slack
> api_key: !secret slack_api_key
> default_channel: '#dom'
> 
> ```

1. dodajemy automatyzację w automations.yaml

- zamiast xxxxxx wstaw rozpoznany kod dzwonka - można go znaleźć w konsoli RF’a w polu Data:  
`20:11:38 MQT: RFBridge/tele/RESULT = {"Time":"2019-12-18T20:11:38","RfReceived":{"Sync":5110,"Low":180,"High":490,"Data":"xxxxxx","RfKey":16}}`
- zamiast NOTIFIER\_NAME wstaw nazwę konta w Slack

> ```
> - id: 11111353bd7440dca318a33474bc1112
> alias: Dzwonek do drzwi - wyślij zdjęcie na Slack
> initial_state: 'on'
> trigger:
> platform: mqtt
> topic: RFBridge/tele/RESULT
> condition:
> condition: template
> value_template: '{{ trigger.payload_json.RfReceived.Data == "xxxxxx" }}'
> action:
> - service: camera.snapshot
> data:
> entity_id: camera.yi_outdor_cam_low
> filename: /data/data/pl.sviete.dom/files/home/AIS/www/img/snapshot_camera.jpg
> - service: notify.NOTIFIER_NAME
> data_template:
> title: Dzwonek
> message: Ktoś dzwoni do drzwi! {{now().strftime("%H:%M:%S")}}
> data:
> file:
> path: /data/data/pl.sviete.dom/files/home/AIS/www/img/snapshot_camera.jpg
> 
> ```

a dodając dodatkową akcję można wywołać powiadomienie głosowe:

> ```
> - service: ais_ai_service.say_it
> data:
> text: Ktoś dzwoni do drzwi!
> 
> ```

lub nawet w określonych godzinach zadzwonić dzwonkiem sąsiada, coby odebrał paczkę od listonosza 😉

> ```
> - id: 11111353bd7440dca318a33474bc3212
> alias: Dzwonek do drzwi -> Dzwonek do sąsiada
> initial_state: 'on'
> trigger:
> platform: mqtt
> topic: RFBridge/tele/RESULT
> condition:
> - condition: template
> value_template: '{{ trigger.payload_json.RfReceived.Data == "xxxxxx" }}'
> - condition: time
> after: 08:00:00
> before: '16:00:00'
> weekday:
> - mon
> - tue
> - wed
> - thu
> - fri
> action:
> - service: mqtt.publish
> data_template:
> topic: RFBridge/cmnd/RfKey13
> payload: ''
> 
> ```

W Asystencie może to wyglądać tak:

 ![image](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/1X/e9b8626df91362ec2a777e3b33a72b97ef3e9591.jpeg)  
a na Slack’u dostajemy takie powiadomienie:  
 ![image](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/1X/842375c542df6e89df4235c1323ae8392b3a3581.jpeg)

Powodzenia w kopiowaniu 😉

---

<div class="post-metadata">

**Autor:** ![Tomasz](https://yyz2.discourse-cdn.com/free1/user_avatar/ai-speaker.discourse.group/tomasz/32/286_2.png) [@Tomasz](https://ai-speaker.discourse.group/u/Tomasz)\
**Data wpisu:** [18 Grudzień 2019 13:01 UTC](https://ai-speaker.discourse.group/t/dzwonek-z-biedronki-kamera-zdjecie-na-slacka/52/2 "2019-12-18T13:01:38Z")

</div>

Super!  
W jaki sposób działa te powiadomienie głosowe ?  
Nawet jak mam zablokowany telefon to je usłyszę ?  
Zastanawiam się nad podobnym rozwiązanie ale nie koniecznie z kamerą, potrzebuje tylko powiadomienie na telefon, że ktoś dzwoni do drzwi.

---

<div class="post-metadata">

**Autor:** ![Sebastian](https://yyz2.discourse-cdn.com/free1/user_avatar/ai-speaker.discourse.group/sebastian/32/11_2.png) [@Sebastian](https://ai-speaker.discourse.group/u/Sebastian)\
**Data wpisu:** [18 Grudzień 2019 19:25 UTC](https://ai-speaker.discourse.group/t/dzwonek-z-biedronki-kamera-zdjecie-na-slacka/52/3 "2019-12-18T19:25:51Z")

</div>

Powiadomienie głosowe (ais\_ai\_service.say\_it) to po prostu tekst odczytany przez Jolkę - na podłączonym głośniku, na kompie w przeglądarce (wystarczy mieć otwartą kartę z Asystentem) lub w apce na telefonie (tu niestety dużo zależy od telefonu i Androida - może ubić proces w tle i komunikatu nie usłyszysz).

Powiadomienie na Slack’a działa bezbłędnie - zazwyczaj po kilku sekundach od zdarzenia mam go na telefonie. Jeśli nie korzystasz ze Salck’a na co dzień, to można przekierować powiadomienia na dowolny inny komunikator obsługiwany przez HA np. Hangout, Messanger, Jabber, Telegram i wiele innych opisanych tu: [https://www.home-assistant.io/integrations/#notifications](https://www.home-assistant.io/integrations/#notifications)

---

<div class="post-metadata">

**Autor:** ![Tomasz](https://yyz2.discourse-cdn.com/free1/user_avatar/ai-speaker.discourse.group/tomasz/32/286_2.png) [@Tomasz](https://ai-speaker.discourse.group/u/Tomasz)\
**Data wpisu:** [18 Grudzień 2019 22:29 UTC](https://ai-speaker.discourse.group/t/dzwonek-z-biedronki-kamera-zdjecie-na-slacka/52/4 "2019-12-18T22:29:51Z")

</div>

Dzisiaj chwilę pobawiłem się ais\_ai\_service.say\_it i faktycznie na Androidzie różnie bywa z powiadomieniem. Na bramce oczywiście działa niezawodnie 👍  
Co do Slacka to nigdy nie używałem ale może pora spróbować, Trello w zupełności mi wystarczało 😀

---

<div class="post-metadata">

**Autor:** ![Iron](https://yyz2.discourse-cdn.com/free1/user_avatar/ai-speaker.discourse.group/iron/32/63_2.png) [@Iron](https://ai-speaker.discourse.group/u/Iron)\
**Data wpisu:** [11 Styczeń 2020 22:49 UTC](https://ai-speaker.discourse.group/t/dzwonek-z-biedronki-kamera-zdjecie-na-slacka/52/5 "2020-01-11T22:49:14Z")

</div>

Niestety u mnie Slack pomimo zastosowania sugerowanych ustawień nie da się zmusić do powiadomień pushUp na Lenovo K6 Note. Nie i koniec… Test w apce slacka wypada pomyślnie ale po wysłaniu message pojawia się w chat’cie ale bez jakichkolwiek powiadomień. (Cała konfiguracja i faq przestudiowane kilka razy.)  
Zmieniłem na Pushsafer też ciekawa apka do powiadomień.

---

<div class="post-metadata">

**Autor:** ![Cino111](https://yyz2.discourse-cdn.com/free1/user_avatar/ai-speaker.discourse.group/cino111/32/283_2.png) [@Cino111](https://ai-speaker.discourse.group/u/Cino111)\
**Data wpisu:** [1 Luty 2020 15:41 UTC](https://ai-speaker.discourse.group/t/dzwonek-z-biedronki-kamera-zdjecie-na-slacka/52/6 "2020-02-01T15:41:13Z")

</div>

Ile mogę dodać kamer, żeby nie zabić bramki? Rozumiem, ze strumień video cały czas obciąża bramkę mimo, że do niczego nie jest wykorzystywany w danym momencie?

---

<div class="post-metadata">

**Autor:** ![araczkowski](https://yyz2.discourse-cdn.com/free1/user_avatar/ai-speaker.discourse.group/araczkowski/32/6_2.png) [@araczkowski](https://ai-speaker.discourse.group/u/araczkowski)\
**Data wpisu:** [1 Luty 2020 18:43 UTC](https://ai-speaker.discourse.group/t/dzwonek-z-biedronki-kamera-zdjecie-na-slacka/52/7 "2020-02-01T18:43:51Z")

</div>

Cześć,

To zależy jak to rozwiążesz - jak to będzie u Ciebie działać.

Normalnie, jeżeli nic nie robisz kamerami, to nie ma limitu - możesz podłączyć tyle kamer, ile tylko chcesz, bo bramka nie używa tych kamer aktywnie (nie nagrywa/przetwarza obrazu z tych kamer).

W takiej konfiguracji jak opisana powyżej Asystent wykonuje zdjęcie albo nagrywa film kamerą, tylko jak dostaje zdarzenie z czujnika (wykrycie ruchu, otwarcie furtki, dzwonienie dzwonkiem itp.).

> Nie robimy kamerami żadnego ciągłego nagrywania wideo, rozpoznawania obiektów czy wykrywania ruchu to by obciążało procesor za mocno, pewnie i7 intela z 8 rdzeniami miałby co robić a co dopiero nasze 4 rdzenie na ARM (które mamy na bramce).

Idea z kamerami jest taka, żeby przesyłać z nich obraz tylko wtedy kiedy jest potrzebny (kiedy ktoś go ogląda w przeglądarce, kiedy wykryto ruch i trzeba kogoś powiadomić).

Zakładamy, że kamera w Asystencie domowym jest do tego, żeby zrobić automatyzację typu:

- wyślij powiadomienie ze zdjęciem po wystąpieniu zdarzenia (np. ktoś dzwoni do drzwi).
- wyślij obraz z kamery przy drzwiach, na telewizor czy inny odtwarzacz mediów jak wykryto zdarzenie(np. ktoś otworzył furtkę).

Ja mam 4 kamery, teraz włączyłem w nich “Preload stream” - opcja która cały czas utrzymuje strumień wideo do klienta (przeglądarki) i wstępnie ładuje kanał przy starcie Home Assistant. To powoduje zmniejszenie opóźnień podczas otwierania strumienia(wideo z kamery) w przeglądarce internetowej, a także podczas korzystania z usługi play\_strem. Zużywa to jednak więcej zasobów na bramce.

Podsumowując normalnie nie ma limitu 🙂 bo zakładamy, że kamera jest tylko urządzeniem takim jak każde inne. Jeśli planujesz korzystać z funkcji “Preload stream” to zalecamy sprawdzenie użycia procesora,

Możesz łatwo sprawdzić jak kamera (czy inna rzecz) obciąża procesor na bramce.  
Wejdź na konsole bramki po ssh i wpisz:

```auto
htop

```

4 kamery, sterowanie ogrzewaniem, oświetlenie, odtwarzanie muzyki… kilkanaście procent CPU, 540M mamy jeszcze sporo zasobów 😉

 ![image](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/1X/674c254fafeb338d9cff3aee7909d5aac750d4b9.png)

PS  
oczywiście temperatura CPU też pod kontrolą

 ![image](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/1X/dba0a8d55722357a479e1b8c03da9c993ea0b37e.png)

---

<div class="post-metadata">

**Autor:** ![Cino111](https://yyz2.discourse-cdn.com/free1/user_avatar/ai-speaker.discourse.group/cino111/32/283_2.png) [@Cino111](https://ai-speaker.discourse.group/u/Cino111)\
**Data wpisu:** [1 Luty 2020 20:30 UTC](https://ai-speaker.discourse.group/t/dzwonek-z-biedronki-kamera-zdjecie-na-slacka/52/8 "2020-02-01T20:30:08Z")

</div>

Super. Dokładnie o to mi chodzi. Chcę podłączyć kilka kamer, które tylko mają wysłać zdjęcie jak coś się wydarzy. Z tego co piszesz to widzę, ze tez można nagrac krotki film? Jak byś znalazł chwile w niedalekiej przyszlosci i opisał jeszcze trochę bajerów z kamerami będziemy wszyscy wdzięczni.

---

<div class="post-metadata">

**Autor:** ![Iron](https://yyz2.discourse-cdn.com/free1/user_avatar/ai-speaker.discourse.group/iron/32/63_2.png) [@Iron](https://ai-speaker.discourse.group/u/Iron)\
**Data wpisu:** [1 Luty 2020 22:05 UTC](https://ai-speaker.discourse.group/t/dzwonek-z-biedronki-kamera-zdjecie-na-slacka/52/9 "2020-02-01T22:05:04Z")

</div>

Mam taką akcję ustawioną po załączeniu się alarmu w domu.

 ![image](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/1X/1fbed3f087b3eaa4009dbbbd089376f15643f1a2.png)

```
duration: 30
filename: >-
  /data/data/pl.sviete.dom/files/home/AIS/www/img/alarm_{{ now ().year }}_{{ now
  ().month }}_{{ now ().day }}_{{ now ().hour }}_{{ now ().minute }}.mp4
lookback: 4

```

Filmik zapisuje się w galerii. Konieczne jest odświeżenie galerii ais\_files.refresh\_files.

---

<div class="post-metadata">

**Autor:** ![Cino111](https://yyz2.discourse-cdn.com/free1/user_avatar/ai-speaker.discourse.group/cino111/32/283_2.png) [@Cino111](https://ai-speaker.discourse.group/u/Cino111)\
**Data wpisu:** [1 Luty 2020 23:08 UTC](https://ai-speaker.discourse.group/t/dzwonek-z-biedronki-kamera-zdjecie-na-slacka/52/10 "2020-02-01T23:08:18Z")

</div>

Czyli w momencie załączenia alarmu nagrywasz film 30 sekundowy? Pewnie można podać ścieżkę do nagrania do jakiegoś dysku sieciowego, albo wysłać go na komunikator Telegram?

---

<div class="post-metadata">

**Autor:** ![traviz](https://yyz2.discourse-cdn.com/free1/user_avatar/ai-speaker.discourse.group/traviz/32/2001_2.png) [@traviz](https://ai-speaker.discourse.group/u/traviz)\
**Data wpisu:** [13 Maj 2020 17:11 UTC](https://ai-speaker.discourse.group/t/dzwonek-z-biedronki-kamera-zdjecie-na-slacka/52/11 "2020-05-13T17:11:06Z")

</div>

> [@araczkowski](#):
>
> PS  
> oczywiście temperatura CPU też pod kontrolą

Jak wyrzuciłeś temp cpu w formie wykresu? Ja nie widzę takiej encji. Czy obciążenie cpu też da się tak zrobić?

---

<div class="post-metadata">

**Autor:** ![Celina](https://yyz2.discourse-cdn.com/free1/user_avatar/ai-speaker.discourse.group/celina/32/27_2.png) [@Celina](https://ai-speaker.discourse.group/u/Celina)\
**Data wpisu:** [13 Maj 2020 17:30 UTC](https://ai-speaker.discourse.group/t/dzwonek-z-biedronki-kamera-zdjecie-na-slacka/52/12 "2020-05-13T17:30:28Z")

</div>

@traviz zerknij na ten wpis 🙂

> [@Bramka: configuration.yaml](https://ai-speaker.discourse.group/t/bramka-configuration-yaml/67):
>
> Plik konfiguracyjny configuration.yaml Dążymy do tego, żeby wszystkie podstawowe ustawienia i popularne integracje były dostępne z interfejsu użytkownika. Obecnie jednak nie wszystko jest jeszcze konfigurowalne za pośrednictwem interfejsu użytkownika i aby dodać integrację z niektórymi urządzeniami, wymagana jest ręczna edycja pliku konfiguracyjnego Asystenta domowego. Plik ten znajduje się na urządzeniu w folderze /data/data/pl.sviete.dom/files/home/AIS i ma nazwę configuration.yaml. Konfigur…

---

<div class="post-metadata">

**Autor:** ![traviz](https://yyz2.discourse-cdn.com/free1/user_avatar/ai-speaker.discourse.group/traviz/32/2001_2.png) [@traviz](https://ai-speaker.discourse.group/u/traviz)\
**Data wpisu:** [13 Maj 2020 21:06 UTC](https://ai-speaker.discourse.group/t/dzwonek-z-biedronki-kamera-zdjecie-na-slacka/52/13 "2020-05-13T21:06:44Z")

</div>

@Celina dziękuję, już czytam 🙂

---

<div class="post-metadata">

**Autor:** ![traviz](https://yyz2.discourse-cdn.com/free1/user_avatar/ai-speaker.discourse.group/traviz/32/2001_2.png) [@traviz](https://ai-speaker.discourse.group/u/traviz)\
**Data wpisu:** [22 Maj 2020 19:50 UTC](https://ai-speaker.discourse.group/t/dzwonek-z-biedronki-kamera-zdjecie-na-slacka/52/14 "2020-05-22T19:50:38Z")

</div>

@Sebastian, zrobiłem sobie bardzo podobnie jak u Ciebie tj. Zdjęcie zrobione podczas ostatniego użycia dzwonka, ale w dashboardzie nie odświeża się fotka po każdym powiadomieniu, a co ciekawe w powiadomieniach jest ok (w moim przypadku aplikacja Home Assistant). Zauważyłem też, że w aplikacji HA raz się zdjęcie zmieniło, ale przez www nie. Próbowałem czyścić cookies i cache przeglądarki ale bez rezultatu. Co może być przyczyną?

---

<div class="post-metadata">

**Autor:** ![traviz](https://yyz2.discourse-cdn.com/free1/user_avatar/ai-speaker.discourse.group/traviz/32/2001_2.png) [@traviz](https://ai-speaker.discourse.group/u/traviz)\
**Data wpisu:** [23 Maj 2020 10:59 UTC](https://ai-speaker.discourse.group/t/dzwonek-z-biedronki-kamera-zdjecie-na-slacka/52/15 "2020-05-23T10:59:18Z")

</div>

A jednak to wina cache, wczoraj źle to usuwałem ☹ jak można rozwiązać ten problem?

---

<div class="post-metadata">

**Autor:** ![Cezary.K](https://avatars.discourse-cdn.com/v4/letter/c/a88e4f/32.png) [@Cezary.K](https://ai-speaker.discourse.group/u/Cezary.K)\
**Data wpisu:** [23 Maj 2020 12:07 UTC](https://ai-speaker.discourse.group/t/dzwonek-z-biedronki-kamera-zdjecie-na-slacka/52/16 "2020-05-23T12:07:25Z")

</div>

> [@Zarządzanie interfejsem](https://ai-speaker.discourse.group/t/zarzadzanie-interfejsem/173/4):
>
> jezeli cos nie dziala w interfejsie webowym po aktualizacji to mozliwe, ze problemem jest cache w przegladarce przegladarka uzywa kodow z poprzedniej wersji, bo je sobie dodala do pamieci podrecznej (cache) Nowa wersja aplikacji powinna po jakims czasie sama sie odswiezyc, ale mozna jej pomoc, w tym celu w przegladarce, bedac na stronie z aplikacja Asystent domowy, trzeba: nacisnac Ctrl + Shift + j przejsc do zakladki Network zaznaczyc Disable cache odswiezyc strone F5

---

<div class="post-metadata">

**Autor:** ![traviz](https://yyz2.discourse-cdn.com/free1/user_avatar/ai-speaker.discourse.group/traviz/32/2001_2.png) [@traviz](https://ai-speaker.discourse.group/u/traviz)\
**Data wpisu:** [30 Maj 2020 17:31 UTC](https://ai-speaker.discourse.group/t/dzwonek-z-biedronki-kamera-zdjecie-na-slacka/52/17 "2020-05-30T17:31:24Z")

</div>

@Cezary.K, dziękuję za link, ale niestety to rozwiązanie powoduje wyłączenie cache w przeglądarce, a co za tym idzie na wszystkich stronach. Ponadto nie dotyka problemu w aplikacjach. Na szczęście znalazłem rozwiązanie, więc gdyby ktoś był zainteresowany to podaję poniżej:

Należy dodać kamerę w pliku **configuration.yaml** lub jak ktoś ma **cameras.yaml**

```auto
camera:
  - platform: local_file
    file_path: /data/data/pl.sviete.dom/files/home/AIS/www/img/snapshot_camera.jpg

```

a potem wyświetlić ją tworząc ręcznie kartę wpisując yaml:

```auto
camera_image: camera.local_file
elements: []
type: picture-elements

```

użycie camera\_image jest tutaj kluczowe, ponieważ obraz z kamery jest odświeżany na bieżąco i nie jest przechowywany w cache. Works like a charm 👌
