Basteln mit der QX10

1 Sep

Ein paar Beobachtungen zu Sonys Zylinderknipse:

  • Mit Intervall-Aufnahme hält der Akku mehr als 1 Stunde 30 Minuten durch, und das mit eingeschaltetem WLAN und mit 5-MP-Bild alle 15 Sekunden. Nicht schlecht für so ein winziges Lithiumblättchen.
  • Das nächste Firmware-Update könnte gerne auch noch die Fähigkeit zur Fokus-Verriegelung und dem Einstellen von Zeit/Blende enthalten. Im Telebereich hat sich der Autofokus nicht auf einen bestimmten Zweig festlegen mögen.
  • Vor meinem Fenster passiert absolut nichts Aufregendes.

A propos „nichts Aufregendes“ – hier noch mehr nichts Aufregendes:

DSC00472_web

Was für ein nichtssagendes Bild. Und trotzdem ist es was Besonderes: Ausgelöst wurde die Kamera hier zum ersten Mal durch einen Knopf im ganz normalen Desktop-Browser, der über jQuery einen JSON-Befehl per WLAN an die QX10 schickte. Fernbedienung vom Desktop aus!

Warum? Weil’s ging!

Die Vorgehensweise in Stichworten:

  1. Kamera einschalten
  2. WLAN auf dem Computer einschalten
  3. Mit Kamera verbinden
  4. Kamera-Passwort eingeben
  5. Kamera-Adresse finden (Kamera ist jetzt der Accesspoint/Router)
  6. Im Internet herumsuchen, bis die Seite auftaucht, wo jemand den Standard-Port der Kamera erwähnt (Nr. 10000)
  7. Schnell mit NetBeans ein HTML5-App-Projekt zusammenklöppeln, das jQuery enthält
  8. Blindwütig Daten senden und auf das Ergebnis lauschen, bis dann endlich:
  9. Bild!
  10. Etwas ausführlicher die Daten, die die Kamera zurück liefert, anschauen
  11. Platzhalter für das Vorschaubild einfügen
  12. Erfolg? Zumindest „Erfolgserlebnis“

Und hier noch den Code:

<script src="js/libs/jquery/jquery.js"></script>
 <div><button id="requester">Foto!</button></div>
 <div style="width:300px;height:300px;"><img id="vorschau" style="width:100%;" src=""></div> <div id="output"></div>
 <script>
 jQuery( '#requester' ).click( function( event ) {
 jQuery.post( 'http://10.0.0.1:10000/sony/camera',
 JSON.stringify( {
 "method": "actTakePicture",
 "params": [ ],
 "id": 1,
 "version": "1.0"
 } ),
 function( data ) {
 if ( typeof data === 'object' && typeof data.result === 'object' ) {
 var derPfad = data.result[0][0];
 jQuery( '#output' ).append( '<p>Ziel: ' + derPfad + '</p>' );
 jQuery( 'img#vorschau' ).attr( 'src', derPfad );

 } else {
 jQuery( '#output' ).append( 'Fehler!' );
 console.log( data );
 }
 },
 'json'
 );
 } );
</script>

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

1 × fünf =