Portál AbcLinuxu, 1. května 2025 14:02

Jak dostat fotky ze SonyEricssonu

24.11.2005 23:16 | Přečteno: 1799× | Linux & BSD

Koupil jsem si nový mobil (SonyEricsson K300i) s vestavěným "foťáčkem". Abych si mohl to, co z něj leze, prohlídnout v plném rozlišení, tak to chce dostat fotky z mobilu do počítače.

Koupil jsem si sériový kabel (350 Kč; na počítači nemám IRDA a funkčnost periferií na "sérii" je pravděpodobnější než USB), nainstaloval balíček obexftp a začal jsem zkoušet:

$ obexftp -t /dev/ttyS0 -l
Custom transport set to 'Siemens/Ericsson'
Connecting...done
Receiving (null)... <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE folder-listing SYSTEM "obex-folder-listing.dtd">
<!--
 XML Coder, May 24 2005, 21:06:32, (C) 2001 Sony Ericsson Mobile Communications AB
-->
<folder-listing version="1.0"><folder name="ObrĂĄzky"/>
<folder name="Zvuky"/>
<folder name="SchĂŠmata"/>
<folder name="Videosoubory"/>
<folder name="JinĂŠ"/>
</folder-listing>
done
Disconnecting...done
(Telefon posílá data v utf-8 a já mám prosté cs_CZ. Přesto příkazy fungují)

Pro stažení souboru lze použít příkaz:

obexftp -t /dev/ttyS0 -c cesta/k/souboru -g soubor
respektive pro stažení a vymazání souboru:
obexftp -t /dev/ttyS0 -c cesta/k/souboru -G soubor

Telefon neumí žádné wildcards, takže to chce stahovat po jednom. Na to jsem si napsal skriptík. "Fotky" jsou v adresáři Obrázky/camera_semc a jmenují se Obrázek(číslo).jpg, skript si vytvoří v daném umístění adresář pojmenovaný podle aktuálního data a tam obrázky stáhne. Dlužno podotknout, že se dost často vyskytují chyby, proto přenos trvá dlouho. Stažení 40 obrázků (Většina v 640x480) bylo asi na hodinu přestože vlastní stažení jednoho snímku trvá do 10 vteřin. Skript proto (velmi primitivně :-)) kontroluje úspěšnost přenosu - pokud se z jakéhokoliv důvodu fotka, tak nepřeskočí na další.

Skriptík je tady:

#!/bin/bash
# Simple scipt for downloading pictures from cell-phone

TODAY=`date +%Y%m%d`
PWD=`pwd`
PHOTO_DIR=~/data/fotky/mobil
COUNT=$(($1+1))

cd $PHOTO_DIR
if [ ! -d $TODAY ]; then
        mkdir $TODAY
fi
cd $TODAY

# If not told # of pics, do nothing
if [ "$1" == "" ]; then
        echo "Usage: $0 nr_of_pics"
        cd $PWD
        exit 2
fi

I=1
while [ $I -lt $COUNT ]; do
        PIC="Obrázek($I).jpg"
        obexftp -t /dev/ttyS0 -c Obrázky/camera_semc -g $PIC
        [ $? == "0" ] && I=$(($I+1))
done

cd $PWD
exit 0
Nedostatky jsou tyto: Poslední problém je trivialita, ale jak vyřešit ten zbytek nevím... Připomínky vítány

       

Hodnocení: 50 %

        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

25.11.2005 01:05 Honza Král | skóre: 3 | Praha
Rozbalit Rozbalit vše Re: Jak dostat fotky ze SonyEricssonu
Odpovědět | Sbalit | Link | Blokovat | Admin
#!/bin/bash

USAGE=$( basename $(which $0)) DESTINATION_DIR [-delete]
DEST="${1:?$USAGE}"
DEV=
ADRESAR=
DELETE=${2:-}

[[ -d "$DEST" ]] || mkdir "$DEST" || { echo KO; exit 1; }

cd "$DEST" || { echo KO; exit 1; }

obexftp -d $DEV -l "$ADRESAR" | sed -ne 's/^.*name="\([^"]*jpg\)".*/\1/p' | while read foto
do
  printf "stahuju foto $foto..."
  obexftp -d $DEV -g "$ADRESAR/$foto" &>/dev/null || { echo KO; exit 1; }
  echo OK
  
  if [[ -n "$DELETE" ]]; then
    printf "mazu foto $foto..."
    obexftp -d $DEV -k "$ADRESAR/$foto" &>/dev/null || { echo KO; exit 1; }
    echo OK
  fi
done

exit 0
uplne za to nerucim - vetsinu jsem napsal ted bez vyzkouseni, ale jadro je vzaty z myho skriptu na stahovani fotek z S55ky a to fungovalo...
25.11.2005 01:07 Honza Král | skóre: 3 | Praha
Rozbalit Rozbalit vše Re: Jak dostat fotky ze SonyEricssonu
jak tak na to koukam, tak budes muset minimalne vygrepovat pryc (grep -v) foldery v tom listingu, aby si se je nepokousel stahovat...

jinak samozrejme upravuj a ptej se co hrdlo raci... ;)
25.11.2005 01:17 Honza Král | skóre: 3 | Praha
Rozbalit Rozbalit vše Re: Jak dostat fotky ze SonyEricssonu
jeste k tomu bodu o existenci souboru: staci pridat
if [[ -f "$foto" ]]; then
  echo "Soubor $foto uz existuje..."
  exit 1
fi
na zacatek toho cyklu (za radek "do")
25.11.2005 07:45 Dag | skóre: 25 | blog: bzuk
Rozbalit Rozbalit vše Re: Jak dostat fotky ze SonyEricssonu
Odpovědět | Sbalit | Link | Blokovat | Admin
S tím mazáním fotek v telefonu. V návodech bývá a jeden muž co se tím malinko zbývá to také říkal, že je lépe mazat přímo přístrojem, nikoliv při stahování. Já na tom netrvám :), jak jsem slyšel, tak dávám dál, třeba to někdo vyvrátí a nebo potvrdí.
25.11.2005 07:50 Dag | skóre: 25 | blog: bzuk
Rozbalit Rozbalit vše Re: Jak dostat fotky ze SonyEricssonu
P.S. Pochopil jsem to tak, že foťák, telefon, má informace o fotce a pokud je tahle vymazaná externě, tak ty informace, zůstanou a můžou pak dělat neplechu.
10.12.2005 17:04 j3nda | skóre: 14 | ostrava/brno
Rozbalit Rozbalit vše Re: Jak dostat fotky ze SonyEricssonu
Odpovědět | Sbalit | Link | Blokovat | Admin
zdravim, nevite nekdo proc mi obexftp pri tomto: obexftp -b /dev/ttyS0 -l 'Obrázky/camera_semc'

VZDY zobrazi jenom seznam korenovych slozek? jako kdybych se nemohl dostat do podslozky. Je na to nejaka finta? o UTF-8 vim v kodovani to neni.

mam SE K700i a [ebuild R ] app-mobilephone/obexftp-0.10.7-r1 +bluetooth 0 kB
___---==~[ uxunilcba | baclniuxu ]~==---__sevrer_pnly_liunx-lkie_hcaricku__/libGDX-rulez-the-W0R7D!___
16.12.2005 15:02 David Jaša | skóre: 44 | blog: Dejvův blog
Rozbalit Rozbalit vše Re: Jak dostat fotky ze SonyEricssonu
Od toho máš -c, který tě přepne do daného adresáře:
obexftp -t /dev/ttyS0 -c Obrázky/camera_semc -l
10.12.2005 17:16 j3nda | skóre: 14 | ostrava/brno
Rozbalit Rozbalit vše Re: Jak dostat fotky ze SonyEricssonu
Odpovědět | Sbalit | Link | Blokovat | Admin
to ze mi to nejde je asi spravne, co? slozky jako obrazky a videosoubory nejdou vylistovat a jede se naslepo. ok?

nebo jsem neco prehledl, pripadne v necem udelal kopanec?
___---==~[ uxunilcba | baclniuxu ]~==---__sevrer_pnly_liunx-lkie_hcaricku__/libGDX-rulez-the-W0R7D!___

Založit nové vláknoNahoru

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.