MCA25: Unterschied zwischen den Versionen

Aus Ethersex_Wiki
Wechseln zu: Navigation, Suche
Zeile 1: Zeile 1:
 
Jochen und stesie begannen am 25. Juli 2009 Unterstützung der Handykamera MCA25 in Ethersex einzubauen.
 
Jochen und stesie begannen am 25. Juli 2009 Unterstützung der Handykamera MCA25 in Ethersex einzubauen.
  
Es gibt ein GPLv2+ Projekt, von dem bestehender Code übernommen wurde.  Dieses findet sich unter http://avr.auctionant.de/avr-ip-webcam/index.html.  Insbesondere ist dort die Anbindung der Kamera beschrieben.
+
Es gibt ein GPLv2+ Projekt, von dem bestehender Code übernommen wurde.  Dieses findet sich unter http://avr.auctionant.de/avr-ip-webcam/index.html.  Insbesondere ist dort die Anbindung der Kamera beschrieben. Damit hört's dann aber auch fast schon auf, da die Kameras wohl alle gewisse Eigenheiten haben, was ihre Ausgabe anbelangt und der Code sehr genaue Vorstellungen hat, was er hören will und was nicht :-(
  
Das Wichtigste in Kürze:  die Kamera spricht zunächst mit 9600 baud; die eigentlichen Bilddaten werden mit 460kbaud übertragen, es ist also (wie bei der [[dc3840 camera]] auch) ein spezieller Quarz erforderlich.
+
Das Wichtigste in Kürze:  die Kamera spricht zunächst mit 9600 baud; die eigentlichen Bilddaten werden mit 460kbaud übertragen, es ist also (wie bei der [[dc3840 camera]] auch) ein spezieller Quarz erforderlich (14,7456 MHz). Solange der 9600 baud Modus aktiv ist, werden ganz normal AT-Befehle über die Leitung geschickt.  Diese dienen dann dazu einen Multiplexer-Modus zu initialisieren, der dann zwangsweise mit 460kbaud läuft.
 +
 
 +
Ein Datenstrom wird dabei grundsätzlich in Häppchen zerlegt:
 +
              frame header
 +
          ,--------------------,
 +
F983EF 3F A00096C30000008B49008E3C63616D6572612D696E666F2076657273696F6E EDF9
 +
                ^^              ^
 +
                frame type      data start
 +
            ^^^^
 +
            packet length (msb first)
 +
 +
F983EF 3F 3D22312E30222053572D76657273696F6E3D22523141204358433132353439 EDF9
 +
F983EF 3F 36223E3C6D656D6F727920667265653D223539312220667265652D696D6167 EDF9
 +
F983EF 3F 65733D223130222073746F7265642D696D616765733D2230222066756E2D6C EDF9
 +
 +
F983EF 35 617965723D223130222F3E3C2F63616D6572612D696E666F3E 0000F9
 +
          ^
 +
          data start
 +
        ^^ segment length:  n = (c-1)/2
 +
 
 +
Inzwischen funktioniert das Ganze so halbwegs.  Hier zum einen das erste Bild überhaupt (leicht zu erkennen daran, dass ich die Kamera erstmal falsch herum gehalten habe) und dann ein's bißchen weiter in die "Ferne".  Allerdings alles bei künstlicher Beleuchtung -- nachts um halb drei war nichts besseres greifbar (:mrgreen:).  Die Streifen kommen wohl durch die übertragung, war nur ein eilig zusammengehackter UDP-Cast vom Ethersex zum Rechner ...
 +
 
 +
[[Bild:Mca25_first_pic.jpg|240px]] [[Bild:Mca25_bild3.jpg|240px]]
  
 
[[Category:Ethersex]]
 
[[Category:Ethersex]]

Version vom 3. August 2009, 02:28 Uhr

Jochen und stesie begannen am 25. Juli 2009 Unterstützung der Handykamera MCA25 in Ethersex einzubauen.

Es gibt ein GPLv2+ Projekt, von dem bestehender Code übernommen wurde. Dieses findet sich unter http://avr.auctionant.de/avr-ip-webcam/index.html. Insbesondere ist dort die Anbindung der Kamera beschrieben. Damit hört's dann aber auch fast schon auf, da die Kameras wohl alle gewisse Eigenheiten haben, was ihre Ausgabe anbelangt und der Code sehr genaue Vorstellungen hat, was er hören will und was nicht :-(

Das Wichtigste in Kürze: die Kamera spricht zunächst mit 9600 baud; die eigentlichen Bilddaten werden mit 460kbaud übertragen, es ist also (wie bei der dc3840 camera auch) ein spezieller Quarz erforderlich (14,7456 MHz). Solange der 9600 baud Modus aktiv ist, werden ganz normal AT-Befehle über die Leitung geschickt. Diese dienen dann dazu einen Multiplexer-Modus zu initialisieren, der dann zwangsweise mit 460kbaud läuft.

Ein Datenstrom wird dabei grundsätzlich in Häppchen zerlegt:

             frame header
          ,--------------------,
F983EF 3F A00096C30000008B49008E3C63616D6572612D696E666F2076657273696F6E EDF9
                ^^              ^
                frame type      data start
            ^^^^
            packet length (msb first)

F983EF 3F 3D22312E30222053572D76657273696F6E3D22523141204358433132353439 EDF9
F983EF 3F 36223E3C6D656D6F727920667265653D223539312220667265652D696D6167 EDF9
F983EF 3F 65733D223130222073746F7265642D696D616765733D2230222066756E2D6C EDF9

F983EF 35 617965723D223130222F3E3C2F63616D6572612D696E666F3E 0000F9
          ^
          data start
       ^^ segment length:   n = (c-1)/2

Inzwischen funktioniert das Ganze so halbwegs. Hier zum einen das erste Bild überhaupt (leicht zu erkennen daran, dass ich die Kamera erstmal falsch herum gehalten habe) und dann ein's bißchen weiter in die "Ferne". Allerdings alles bei künstlicher Beleuchtung -- nachts um halb drei war nichts besseres greifbar (:mrgreen:). Die Streifen kommen wohl durch die übertragung, war nur ein eilig zusammengehackter UDP-Cast vom Ethersex zum Rechner ...

Mca25 first pic.jpg Mca25 bild3.jpg