Forum: Mikrocontroller und Digitale Elektronik Webcam mit I²C


von Bill Gates jun. (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Leute,

die Webcams, die ich kenne haben alle ein USB-Interface. Einen USB-Host
auf einem µC zu implementieren ist sehr umfangreich und daher nicht
gerade einfach...

In vielen Webcams (ebay 9..20Euro) ist der Controller von Sonix z.B.
SN9C120 oder SN9C128 verbaut. Laut Datenblatt hat dieser Controller
neben einer USB 1.1-Interface auch ein I²C-Schnittstelle zum Auslesen
der Daten.

I²C ist relativ einfach zu Handeln im Gegensatz zu USB, da es ja nicht
nur mit einem FT245BM getan ist, sondern wie gesagt die  Host-Firmware
das eigentliche Problem ist.

Was hält ihr von der Sache, hat jemand schon Erfahrungen damit
gesammelt?

von Tobias S. (tobias)


Lesenswert?

Hi,
zunaechstmal: vergiss es :)

Das i2c interface in dem Chip ist nur dafuer da, ein eeprom
anzuschliessen, das eine eigene vid und pid enthaellt. Fuer was anderes
ist es nicht zu gebrauchen.


Gruss Tobias

von sven (Gast)


Lesenswert?

Hallo,

zunächst möchte ich sagen, dass ich noch keine Erfahrungen damit
gemachst habe eine Kamera an einen uC anzuschliessen, aber ich habe
auch schon mal darüber nachgedacht und mich informiert.

Es gibt ein Kameramodul, welches man seriell auslesen kann, dieses
besitzt neben den beiben Stromversorgungsleitungen noch eine TxD und
eine RxD Leitung. Das wäre möglicherweise noch einfacher als über einen
I2C-Bus. Das angesprochene Modul kostet allerdings mehr als 20 Euro.

von Bill Gates jun. (Gast)


Lesenswert?

Danke Tobias für die Info.

Habe das Projekt soeben zu den Akten gelegt!

von Axel R. (Gast)


Angehängte Dateien:

Lesenswert?

Hi,
ich habe mit dieser Kamera gute Erfahrungen gemacht...
Kennst Du diese Kamera?
Einfacher gehts kaum noch, oder?

Gruß
Axel

von Axel R. (Gast)


Lesenswert?

bischen groß das Bild, sorry!

von Sssssss (Gast)


Lesenswert?

Hi!

@Tobias:
Das I2C Interface ist hauptsächlich dafür gedacht den Kamerachip
zu konfigurieren (Auflösung, Framerate, ...).
Manchmal hängt auch noch wie du sagtest nen eeprom mit am chip für die
device ids.

von Tobias S. (tobias)


Lesenswert?

Hi,
also wenn ich das Datenblatt ueberflige sehe ich nur die Erwaehnung
eines externen i2c eeproms und eines i2c interfaces, das den master am
bus darstellt.

Hast du vll. ein besseres Datenblatt als diese kurze summary?

Gruss Tobias

von Sssssss (Gast)


Lesenswert?

Guck mal auf Seite 13 des Datasheets.
Links oben bei Sensor interface: SDA und SCL ;)

Hab ich bis jetzt so bei allen Webcams gesehen wo
ich mal reingeguckt habe ;)

von Bill Gates jun. (Gast)


Lesenswert?

@AxelR
hast du eine Typbezeichnung und wo kann man diese Kamera kaufen?

von Axel R. (Gast)


Lesenswert?

Die Kamera ist von Comedia Ltd.
Rm 802,
Nan Fung Centre,
Castle Peak Road,
Tsuen Wan, N.T., Hong Kong
tel: 852-2498-6248
fax: 852-2414-3050

Es sollte sich aber auch der eine oder andere deutsche Anbieter finden
lassen. Etweder suchst Dir einen oder ich frage meinen Chef, ob ich Dir
eine verkaufen soll/darf/kann :-)

Gruß
Axel

von Tobias S. (tobias)


Lesenswert?

@Sssssss
Stimmt du hast recht.

Aber gut versteckt haben sie es ja schon :)

Gruss Tobias

von Sssssss (Gast)


Lesenswert?

Hatte ehrlich gesagt auch beim ersten Post nicht ins Datenblatt geguckt,
kannte das nur von diversen anderen Kameras ;)

von Mark H. (haemi)


Lesenswert?

Salve,

es gibt da z.B. auch die Kodak PalmPix Kameras. Bekommt man bei eB*y
für < 20 Euro. Das sind 640x480 CMOS Kameras, die unten an einen Palm
III gesteckt werden (für Palm V soll's sowas auch geben).
Die Kommunikation ist also RS232. Inwieweit das Kameramodul selbst die
Daten schon komprimiert, kann ich nicht sagen. Die Kamera, die Axel
beschreibt, klingt von den Features her aber ähnlich. Die PalmPix kann
auch ein Livebild senden, in geringerer Auflösung.

Die Kommunikation (Protokoll bzw. Bildformat) hab ich noch nicht
abgehorcht, reingeschaut in das Kameragehäuse hab ich auch noch nicht.

Das nur als Hinweis, daß es solche Module mit RS232-Anbindung auch
recht günstig in Consumerprodukten gibt. Vielleicht hat ja der eine
oder andere von Euch Interesse, die Interna dieser Kamera zu
erforschen.

Für z.B. einen AVR-Webserver wäre JPEG-Komprimierung in der Kamera
natürlich mehr oder weniger Voraussetzung.

Mark

von Sssssss (Gast)


Lesenswert?

Hi!

Ich bin grad dabei die Kommunikation der seriellen MCA-25 Handykamera
zu entschlüsseln.
Live vorschau unkomprimiert in geringer Auflösung und
bis 640x480 JPEG komprimiert.
kommunikation über RS232 bzw ich bin gerade dabei nen perl Programm
zu schreiben dass das Handy
simuliert.
Ist nicht ganz so einfach rauszubekommen wer welche Daten sendet...

Die Kameras gibts bei ebay für 1,-
Müsst nur aufpassen dass ihr euch nicht gegenseitig überbietet ;)

In der Kamera ist nen 640x480 cmos sensor, nen ARM Prozessor sowie
sram und nen flash:
prozessor: ctech argus CT100 - 75mips 32bit risc arm7 core
flash: 39vf800A xMbit  Flash
sram: TC55W400XB-?? 4Mbit 2.7-3.6v lp sram

Sobald ich was vorzeigbares habe werd ichs irgendwo hinpacken.
Ziel ist erstmal ein Perl Programm das die Cam am pc ansteuern kann
und dann das ganze auf nen atmel zu packen und einfache BV zu machen
(blob tracken per servo oder so)

von Mark H. (haemi)


Lesenswert?

Salve,

wow, das klingt sehr interessant - und günstig sind die. Erinnert mich
an diesen MP3-Player für's Handy. Wieso sind diese Dinger soo
billig?

An welchem Punkt der Entschlüsselung bist Du denn jetzt? Lohnt es sich
schon, sich mit den Kameras prophylaktisch einzudecken? ;)

Viel Erfolg!! Sehr vielversprechendes Projekt!

Mark

von Sssssss (Gast)


Angehängte Dateien:

Lesenswert?

Ich bin soweit bis das die Kamera einen GSM 07.10 multiplexmodus
aktiviert.
Ab da verstehe ich es nicht so ganz...

Den (Vorschau) Datenstrom der Kamera mitzuschneiden wenn sie am Handy
steckt (EBMP laut header?) und zu dekodieren habe ich auch schon
geschafft...
Sind aber noch ein paar Störungen drin. War nur zum testen.
Bild siehe Anhang...

Eindecken:
Hmm solange sie noch nicht viele haben wollen sind sie billig ;)
Die braucht ja sonst kein mensch ...
Ich hab mir gleich noch nen zerschrammtes T310 Handy bei ebay gekauft
um
die Kommunikation zu loggen.
Also falls jemand Infos über das GSM 07.10 multiplex Protokoll hat
immer her damit ;)
So sieht es nach dem 07.10 (=das AT+CMUX) init aus:
1
000003A8   FF 00 FF 00  FF 00 FF 00  FF 00 FF 00  FF 41 54 2B  43 4D 55
2
58  3D 3F 0A 0A  .............AT+CMUX=?..
3
000003C0   0A 2B 43 4D  55 58 3A 20  28 30 29 2C  28 30 29 2C  28 31 2D
4
37  29 2C 28 33  .+CMUX: (0),(0),(1-7),(3
5
000003D8   31 29 2C 28  31 30 29 2C  28 33 29 2C  28 33 30 29  2C 28 31
6
30  29 2C 28 31  1),(10),(3),(30),(10),(1
7
000003F0   2D 37 29 0A  0A 0A 0A 4F  4B 0A 0A 41  54 2B 43 4D  55 58 3D
8
30  2C 30 2C 37  -7)....OK..AT+CMUX=0,0,7
9
00000408   2C 33 31 0A  0A 0A 4F 4B  0A 0A 73 01  D7 F9 F9 23  73 01 02
10
F9  F9 01 EF 0B  ,31...OK..s....#s.......
11
00000420   E3 07 23 0C  01 79 F9 F9  01 EF 09 E1  05 23 8D 9A  F9 F9 21
12
EF  1B 41 54 2A  ..#..y.......#....!..AT*
13
00000438   45 41 43 53  3D 31 37 2C  31 0A B0 F9  F9 21 EF 0A  0A 0A 4F
14
4B  0A 0A 48 F9  EACS=17,1....!....OK..H.
15
00000450   F9 21 EF 1D  41 54 2B 43  53 43 43 3D  31 2C 31 39  39 0A 54
16
F9  F9 21 EF 1B  .!..AT+CSCC=1,199.T..!..
17
00000468   0A 0A 2B 43  53 43 43 3A  20 45 33 0A  0A B0 F9 F9  21 EF 0A
18
0A  0A 4F 4B 0A  ..+CSCC: E3.....!....OK.
19
00000480   0A 48 F9 F9  21 EF 23 41  54 2B 43 53  43 43 3D 32  2C 31 39
20
39  2C 42 39 0A  .H..!.#AT+CSCC=2,199,B9.
21
00000498   10 00 02 00  46 00 E3 3D  95 45 83 74  4A D7 9E C5  C1 6B E3
22
1E  DE 8E 61 F9  ....F..=.E.tJ....k....a.
23
000004B0   F9 21 EF 0A  0A 0A 4F 4B  0A 0A 48 F9  F9 21 41 54  2A 45 43
24
55  52 3D 34 31  .!....OK..H..!AT*ECUR=41
25
000004C8   0A B9 F9 F9  21 EF 0A 0A  0A 4F 4B 0A  0A 49 01 35  3C 63 61
26
6D  65 72 61 2D  ....!....OK..I.5<camera-
27
000004E0   73 65 74 74  69 6E 67 73  20 76 65 72  73 69 8C F9  F9 81 EF
28
3F  6F 6E 3D 22  settings versi.....?on="
29
000004F8   31 2E 30 22  20 77 68 69  74 65 2D 62  61 6C 61 6E  63 65 3D
30
22  4F 46 46 22  1.0" white-balance="OFF"
31
00000510   20 63 6F 8C  F9 F9 81 EF  3F 6C 6F 72  2D 63 6F 6D  70 65 6E
32
73  61 74 69 6F   co.....?lor-compensatio
33
00000528   6E 3D 22 31  33 22 20 66  75 6E 2D 6C  61 79 65 72  8C F9 F9
34
81  EF 3F 3D 22  n="13" fun-layer.....?="
35
00000540   30 22 3E 3C  6D 6F 6E 69  74 6F 72 69  6E 67 2D 66  6F 72 6D
36
61  74 20 65 6E  0"><monitoring-format en
37
00000558   63 6F 64 69  6E 8C F9 F9  81 EF 3F 67  3D 22 45 42  4D 50 22
38
20  70 69 78 65  codin.....?g="EBMP" pixe
39
00000570   6C 2D 73 69  7A 65 3D 22  38 30 2A 36  30 22 20 63  6F 6C 8C
40
F9  F9 81 EF 3F  l-size="80*60" col.....?
41
00000588   6F 72 2D 64  65 70 74 68  3D 22 38 22  2F 3E 0A 0A  3C 74 68
42
75  6D 62 6E 61  or-depth="8"/>..<thumbna
43
000005A0   69 6C 2D 66  6F 72 6D 8C  F9 F9 81 EF  3F 61 74 20  65 6E 63
44
6F  64 69 6E 67  il-form.....?at encoding
45
000005B8   3D 22 45 42  4D 50 22 20  70 69 78 65  6C 2D 73 69  7A 65 3D
46
22  8C F9 F9 81  ="EBMP" pixel-size="....
(mitschnitt handy<->cam)

Bis zum aktivieren von CMUX bin ich auch schon per testprogramm, danach
sendet die Cam aber 0xF1 und ich weiss
nicht wie ich zu antworten habe ...

von Sssssss (Gast)


Lesenswert?

hrmpf zerstückelt...
nochmal:
000003A8   FF 00 FF 00  FF 00 FF 00  FF 00 FF 00  FF 41 54 2B  43 4D 55
58  3D 3F 0A 0A  .............AT+CMUX=?..
000003C0   0A 2B 43 4D  55 58 3A 20  28 30 29 2C  28 30 29 2C  28 31 2D
37  29 2C 28 33  .+CMUX: (0),(0),(1-7),(3
000003D8   31 29 2C 28  31 30 29 2C  28 33 29 2C  28 33 30 29  2C 28 31
30  29 2C 28 31  1),(10),(3),(30),(10),(1
000003F0   2D 37 29 0A  0A 0A 0A 4F  4B 0A 0A 41  54 2B 43 4D  55 58 3D
30  2C 30 2C 37  -7)....OK..AT+CMUX=0,0,7
00000408   2C 33 31 0A  0A 0A 4F 4B  0A 0A 73 01  D7 F9 F9 23  73 01 02
F9  F9 01 EF 0B  ,31...OK..s....#s.......
00000420   E3 07 23 0C  01 79 F9 F9  01 EF 09 E1  05 23 8D 9A  F9 F9 21
EF  1B 41 54 2A  ..#..y.......#....!..AT*
00000438   45 41 43 53  3D 31 37 2C  31 0A B0 F9  F9 21 EF 0A  0A 0A 4F
4B  0A 0A 48 F9  EACS=17,1....!....OK..H.
00000450   F9 21 EF 1D  41 54 2B 43  53 43 43 3D  31 2C 31 39  39 0A 54
F9  F9 21 EF 1B  .!..AT+CSCC=1,199.T..!..
00000468   0A 0A 2B 43  53 43 43 3A  20 45 33 0A  0A B0 F9 F9  21 EF 0A
0A  0A 4F 4B 0A  ..+CSCC: E3.....!....OK.
00000480   0A 48 F9 F9  21 EF 23 41  54 2B 43 53  43 43 3D 32  2C 31 39
39  2C 42 39 0A  .H..!.#AT+CSCC=2,199,B9.
00000498   10 00 02 00  46 00 E3 3D  95 45 83 74  4A D7 9E C5  C1 6B E3
1E  DE 8E 61 F9  ....F..=.E.tJ....k....a.
000004B0   F9 21 EF 0A  0A 0A 4F 4B  0A 0A 48 F9  F9 21 41 54  2A 45 43
55  52 3D 34 31  .!....OK..H..!AT*ECUR=41
000004C8   0A B9 F9 F9  21 EF 0A 0A  0A 4F 4B 0A  0A 49 01 35  3C 63 61
6D  65 72 61 2D  ....!....OK..I.5<camera-
000004E0   73 65 74 74  69 6E 67 73  20 76 65 72  73 69 8C F9  F9 81 EF
3F  6F 6E 3D 22  settings versi.....?on="
000004F8   31 2E 30 22  20 77 68 69  74 65 2D 62  61 6C 61 6E  63 65 3D
22  4F 46 46 22  1.0" white-balance="OFF"
00000510   20 63 6F 8C  F9 F9 81 EF  3F 6C 6F 72  2D 63 6F 6D  70 65 6E
73  61 74 69 6F   co.....?lor-compensatio
00000528   6E 3D 22 31  33 22 20 66  75 6E 2D 6C  61 79 65 72  8C F9 F9
81  EF 3F 3D 22  n="13" fun-layer.....?="
00000540   30 22 3E 3C  6D 6F 6E 69  74 6F 72 69  6E 67 2D 66  6F 72 6D
61  74 20 65 6E  0"><monitoring-format en
00000558   63 6F 64 69  6E 8C F9 F9  81 EF 3F 67  3D 22 45 42  4D 50 22
20  70 69 78 65  codin.....?g="EBMP" pixe
00000570   6C 2D 73 69  7A 65 3D 22  38 30 2A 36  30 22 20 63  6F 6C 8C
F9  F9 81 EF 3F  l-size="80*60" col.....?
00000588   6F 72 2D 64  65 70 74 68  3D 22 38 22  2F 3E 0A 0A  3C 74 68
75  6D 62 6E 61  or-depth="8"/>..<thumbna
000005A0   69 6C 2D 66  6F 72 6D 8C  F9 F9 81 EF  3F 61 74 20  65 6E 63
6F  64 69 6E 67  il-form.....?at encoding
000005B8   3D 22 45 42  4D 50 22 20  70 69 78 65  6C 2D 73 69  7A 65 3D
22  8C F9 F9 81  ="EBMP" pixel-size="....

von Mark H. (haemi)


Lesenswert?

Salve,

wie bzw. womit loggst Du die Daten denn? Also ich kann dem Dump nicht
wirklich entnehmen, was woher bzw. wann kommt. In Dialogform läßt sich
die Kommunikation bestimmt besser verstehen.
Mein Ansatz wäre, zwei UARTs am PC mit dem TXD je eines Gerätes zu
verbinden (also kein Durchreichen, d.h. auch verzögerungsfrei) und dann
per Script entweder eingefärbt oder in Dialogform ein Log zu erstellen.

Immerhin, zumindest das Stückchen XML sieht ja doch übersichtlich aus.
:)

Bin weiterhin sehr gespannt.

Mark

von Sssssss (Gast)


Lesenswert?

ich rate wer was sendet ;)

Ist bissl aufwendig aber es geht...

Das Problem ist dass das Handy einen Teil der gesendeten Daten als
Echo zurückgibt...
Wenigstens habe ich gestern ne Siemens Doku über das 07.10
multiplexkommando gefunden.
Die Daten werden nur in verschiedene Pakete verteilt und man hat somit
3 virtuelle Comports. Einer für Controlcmds (AT...) und einer für die
Bilddaten.
Sieht ganz gut aus bis jetzt ;)
Muss nur noch das initialisieren der 07.10 verbindung hinbekommen.

von AxelR. (Gast)


Lesenswert?

Kennt jemand das Progam "COMWATCH"?
läuft noch unter DOS (z.N. aber auch im Fenster unter XP) und erlaubt
sehr übersichtlich die Aussage, wer was sendet. Sieht natürlich
gewöhnungsbedürtig aus (DOS-Fenster eben). Man kann im Nachhinein sogar
zwischen ASCII und HEX hin- und herschalten. Da eh nur die älteren
Rechner mit mehreren seriellen Schnittstellen ausgerüstet sind, passt
das mit dem DOS wieder. Ich habe mir einen alten 166er für diesen Zweck
abgestellt.
Gruß
AxelR.

von Sssssss (Gast)


Lesenswert?

Danke für den Tipp!
Muss ich mal gucken obs unter nem Dosemu läuft.
Bin Linuxuser ;) Evtl find ich was passendes unter Linux.

Unter Win/Dos geht das loggen glaub ich eh nicht, das handy und die
cam
reden per 460kbaud miteinander...
Aber für später kann man das runter drehen soweit ich bis jetzt raus
hab.
Die Cam fordert gültige baudraten an und schaltet danach auf maximum.

so muss nun zur uni, schaue heute abend weiter

von papa_of_t (Gast)


Lesenswert?

Hallo Sssssss und Mark,

ich bin an diesem Protokoll auch interessiert... Ich vermute, Du hast
mit dem Handy ein Foto gemacht und davon einen kompletten DUMP..

Stell den doch hier als Datei 'rein, dann kann ich mitraten.. :-)

von Sssssss (Gast)


Lesenswert?

Ich habe bis jetzt nur Dumps vom Vorschau Stream.
Und dazu ein Perl Schnipsel der mehr oder weniger ein Bild
exrahiert.
Mit den Infos aus dem Siemans manual wo das 07.10 Protokoll erklärt
wird sollte ich das aber verbessern können.

Ein volles Bild zu loggen hab ich noch nicht geschafft, das MMS senden
ist noch nicht eingerichtet bzw wird schwierig
da auf dem Handy ein paar Tasen kaputt sind (Wasserschaden) :-X

Den Vorschaudump kann ich heute abend evtl mal hier reinstellen.
bzw ambesten wäre ein eigener thread,hier ist es ja bissl OT.
Kann man die Posts irgendwie abtrennen hier ?

von Mark H. (haemi)


Lesenswert?

Salve,

starte einfach einen neuen Thread und gib im Eröffnungsposting einen
Hinweis auf Deinen Beitrag
http://www.mikrocontroller.net/forum/read-1-231795.html#232422 - dann
können alle bei Interesse den Anfang verfolgen.

Hab gestern mal bei freshmeat geschaut. Es gibt schon einige Sniffer
für sowas. Wie übersichtlich deren Ausgaben sind, konnte ich auf den
Screenshots leider nicht immer erkennen.

Mark

von Sssssss (Gast)


Lesenswert?

mit der MCA25 kamera gehts hier:
http://www.mikrocontroller.net/forum/read-1-232801.html
weiter.

Hier bitte NICHTS mehr zur mca25 schreiben ;)

von Reinhard B. (Gast)


Lesenswert?

@ Axel Rühl (AxelR):
Hallo.
Wäre es möglich die Comedia Kamera zu bekommen? Und zu welchem Preis?

Danke!

von Axel R. (Gast)


Lesenswert?

Hi,
Anfragen zur Kamera bitte nur über info<<at>>fugon.de.
Ich möchte diese nicht an meinem Chef vorbei "verticken". Ist
schliesslich kein Nokia8800 und die Dinger fallen auch nicht vom LKW
und verdienen will ich auch nichts drann. Ausser Porto+Versand werde
ich nichts draufschlagen, versprochen.

Gruß
Axel

von AxelR. (Gast)


Lesenswert?

Liebe Forumgemeinde,
lieber Reinhard

Aus aktuellem Anlass soll ich folgendes schreiben:
mit der Cam hat sich erledigt - aus buchhalterischen Gründen können wir
die Cam nicht als Einzelteil verkaufen. Tut mir leid, wusste ich
wirklich nicht!
(Muss als "wiederverkaufsfähiges Halbfertigbauteil" angelegt werden,
k.A., was das heisst)
Es gibt aber noch mindestens zwei weitere deutsche Händler, die die
Kamera mit Preisen zwischen 55Euro bis 75Euro im Programm haben.
1. Intertek
2. Sander

Trozdem schöne Grüße
AxelR.

(öfter mal die Fresse halten - ich lerne das schon noch irgentwann)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.