Skocz do zawartości

Kurs Raspberry Pi - #10 - kamera, zdjęcia, transmisja obrazu


Pomocna odpowiedź

12 godzin temu, bartek_wr napisał:

w dalszym ciągu widzę obraz z kamerki a samo RPI zachowuje się jak by nie reagowało na tą komendę

Faktycznie. Możliwe że wpisałeś taką sekwencję:

sudo motion -b
sudo systemctl stop motion.service

Co prawda po wpisaniu tego dostaję znak zachęty ale sprawdzając usługi htop'em widzę, że motion dalej działa.

1.thumb.jpg.2a8d1b248868b9d43d83197aba7c8905.jpg

Jeżeli po uruchomieniu motion w tle wpiszesz komendę

sudo systemctl start motion.service

to będziesz mógł zatrzymać poprzez stop.

2.thumb.JPG.b1180a47d14e94dac52b87ffd3e2f15e.JPG

  • Lubię! 1
  • Pomogłeś! 1
Link do komentarza
Share on other sites

Gieneq bardzo dziękuje za podpowiedz, wszystko działa zgodnie z tym co opisałeś, ale urodziło się kilka innych problemów. 

1. Po ustawieniu parametru daemon z off na on nie mogę uruchomić motion za pomocą polecania.

sudo systemctl start motion.service

Po wpisaniu tego polecania dostaję znak zachęty a xxxx:8081 nie pojawia się obraz z kamerki. 

2. Jak za pomocą programu htop wyłączyć program w tle (w tym przypadku motion), zaznaczam motion -b, naciskam F9 (Kill) i potem wyświetla się lista kolejnych komend próbowałem wybrać np (9 SIGKILL) ale bez żadnego efektu. Czy dobrze kombinuję czy coś źle robię. 

Pozdrawiam 

Bartek 

Edytowano przez bartek_wr
  • Lubię! 1
Link do komentarza
Share on other sites

@bartek_wr

Miałem podobny problem z automatycznym uruchamianiem. Okazało się, że do rozwiązania były dwa problemy:

  1. W pliku /etc/default/motion miałem ustawione start_motion_daemon=no  
  2. Zmiana w powyższym pliku na yes pomogła, ale stworzyła inny problem - brak dostępu do pliku logu (/var/log/motion/motion.log). Właścicielem tego pliku jest root, ale dopiero nadanie uprawnień write dla wszystkich pomogło.

Przy okazji zauważyłem, że pliki ze streamingu (ogromna liczba plików *.jpg) są odkładane w katalogu /var/lib/motion - mam tam już ponad 800 MB, a jeszcze nie doczytałem, jak to ograniczyć.

Pozdr

Marek

  • Lubię! 1
Link do komentarza
Share on other sites

@bartek_wr@jajokajo dziękuję za sygnały sprawdzimy temat. Jeśli uda nam się znaleźć konkretne rozwiązanie Waszych problemów to dam tutaj znać. Nie chce podpowiadać czegoś w ciemno bazując na wynikach z Google, bo to możecie zrobić sami 😉 Z drugiej strony, jeśli uda Wam się rozwiązać Wasze problemy to dajcie tutaj proszę znać.

22 godziny temu, jajokajo napisał:

Właścicielem tego pliku jest root, ale dopiero nadanie uprawnień write dla wszystkich pomogło.

To mnie trochę martwi, gdy kurs powstawał to nie musieliśmy wykonywać takich operacji. Takie manewrowanie uprawnieniami jest dość niebezpieczne.

Pozwolę sobie również zawołać osoby, które mogą coś wiedzieć w temacie: @Elvis, @ethanak - przepraszam, że tak Was wywołuję, ale może macie pomysł w czym leży tutaj problem? Możliwe, że w naszej instrukcji z kursu jest błąd. Dobrze byłoby, aby zerknął na to ktoś "z zewnątrz" kto ma ogólne pojęcie na temat Linuksów 😉

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Ja w tym tygodniu pracuję i najwcześniej mogę raspberry pobawić się w piatek. Kiedyś opisane polecenia działały poprawnie, ale może coś się zmieniło. Dawanie wszystkim prawa do zapisu to brzydkie rozwiazanie, ale nie majac płytki ciężko jest mi pomóc. Chociaż może na poczatek dałoby się chociaż logi z komunikatem o błędzie zamieścić?

  • Lubię! 1
Link do komentarza
Share on other sites

Chyba wiem o co chodzi. Jako że nie mam kamery do RPi zainstalowałem motion na lapku z Debianem.

Po pierwsze: faktycznie potrzebna jest zmiana w /etc/defaults/motion - bez włączenia demona polecenie systemctl start motion nie ma żadnego efektu (oprócz tego, że system jest przekonany że motion wystartował i musimy zrobić systemctl stop motion). Nie sprawdzałem czy ta informacja jest w kursie, jeśli nie to trzeba to sprawdzić na RPi i ewentualnie skorygować.

Po drugie: jeśli dokonamy zmiany w /etc/defaults/motion a nie próbowaliśmy uprzednio uruchomić motion bezpośrednio tworzy się katalog i plik:

ethanak@miranda:~$ sudo ls -ld /var/log/motion
drwxr-s--- 2 motion adm 4096 sty 28 21:21 /var/log/motion
ethanak@miranda:~$ sudo ls -l /var/log/motion
-rw-r--r-- 1 motion adm 4988 sty 28 21:22 motion.log

a program motion działa z uprawnieniami użytkownika motion.

Jeśli jednak - tak jak pisał @Gieneq - nastąpiła próba uruchomienia motion bezpośrednio z roota poprzez

sudo motion

(ew. z parametrem -b) sytuacja jest inna: katalog i plik są tworzone, ale ich właścicielem jest root. Tym samym po prawidłowym starcie program motion nie może dostać się do logów. W tym momencie najprostszym (i prawdopodobnie najlepszym) rozwiązaniem jest usunięcie katalogu /var/log/motion wraz z plikiem logów.

Czyli sytuacja jest chyba wyjaśniona - @Treker - sprawdź to na normalnej malince i ew. dodaj potrzebne informacje do kursu.

Mam nadzieję że się przydałem 🙂

 

 

  • Pomogłeś! 2
Link do komentarza
Share on other sites

Dnia 27.01.2019 o 21:32, jajokajo napisał:

Przy okazji zauważyłem, że pliki ze streamingu (ogromna liczba plików *.jpg) są odkładane w katalogu /var/lib/motion

Ścieżkę tę ustawiasz w pliku konfiguracyjnym: /etc/motion/motion.conf. Jest to folder roboczy i nie ma tu możliwości wyłączenia zapisu.

target.thumb.JPG.19a2f0faac6c900b0f423bc8c4dc3bdb.JPG

Dnia 27.01.2019 o 21:32, jajokajo napisał:
  • W pliku /etc/default/motion miałem ustawione start_motion_daemon=no  
  • Zmiana w powyższym pliku na yes pomogła, ale stworzyła inny problem - brak dostępu do pliku logu (/var/log/motion/motion.log). Właścicielem tego pliku jest root, ale dopiero nadanie uprawnień write dla wszystkich pomogło.

Faktycznie. Gdy odpalam usługę motion to nic się nie dzieje. dopiero po ustawieniu: start_motion_daemon=yes można uruchamiać i zatrzymywać motion.service (chyba że poleceniem sudo motion -b). W przypadku kolegi @jajokajo było to trafione, bo zmieniając to ustawienie motion będzie się odpalał  przy starcie - co akurat nie było celem kursu - celem było działanie w tle.

15 godzin temu, ethanak napisał:

W tym momencie najprostszym (i prawdopodobnie najlepszym) rozwiązaniem jest usunięcie katalogu /var/log/motion wraz z plikiem logów.

Z tym brakiem dostęp, również się zgodzę. Po usunięciu folderów i uruchomieniu jako usługa właścicielem plików jest 'motion'. Następnie nawet jeżeli odpalę motion poprzez: sudo motion, to uprawnienia nie przechodzą na roota.

motionroot.thumb.JPG.818fec3c71fd428b9e1a7262e1ddb5f7.JPG

Jedno co mnie zastanawia to sytuacja, gdy jednak chcę skorzystać z: sudo motion -b. Bo przeprowadziłem taki eksperyment:

Odpalam RPi - jako że mam ustawionego daemona to na starcie odpala się motion. Zatrzymuję go poleceniem sudo systemctl stop motion.service i to działa. Następnie mogę odpalić: sudo motion i zatrzymać Ctrl+C - bez problemu.

  1. Ale gdybym chciał odpalić motion w tle poprzez sudo motion -b to jak to zatrzymać? Dodam że nie spotkałem się z kimś kto używa tego polecenia...
  2. A nawet jeżeli używać systemctl to co zrobić żeby nie startował przy starcie systemu.
  • Lubię! 1
Link do komentarza
Share on other sites

1) killall motion

lub

killall -9 motion

2) systemctl disable motion

poza tym odpalasz/zatrzymujesz przez

systemctl start/stop motion

wtedy aplikacja zostanie uruchomiona z właściwymi uprawnieniami.

oczywiście do systemctl musisz użyć sudo.

  • Lubię! 2
Link do komentarza
Share on other sites

Mam problem z kamerą z zestawu zakupionego do kursu:

pi@raspberrypi:~ $ raspistill -n -o test.jpg
mmal: mmal_vc_component_enable: failed to enable component: ENOSPC
mmal: camera component couldn't be enabled
mmal: main: Failed to create camera component
mmal: Failed to run camera app. Please check for firmware updates

Sprawdzałem na dwóch instalacjach systemu - pełnej i wersji lite.

Wykonałem kolejne polecenia:

sudo apt-get update
sudo apt-get upgrade
sudo rpi-update

W menu:

raspi-config

kamera jest włączona.

Polecenie

sudo vcgencmd get_camera

zwraca

supported=1 detected=1

Po wywołaniu polecenia

ps -aux

otrzymuje

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.6  27960  5984 ?        Ss   19:00   0:02 /sbin/init
root         2  0.0  0.0      0     0 ?        S    19:00   0:00 [kthreadd]
root         3  0.0  0.0      0     0 ?        I<   19:00   0:00 [rcu_gp]
root         4  0.0  0.0      0     0 ?        I<   19:00   0:00 [rcu_par_gp]
root         8  0.0  0.0      0     0 ?        I<   19:00   0:00 [mm_percpu_wq]
root         9  0.0  0.0      0     0 ?        S    19:00   0:00 [ksoftirqd/0]
root        10  0.0  0.0      0     0 ?        I    19:00   0:00 [rcu_sched]
root        11  0.0  0.0      0     0 ?        I    19:00   0:00 [rcu_bh]
root        12  0.0  0.0      0     0 ?        S    19:00   0:00 [migration/0]
root        13  0.0  0.0      0     0 ?        S    19:00   0:00 [cpuhp/0]
root        14  0.0  0.0      0     0 ?        S    19:00   0:00 [cpuhp/1]
root        15  0.0  0.0      0     0 ?        S    19:00   0:00 [migration/1]
root        16  0.0  0.0      0     0 ?        S    19:00   0:00 [ksoftirqd/1]
root        17  0.0  0.0      0     0 ?        I    19:00   0:00 [kworker/1:0-cgr]
root        19  0.0  0.0      0     0 ?        S    19:00   0:00 [cpuhp/2]
root        20  0.0  0.0      0     0 ?        S    19:00   0:00 [migration/2]
root        21  0.0  0.0      0     0 ?        S    19:00   0:00 [ksoftirqd/2]
root        23  0.0  0.0      0     0 ?        I<   19:00   0:00 [kworker/2:0H-kb]
root        24  0.0  0.0      0     0 ?        S    19:00   0:00 [cpuhp/3]
root        25  0.0  0.0      0     0 ?        S    19:00   0:00 [migration/3]
root        26  0.0  0.0      0     0 ?        S    19:00   0:00 [ksoftirqd/3]
root        29  0.0  0.0      0     0 ?        S    19:00   0:00 [kdevtmpfs]
root        30  0.0  0.0      0     0 ?        I<   19:00   0:00 [netns]
root        34  0.0  0.0      0     0 ?        S    19:00   0:00 [khungtaskd]
root        35  0.0  0.0      0     0 ?        S    19:00   0:00 [oom_reaper]
root        36  0.0  0.0      0     0 ?        I<   19:00   0:00 [writeback]
root        37  0.0  0.0      0     0 ?        S    19:00   0:00 [kcompactd0]
root        38  0.0  0.0      0     0 ?        I<   19:00   0:00 [crypto]
root        39  0.0  0.0      0     0 ?        I<   19:00   0:00 [kblockd]
root        40  0.0  0.0      0     0 ?        S    19:00   0:00 [watchdogd]
root        41  0.0  0.0      0     0 ?        I<   19:00   0:00 [rpciod]
root        42  0.0  0.0      0     0 ?        I<   19:00   0:00 [kworker/u9:0-hc]
root        43  0.0  0.0      0     0 ?        I<   19:00   0:00 [xprtiod]
root        46  0.0  0.0      0     0 ?        S    19:00   0:00 [kswapd0]
root        47  0.0  0.0      0     0 ?        I<   19:00   0:00 [nfsiod]
root        58  0.0  0.0      0     0 ?        I<   19:00   0:00 [kthrotld]
root        60  0.0  0.0      0     0 ?        I<   19:00   0:00 [iscsi_eh]
root        61  0.0  0.0      0     0 ?        I<   19:00   0:00 [dwc_otg]
root        62  0.0  0.0      0     0 ?        I<   19:00   0:00 [DWC Notificatio]
root        63  0.0  0.0      0     0 ?        S<   19:00   0:00 [vchiq-slot/0]
root        64  0.0  0.0      0     0 ?        S<   19:00   0:00 [vchiq-recy/0]
root        65  0.0  0.0      0     0 ?        S<   19:00   0:00 [vchiq-sync/0]
root        66  0.0  0.0      0     0 ?        S    19:00   0:00 [vchiq-keep/0]
root        67  0.0  0.0      0     0 ?        S<   19:00   0:00 [SMIO]
root        69  0.0  0.0      0     0 ?        S    19:00   0:00 [irq/86-mmc1]
root        71  0.0  0.0      0     0 ?        I<   19:00   0:00 [mmc_complete]
root        74  0.0  0.0      0     0 ?        I<   19:00   0:00 [kworker/0:1H-mm]
root        75  0.0  0.0      0     0 ?        I<   19:00   0:00 [kworker/1:1H-kb]
root        76  0.0  0.0      0     0 ?        I<   19:00   0:00 [kworker/1:2H-kb]
root        77  0.0  0.0      0     0 ?        S    19:00   0:00 [jbd2/mmcblk0p2-]
root        78  0.0  0.0      0     0 ?        I<   19:00   0:00 [ext4-rsv-conver]
root        79  0.0  0.0      0     0 ?        I<   19:00   0:00 [ipv6_addrconf]
root        83  0.0  0.0      0     0 ?        I<   19:00   0:00 [kworker/3:1H-kb]
root        91  0.0  0.0      0     0 ?        I<   19:00   0:00 [kworker/3:2H]
root        92  0.0  0.0      0     0 ?        I<   19:00   0:00 [kworker/0:2H]
root        96  0.0  0.0      0     0 ?        I<   19:00   0:00 [kworker/2:2H]
root       119  0.0  0.4  12448  4244 ?        Ss   19:00   0:00 /lib/systemd/systemd-jou
root       136  0.0  0.3  14488  3344 ?        Ss   19:00   0:00 /lib/systemd/systemd-ude
root       168  0.0  0.0      0     0 ?        S    19:00   0:00 [irq/166-usb-001]
root       182  0.0  0.0      0     0 ?        S<   19:00   0:00 [SMIO]
root       194  0.0  0.0      0     0 ?        I<   19:00   0:00 [mmal-vchiq]
root       195  0.0  0.0      0     0 ?        I<   19:00   0:00 [mmal-vchiq]
root       196  0.0  0.0      0     0 ?        I<   19:00   0:00 [mmal-vchiq]
root       197  0.0  0.0      0     0 ?        I<   19:00   0:00 [mmal-vchiq]
root       230  0.0  0.0      0     0 ?        I<   19:00   0:00 [cfg80211]
root       236  0.0  0.0      0     0 ?        I<   19:00   0:00 [brcmf_wq/mmc1:0]
root       238  0.0  0.0      0     0 ?        S    19:00   0:00 [brcmf_wdog/mmc1]
systemd+   271  0.0  0.4  17276  3624 ?        Ssl  19:00   0:00 /lib/systemd/systemd-tim
root       276  0.0  0.0      0     0 ?        I<   19:00   0:00 [mmal-vchiq]
root       323  0.0  0.2   5292  2400 ?        Ss   19:00   0:00 /usr/sbin/cron -f
avahi      324  0.0  0.3   6392  2848 ?        Ss   19:00   0:00 avahi-daemon: running [r
message+   325  0.0  0.3   6504  3384 ?        Ss   19:00   0:00 /usr/bin/dbus-daemon --s
avahi      326  0.0  0.0   6392   316 ?        S    19:00   0:00 avahi-daemon: chroot hel
root       329  0.0  0.4   7380  4280 ?        Ss   19:00   0:00 /lib/systemd/systemd-log
nobody     333  0.0  0.2   5292  2428 ?        Ss   19:00   0:00 /usr/sbin/thd --triggers
root       351  0.0  0.2  23756  2468 ?        Ssl  19:00   0:00 /usr/sbin/rsyslogd -n
root       412  0.0  0.2  10124  2412 ?        Ss   19:00   0:00 wpa_supplicant -B -c/etc
root       419  0.0  0.0      0     0 ?        I    19:00   0:00 [kworker/3:4-cgr]
root       437  0.0  0.0      0     0 ?        I<   19:01   0:00 [kworker/u9:1-hc]
root       438  0.0  0.0   2084   144 ?        S    19:01   0:00 /usr/bin/hciattach /dev/
root       444  0.0  0.3   7072  3396 ?        Ss   19:01   0:00 /usr/lib/bluetooth/bluet
root       520  0.0  0.1   2936  1616 ?        Ss   19:01   0:00 /sbin/dhcpcd -q -w
root       532  0.0  0.1   4184  1460 tty1     Ss+  19:01   0:00 /sbin/agetty --noclear t
root       535  0.0  0.5  10200  4732 ?        Ss   19:01   0:00 /usr/sbin/sshd -D
root       540  0.0  0.6  11520  5736 ?        Ss   19:01   0:00 sshd: pi [priv]
pi         544  0.0  0.5   9656  4892 ?        Ss   19:01   0:00 /lib/systemd/systemd --u
pi         547  0.0  0.1  11184  1252 ?        S    19:01   0:00 (sd-pam)
pi         554  0.0  0.3  11656  3496 ?        S    19:01   0:00 sshd: pi@pts/0
pi         557  0.0  0.4   5888  4004 pts/0    Ss   19:01   0:00 -bash
root       690  0.0  0.0      0     0 ?        I    19:16   0:00 [kworker/1:1-eve]
root       782  0.0  0.0      0     0 ?        I    19:57   0:00 [kworker/0:0-eve]
root       801  0.0  0.0      0     0 ?        I    20:09   0:00 [kworker/u8:0-ev]
root       802  0.0  0.0      0     0 ?        I    20:11   0:00 [kworker/0:1-eve]
root       811  0.0  0.0      0     0 ?        I    20:12   0:00 [kworker/2:0-eve]
root       812  0.0  0.0      0     0 ?        I    20:13   0:00 [kworker/3:0-eve]
root       813  0.0  0.0      0     0 ?        I    20:15   0:00 [kworker/u8:1-ev]
root       837  0.0  0.0      0     0 ?        I    20:17   0:00 [kworker/2:1-eve]
root       846  0.0  0.0      0     0 ?        I    20:22   0:00 [kworker/u8:2-br]
root       847  0.0  0.0      0     0 ?        R    20:22   0:00 [kworker/u8:3+br]
root       859  0.0  0.0      0     0 ?        I    20:22   0:00 [kworker/2:2-eve]
root       868  0.0  0.0      0     0 ?        I    20:23   0:00 [kworker/0:2]
pi         886  0.0  0.3   7736  2960 pts/0    R+   20:25   0:00 ps -aux

 

gpu_mem

Ustawione jest na 128, ale nawet 256 i 512 nie pomaga.

Taśma jest podłączona dobrze - sprawdzałem i przekładałem 3 razy. Co jeszcze mogę sprawdzić? Czy kamera sama w sobie może być uszkodzona?

Link do komentarza
Share on other sites

@piotr_m, witam na forum 😉 Widzę, że to Twoje pierwsze kroki na Forbocie, oto najważniejsze informacje na start:

  • Chcesz przywitać się z innymi członkami naszej społeczności? Skorzystaj z tematu powitania użytkowników.
  • Opis najciekawszych funkcji, które ułatwiają korzystanie z forum znajdziesz w temacie instrukcja korzystania z forum - co warto wiedzieć?
  • Poszczególne posty możesz oceniać (pozytywnie i negatywnie) za pomocą reakcji - ikona serca w prawym dolnym rogu każdej wiadomości.

17 godzin temu, piotr_m napisał:

Taśma jest podłączona dobrze - sprawdzałem i przekładałem 3 razy. Co jeszcze mogę sprawdzić? Czy kamera sama w sobie może być uszkodzona?

Przez ostatnie kilka lat nie było tu przypadku, aby komuś trafiła się fabrycznie uszkodzona kamera. Oczywiście jest to możliwe, ale musiałbyś mieć duże "szczęście". Czy ćwiczenia wykonujesz w tej kolejności jak opisano je w kursie? Czy to czysty system, czy robiłeś może na nim wcześniej coś innego?

Link do komentarza
Share on other sites

Dnia 28.02.2019 o 14:29, Treker napisał:

Czy ćwiczenia wykonujesz w tej kolejności jak opisano je w kursie? Czy to czysty system, czy robiłeś może na nim wcześniej coś innego?

Wykonuję w kolejności takiej jak narzuca kurs. Nic ponadto nie wykonywałem i nie robiłem na systemie.

Gdy nie udało się nic wykombinować zgodnie z przebiegiem kursu zainstalowałem od nowa system:

2018-11-13-raspbian-stretch-lite

 

Link do komentarza
Share on other sites

@piotr_m szerze mówiąc, na ten moment, nie mam pojęcia co to może być. To zdecydowanie pierwszy taki przypadek na naszym forum. Pokaże jeszcze co zwraca u Ciebie: raspistill -v, oprócz tego sprawdź jeszcze w raspi-config czy masz wyłączony interfejs 1-wire (jeśli nie, to wyłącz i spróbuj uruchomić kamerę po restarcie).

Link do komentarza
Share on other sites

Witam , widzę że został poruszony temat tworzenia folderu roboczego z plikami który w mim wypadku już dwukrotnie po kilku tygodniach działania motion wypełnił całkowicie całą kartę pamięci uceglając system . Na szczęście mam zrobioną kopie obrazu systemu i nie musiałem instalować wszystkiego od nowa, w moim wypadku domoticza i samby które są dla mnie priorytetem.Moje pytanie czy jest możliwe ograniczenie maksymalnego rozmiaru pliku roboczego ewentualnie kasowania go przy restarcie malinki?

 

Dziękuje za podpowiedz to mi wystarczy malinka i tak  jest restartowana dwa razy dziennie z powodu chwilowego zaniku  zasilania podczas przełączania się instalacji w domu z sieci na zasilanie solarne i odwrotnie

Edytowano przez mmm
Podziękowanie za odpowiedz.
Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.