Sony Cyber-shot DSC-QX10 - alternatywa dla kamer sportowych?

Moderatorzy: moderatorzy2014, moderatorzy

kuczy
Posty: 2199
Rejestracja: wtorek 17 lis 2015, 22:03

Re: Sony Cyber-shot DSC-QX10 - alternatywa dla kamer sportow

Post autor: kuczy »

no tym razem bez kółeczek - aczkolwiek fotka poprzerabiana - taka artystyczna wizja :D :D - jednak jeśli chodzi o poprawki dotyczące kolorystyki kontrastu itp - to nie było tego wiele - Sony robi ładne zdjęcia, ale bez podglądu strasznie ciężko wstrzelić się w kadr.
- Dlatego chyba jednak QX-10 zostanie tylko ciekawostką :) :)

Obrazek
Awatar użytkownika
Lotnik54
Posty: 1251
Rejestracja: poniedziałek 29 paź 2012, 15:30
Lokalizacja: Ełk

Re: Sony Cyber-shot DSC-QX10 - alternatywa dla kamer sportow

Post autor: Lotnik54 »

Mam do Was pytanie. Czy ten moduł wifi który ma pamięć mogę zaprogramować tylko do 1 czynności czyli jego zadanie to logowanie się z kamerą i wykonywanie w pętli ostrzenia i pstrykania zdjęć w zadanym czasie np. co 5 sekund ?
Parametry zdjęć mogę sobie ustawić na ziemi przed lotem ze smartfona po czym rozłączam sieć ze smartfonem i podłączam moduł wifi na pokładzie. Bo w sumie to mnie najbardziej w tej chwili interesuje. Film można kręcić poprzez przełączenie aparatu i startu kamery przyciskiem więc bólu nie ma. A z wyzwalaniem migawki także by wtedy nie było.
1.Tarot 680 - Pixhawk SunnySky V3508 580kV Afro Slim 20A APC 12*4,5 MR X8R Sony QX100
2. Mi Drone 4K całkiem fajna latająca kamerka.
3. DJI Mavic 2 Pro super zabawka
kuczy
Posty: 2199
Rejestracja: wtorek 17 lis 2015, 22:03

Re: Sony Cyber-shot DSC-QX10 - alternatywa dla kamer sportow

Post autor: kuczy »

Lotnik54, ja właśnie taką pętlę zrobiłem. W domu wkleję kod.
to zdjęcie kościoła jakie widzisz zostało wybrane spośród chyba 60 jakie zrobił od momentu wystartowania.

Programujesz jak zwykłe arduino - tylko wcześniej deklarujesz komendy jakie będziesz wysyłał - a potem jak po kolei co i po jakim czasie - to już napiszesz sobie sam, ew możesz się sugerować tym moim kodem.
kod i tak można ulepszyć, bo ja po prostu wysyłam komendę która coś robi i koniec - aparat zwraca dane powrotne, więc można teoretycznie rozbudować program znacznie.
Awatar użytkownika
Lotnik54
Posty: 1251
Rejestracja: poniedziałek 29 paź 2012, 15:30
Lokalizacja: Ełk

Re: Sony Cyber-shot DSC-QX10 - alternatywa dla kamer sportow

Post autor: Lotnik54 »

No ładnie mi doKuczasz bo nie mam pojęcia o programowaniu arduino. Ale oczywiście to nie Twoja wina i to nie są pretensje.
Dziękuję za odpowiedzi bo z rozpędu napisałem to na obu wątkach. Pozdrawiam
1.Tarot 680 - Pixhawk SunnySky V3508 580kV Afro Slim 20A APC 12*4,5 MR X8R Sony QX100
2. Mi Drone 4K całkiem fajna latająca kamerka.
3. DJI Mavic 2 Pro super zabawka
kuczy
Posty: 2199
Rejestracja: wtorek 17 lis 2015, 22:03

Re: Sony Cyber-shot DSC-QX10 - alternatywa dla kamer sportow

Post autor: kuczy »

Lotnik54 pisze:No ładnie mi doKuczasz
bo ja taki doKUCZY jestem :D

EDIT - scalenie

Wczoraj nie dałem rady.... - małe problemy rodzinne.
kod poniżej. Ostatecznie skorzystałem z płytki:
http://www.jarzebski.pl/arduino/arduino ... 6-lua.html

Ona ma wejście micro-usb więc programowanie jest o wiele prostsze.
W kopterze też zasilałem ją poprzez kabelek USB - po prostu przeciąłem gotowy kabelek i żyły odpowiedzialne za zasilanie 5V podłączyłem pod przetwornicę 5V
Od razu zastrzegam, że kod jest w wersji MEGA PRÓBNEJ - działa, ale pewnie ktoś kto programuje znalazł by milion prostszych i skuteczniejszych rozwiązań. Miało zadziałać- zadziałało, ale jak mówiłem - na razie nie rozwijam tematu.

Lotnik54 jeśli nie znasz arduino nie musisz się tym przejmować. Ew możemy jakoś pomyśleć nad tym aby ci takie coś jakoś zrobić wysłać czy coś... - tylko jak podkreślam - to jest garażowy prototyp i warto mieć tego świadomość :)

musisz zmienić ten fragment nazwą i hasłem dla sieci WiFi Twojego aparatu (ip też bym sprawdził, bo nie wiem jak to jest w QX-100)

Kod: Zaznacz cały

const char* ssid PROGMEM     = "DIRECT-9uQ0:DSC-QX10";
const char* password PROGMEM = "JFJPXKpc";

Kod: Zaznacz cały

#include <ESP8266WiFi.h>

//stałe trzymane w pamięci flash
const char* StillMode PROGMEM = "{\"method\":\"setShootMode\",\"params\":[\"still\"],\"id\":1,\"version\":\"1.0\"}";
const char* SuperAutoMode PROGMEM = "{\"method\":\"setExposureMode\",\"params\":[\"Superior Auto\"],\"id\":1,\"version\":\"1.0\"}";
const char* HalfPress PROGMEM = "{\"method\":\"actHalfPressShutter\",\"params\":[],\"id\":1,\"version\":\"1.0\"}";
const char* CalcelHalfPress PROGMEM = "{\"method\":\"cancelHalfPressShutter\",\"params\":[],\"id\":1,\"version\":\"1.0\"}";
const char* TakePicture PROGMEM = "{\"method\":\"actTakePicture\",\"params\":[],\"id\":1,\"version\":\"1.0\"}";
const char* MovieMode PROGMEM = "{\"method\":\"setShootMode\",\"params\":[\"movie\"],\"id\":1,\"version\":\"1.0\"}";
const char* StartMovie PROGMEM = "{\"method\":\"startMovieRec\",\"params\":[],\"id\":1,\"version\":\"1.0\"}";
const char* StopMovie PROGMEM = "{\"method\":\"stopMovieRec\",\"params\":[],\"id\":1,\"version\":\"1.0\"}";
const char* ssid PROGMEM     = "DIRECT-9uQ0:DSC-QX10";
const char* password PROGMEM = "JFJPXKpc";
const char* host PROGMEM = "10.0.0.1";
const int httpPort PROGMEM = 10000;
//koniec stałych

//zmienne globalne
WiFiClient client;
//koniec zmiennych globalnych

//prototypy funkcji
void sendCommandToCamera(String command);
//koniec prototypów


//INICJALIZACJA
void setup() {

  // Pin 4 jako wyzwalacz migawki
  pinMode(4, INPUT_PULLUP);
  Serial.begin(115200);
  delay(1000);

  // We start by connecting to a WiFi network

  Serial.println();
  Serial.println();
  Serial.print("Laczenie do sieci WiFi: ");
  Serial.println(ssid);
 
  WiFi.begin(ssid, password);
 
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }

  Serial.println("");
  Serial.println("Polaczenie WiFi aktywne"); 
  Serial.println("Adres IP: ");
  Serial.println(WiFi.localIP());
 
  //-----------------------

  //FPSTR robi z const char* String'a, przydatne ;) Czytaj tu: https://github.com/esp8266/Arduino/blob/master/doc/reference.md#progmem
  //Ustaw domyslnie kamere na program wykonywania zdjęć "lepsza automatyka"
  sendCommandToCamera(FPSTR(SuperAutoMode));
  delay(800);
}

 
//PĘTLA GŁÓWNA
void loop()
{
    Serial.println("Robimy zdjecie !!!");
    //Wciśnięcie spustu do połowy powoduje ustawienie ostrości i parametrów ekspozycji 
    sendCommandToCamera(FPSTR(HalfPress));
    delay(800);
    //Wykonaj zdjęcie
    sendCommandToCamera(FPSTR(TakePicture));
  delay(1000);
  }


//DEKLARACJE FUNKCJI VVVV

void sendCommandToCamera(String command){
  
  Serial.print("Laczenie z adresem ");
  Serial.println(host);
  if (!client.connect(host, httpPort)) {
    Serial.println("polaczenie nieudane");
    return;
  }
  
  Serial.print("Wysylanie zapytania JSON ");
  // This will send the request to the server
  client.println("POST /sony/camera HTTP/1.1");
  client.println("Connection: close");
  client.println("Content-Type: application/json;charset=utf-8");
  client.print("Content-Length: ");
  client.println(command.length());
  client.println();
  client.println(command);

  //zaczekać na odpowiedź trza ;)

  delay(50);
  while(client.available()){
    Serial.print(client.read());
  }

  //zamknięcie połączenia.
  client.stop();
}

Awatar użytkownika
Lotnik54
Posty: 1251
Rejestracja: poniedziałek 29 paź 2012, 15:30
Lokalizacja: Ełk

Re: Sony Cyber-shot DSC-QX10 - alternatywa dla kamer sportow

Post autor: Lotnik54 »

Wielkie dzięki. Będę próbował a jak nie będzie wychodziło to będę pytał do czasu aż mnie pogonisz.
Podaj maila to Ci przy okazji wyślę zdjęcia z QX100.

Edit
Czy aby zrezygnować z ustawiania tej "lepszej ostrości" defacto wykonywanie HDR'ów trzeba usunąć ten fragment kodu:
}

Serial.println("");
Serial.println("Polaczenie WiFi aktywne");
Serial.println("Adres IP: ");
Serial.println(WiFi.localIP());

//-----------------------

//FPSTR robi z const char* String'a, przydatne ;) Czytaj tu: https://github.com/esp8266/Arduino/blob ... md#progmem
//Ustaw domyslnie kamere na program wykonywania zdjęć "lepsza automatyka"
sendCommandToCamera(FPSTR(SuperAutoMode));
delay(800);
}

Myślę, że to ustawienie będzie niepotrzebnie "niszczyć" zdjęcia wykonane w ruchu. HDR'y powinno się wykonywać na statywie i wtedy ma to sens, przy trzymanie w recę jak jest dość jasno czasy naświetlanie też są dość krótkie a ruchy aparatu są możliwe do wyłapania przez stabilizację i może się udać, ale podczas złożonego ruchu koptera przy jego drganiach myślę, że bezpieczniej jest wykonywać pojedyncze zdjęcia a wyostrzeń dokonywać w komputerze. Ale to na razie tylko moja teoria.
Kilka uwag o QX100
Aparat bez zamontowanego uchwytu do smartfona ale z akumulatorem i kartą pamięci waży dokładnie 180 g. Jak na tak dużą matrycę bo ma 1" i jasny obiektyw szerokokątny (28 mm w przeliczeniu dla pełnej klatki) to nie jest to zbyt wiele.
Według mnie (choć nie jestem profesionalistą) ten aparat robi bardzo dobre zdjęcia choć jak dotychczas mogłem wykonać tylko takie o zmierzchu i w bardzo pochmurny, ddżysty i nieprzyjemny dzień. Jak za cenę którą zapłaciłem czyli 450 zł to uważam, że jest rewelacyjna.
Jeżeli chodzi o filmowanie to rewelacji nie ma bo pomimo, że od firmware 3.0 robi już w rozdzielczości FHD to bitrate jest dość kiepskie i wynosi 16 MB/s. Jest pewne ale, materiał w ciemny pochmurny dzień jest jednak lepszy od tego jaki otrzymałem z kamerki sportowej która ma bitrate na poziomie 26 MB/s. To oczywiście moja subiektywna ocena i na filmie znajdował się jedynie jadący autobus. Nie wiem jak będzie gdy obiekt fotografowany będzie się poruczał z dużą prędkością. Ale niedługo sprawdzę.
1.Tarot 680 - Pixhawk SunnySky V3508 580kV Afro Slim 20A APC 12*4,5 MR X8R Sony QX100
2. Mi Drone 4K całkiem fajna latająca kamerka.
3. DJI Mavic 2 Pro super zabawka
Awatar użytkownika
Lotnik54
Posty: 1251
Rejestracja: poniedziałek 29 paź 2012, 15:30
Lokalizacja: Ełk

Re: Sony Cyber-shot DSC-QX10 - alternatywa dla kamer sportow

Post autor: Lotnik54 »

No i nie mogę sobie poradzić z zainstalowaniem kodu w płytce.
Zainstalowałem Arduino 1.8.1
Dodałem i wybrałem płytkę Node mcu 1.0 ESP-12E
Dodałem adres internetowy w dziale preferencje
Oczywiście w menadrzeże płytek dodałem płytkę ESP8266
po skopiowaniu kodu do Arduino dostaję błędy i kicha.
Programator USBtinyISP
Może jakieś podpowiedzi co z tym fantem zrobić.

A tu błędy, przepraszam za ogrom wpisu.

Arduino:1.8.1 (Windows 10), Płytka:"NodeMCU 1.0 (ESP-12E Module), 80 MHz, 9600, 4M (3M SPIFFS)"


Użycie biblioteki ESP8266WiFi w wersji 1.0 z folderu: C:\Users\Lotnik\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0-rc2\libraries\ESP8266WiFi
exit status 1
stray '\302' in program
Ostatnio zmieniony piątek 24 lut 2017, 08:45 przez Lotnik54, łącznie zmieniany 1 raz.
1.Tarot 680 - Pixhawk SunnySky V3508 580kV Afro Slim 20A APC 12*4,5 MR X8R Sony QX100
2. Mi Drone 4K całkiem fajna latająca kamerka.
3. DJI Mavic 2 Pro super zabawka
kuczy
Posty: 2199
Rejestracja: wtorek 17 lis 2015, 22:03

Re: Sony Cyber-shot DSC-QX10 - alternatywa dla kamer sportow

Post autor: kuczy »

a mam pytanie - ściągnąłeś i skopiowałeś w odpowiednie miejsce bibliotekę ESP8266WiFi ?
Awatar użytkownika
Lotnik54
Posty: 1251
Rejestracja: poniedziałek 29 paź 2012, 15:30
Lokalizacja: Ełk

Re: Sony Cyber-shot DSC-QX10 - alternatywa dla kamer sportow

Post autor: Lotnik54 »

Jakąś bibliotekę instalowałem tak jak jest w opisie tu: Następnie z menu "Board > Boards Manager" instalujemy pakiet dla płytek zgodnych z esp8266:
Ale to się instaluje samoczynnie i pewnie w odpowiednie miejsce. OK, znalazłem i zainstaluję. Dzięki.

Edit:
Wkleiłem katalog biblioteki do programfiles/arduino/librales i nadal nic. Najgorsze jest to, że nawet plik przykładowy z katalogu biblioteki esp8266wifi wywala jakieś błędy podczas kompilacji.

Edit2:
Odinstalowałem Arduino i jego wszystkie folder, zainstalowałem ponownie od razu wer. 1.8.1 i wszystko chodzi jak należy.
Sony QX100 robi zdjęcia w odstępach ok 2 s i to mi pasuje.
Wielkie dzięki Kuczy za program.
1.Tarot 680 - Pixhawk SunnySky V3508 580kV Afro Slim 20A APC 12*4,5 MR X8R Sony QX100
2. Mi Drone 4K całkiem fajna latająca kamerka.
3. DJI Mavic 2 Pro super zabawka
Awatar użytkownika
Roger
Posty: 371
Rejestracja: piątek 12 lip 2013, 09:44
Lokalizacja: Kraków
Kontakt:

Re: Sony Cyber-shot DSC-QX10 - alternatywa dla kamer sportow

Post autor: Roger »

No proszę, jest i temat, też się bawyłem tym modułem i zainteresowały mnie aparaty z serii qx, i sony api widzę prosta komunikacja tekstowa. Nic tylko pod GPIO modułu esp8266 podpiąć jeden z kanałów rc i wyzwalać zdjęcia zdalnie, dodatkowo pod gałke drugi kanał i sterować zoomem, ewentualnie zrobić to przez arduino i zaimplementować więcej opcji.
Co do komunikacji, to muszę rozpoznać temat standardu IEEE 802.22 - zasięg do 100km to chyba jest ciekawe.
qx10 można już za 200zł kupić, czy to jeszcze warte zabawy? Bo taki qx1 to już 2k :(
Pozdrawiam Maciek,
Aktualnie: FrSky x9d, X-Lite, rejsery i DJI Mavic Pro
Stuff dawno temu: Spektrum DX8, Naza v2 +GPS, http://mojerc.pl, KFC32, Nighthawk 280 Pro
ODPOWIEDZ