Strona 3 z 3

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

: niedziela 29 sty 2017, 19:09
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

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

: czwartek 16 lut 2017, 15:37
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.

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

: czwartek 16 lut 2017, 16:10
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.

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

: czwartek 16 lut 2017, 16:25
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

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

: czwartek 16 lut 2017, 16:59
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();
}


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

: piątek 17 lut 2017, 15:32
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ę.

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

: czwartek 23 lut 2017, 21:27
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

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

: czwartek 23 lut 2017, 21:57
autor: kuczy
a mam pytanie - ściągnąłeś i skopiowałeś w odpowiednie miejsce bibliotekę ESP8266WiFi ?

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

: czwartek 23 lut 2017, 23:46
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.

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

: środa 29 sie 2018, 08:26
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 :(