Loading README.md +1 −2 Original line number Diff line number Diff line Loading @@ -7,6 +7,7 @@ Wi-Fi password: 12345678 Live stream: rtsp://192.168.42.1/live Photo download: http://192.168.42.1:50422/20190417/IMG_20190417_164229.JPG The photo files can be browsed at http://192.168.42.1:50422 Control (JSON): TCP 192.168.42.1:7878 Loading @@ -14,5 +15,3 @@ Control (JSON): TCP 192.168.42.1:7878 ## Shoot ./shoot.sh Note: Works only second time after boot (due to "session IDs") shoot.sh +67 −59 Original line number Diff line number Diff line #!/bin/bash #HOSTNAME="192.168.42.1" HOSTNAME="localhost" HOSTNAME="192.168.42.1" #HOSTNAME="localhost" PORT="7878" set -e # fail on error Loading Loading @@ -56,73 +56,81 @@ commander() { TOKEN="$(get_JSON | sed 's/.*"param":\([0-9][0-9]*\).*/\1/')" # TODO: assert is numeric # 02 something ??? echo '{"msg_id":4097,"token":'$TOKEN'}' DUMMY="$(get_JSON)" # 02 get SN #echo '{"msg_id":4097,"token":'$TOKEN'}' #DUMMY="$(get_JSON)" # 03 Get config echo '{"msg_id":1539,"token":'$TOKEN'}' DUMMY="$(get_JSON)" # 03 Get network config #echo '{"msg_id":1539,"token":'$TOKEN'}' #DUMMY="$(get_JSON)" # 04 maybe start streaming ??? echo '{"param":"192.168.42.3","type":"TCP","msg_id":261,"token":'$TOKEN'}' DUMMY="$(get_JSON)" # 04 maybe start streaming? or sth with SW update? # result: {"rval":0,"msg_id":261,"param":"b6291d832eb3cbd92c724f32437e95c3","update":0} #echo '{"param":"192.168.42.3","type":"TCP","msg_id":261,"token":'$TOKEN'}' #DUMMY="$(get_JSON)" # 05 Get camera settings echo '{"msg_id":4365,"token":'$TOKEN'}' DUMMY="$(get_JSON)" #echo '{"msg_id":4365,"token":'$TOKEN'}' #DUMMY="$(get_JSON)" # 06 set time and shoot echo '{"param":"2019-04-17-16-42-19-3","msg_id":6147,"token":'$TOKEN'}' DUMMY="$(get_JSON)" # 06 set time? mkdir+cd? #echo '{"param":"2019-04-17-16-42-19-3","msg_id":6147,"token":'$TOKEN'}' #DUMMY="$(get_JSON)" # 07 get sd status echo '{"msg_id":4358,"token":'$TOKEN'}' DUMMY="$(get_JSON)" #echo '{"msg_id":4358,"token":'$TOKEN'}' #DUMMY="$(get_JSON)" # 08 get info echo '{"msg_id":4364,"token":'$TOKEN'}' DUMMY="$(get_JSON)" # 08 get camera settings + SW/HW info # result: {"rval":0,"msg_id":4364,"v_res":0,"loop":0,"p_res":3,"video_wb":0,"video_ev":0,"video_iso":0,"video_shutter":0,"still_wb":1,"still_ev":0,"still_iso":50,"still_shutter":33008,"buzzer":0,"standby_en":1,"standby_time":2,"poweroff_en":1,"poweroff_time":10,"cam_jpg":524,"cam_mp4":1,"battery":4,"led":1,"sn":"15908/00014363","product":"MJXJ-014363","ver":"1.3.104.110.5.17151;0.7.0.3.0.0.0.3;1.43.1.10.17012;1","md5":"b6291d832eb3cbd92c724f32437e95c3"} #echo '{"msg_id":4364,"token":'$TOKEN'}' #DUMMY="$(get_JSON)" # 09 set path echo '{"param":"/tmp/SD0/DCIM/","msg_id":1283,"token":'$TOKEN'}' DUMMY="$(get_JSON)" #echo '{"param":"/tmp/SD0/DCIM/","msg_id":1283,"token":'$TOKEN'}' #DUMMY="$(get_JSON)" # 10 get files echo '{"param":"/tmp/SD0/DCIM/","msg_id":1283,"token":'$TOKEN'}' DUMMY="$(get_JSON)" # 10 set path (again?) #echo '{"param":"/tmp/SD0/DCIM/","msg_id":1283,"token":'$TOKEN'}' #DUMMY="$(get_JSON)" # 11 set path 2 echo '{"param":"/tmp/SD0/DCIM/20150101/","msg_id":1283,"token":'$TOKEN'}' DUMMY="$(get_JSON)" # result: {"rval":0,"msg_id":1283,"pwd":"/tmp/SD0/DCIM/20190417"} #echo '{"param":"/tmp/SD0/DCIM/20190417/","msg_id":1283,"token":'$TOKEN'}' #DUMMY="$(get_JSON)" # 12 get files echo '{"msg_id":1282,"token":'$TOKEN'}' DUMMY="$(get_JSON)" # 12 get files in current directory # result: {"rval":0,"msg_id":1282,"listing":[{"IMG_20190417_164222.JPG":"2019-04-1716:42:26"},{"IMG_20190417_164222.DNG":"2019-04-1716:42:26"},{"IMG_20190417_164224.JPG":"2019-04-1716:42:28"},{"IMG_20190417_164224.DNG":"2019-04-1716:42:28"}]} #echo '{"msg_id":1282,"token":'$TOKEN'}' #DUMMY="$(get_JSON)" # 13 set path echo '{"param":"/tmp/SD0/DCIM/20190417/","msg_id":1283,"token":'$TOKEN'}' DUMMY="$(get_JSON)" #echo '{"param":"/tmp/SD0/DCIM/20190417/","msg_id":1283,"token":'$TOKEN'}' #DUMMY="$(get_JSON)" # 14 get files echo '{"msg_id":1282,"token":'$TOKEN'}' DUMMY="$(get_JSON)" #echo '{"msg_id":1282,"token":'$TOKEN'}' #DUMMY="$(get_JSON)" # 15 get status echo '{"msg_id":4864,"token":'$TOKEN'}' DUMMY="$(get_JSON)" # 15 SHOOT! # result: {"rval":0,"msg_id":4864} #echo '{"msg_id":4864,"token":'$TOKEN'}' #DUMMY="$(get_JSON)" # 16 give me and maybe shoot echo '{"param":"/tmp/SD0/DCIM/20190417/IMG_20190417_164229.JPG","msg_id":1026,"token":'$TOKEN'}' DUMMY="$(get_JSON)" # 16 get file properties (size, resolution, ...) # result: {"rval":0,"msg_id":1026,"size":2158173,"date":"2019-04-1716:50:11","resolution":"6912x3456","media_type":"img","scene_type":22868,"gyro":"0de17fbf09b532b922b9fbbc09b532b9f8fb7fbfe7b1353c22b9fbbce7b1353c05dd7f3f"} #echo '{"param":"/tmp/SD0/DCIM/20190417/IMG_20190417_165017.JPG","msg_id":1026,"token":'$TOKEN'}' #DUMMY="$(get_JSON)" # 17 give me or generate thumbnail echo '{"param":"/tmp/SD0/DCIM/20190417/IMG_20190417_164229.JPG","type":"thumb","msg_id":1025,"token":'$TOKEN'}' DUMMY="$(get_JSON)" # 17 give me or generate thumbnail (hangs) #echo '{"param":"/tmp/SD0/DCIM/20190417/IMG_20190417_165017.JPG","type":"thumb","msg_id":1025,"token":'$TOKEN'}' #DUMMY="$(get_JSON)" # 18 ??? # result: {"rval":0,"msg_id":6154} echo '{"msg_id":6154,"token":'$TOKEN'}' DUMMY="$(get_JSON)" exit # 19 ??? echo '{"msg_id":6154,"token":'$TOKEN'}' Loading Loading
README.md +1 −2 Original line number Diff line number Diff line Loading @@ -7,6 +7,7 @@ Wi-Fi password: 12345678 Live stream: rtsp://192.168.42.1/live Photo download: http://192.168.42.1:50422/20190417/IMG_20190417_164229.JPG The photo files can be browsed at http://192.168.42.1:50422 Control (JSON): TCP 192.168.42.1:7878 Loading @@ -14,5 +15,3 @@ Control (JSON): TCP 192.168.42.1:7878 ## Shoot ./shoot.sh Note: Works only second time after boot (due to "session IDs")
shoot.sh +67 −59 Original line number Diff line number Diff line #!/bin/bash #HOSTNAME="192.168.42.1" HOSTNAME="localhost" HOSTNAME="192.168.42.1" #HOSTNAME="localhost" PORT="7878" set -e # fail on error Loading Loading @@ -56,73 +56,81 @@ commander() { TOKEN="$(get_JSON | sed 's/.*"param":\([0-9][0-9]*\).*/\1/')" # TODO: assert is numeric # 02 something ??? echo '{"msg_id":4097,"token":'$TOKEN'}' DUMMY="$(get_JSON)" # 02 get SN #echo '{"msg_id":4097,"token":'$TOKEN'}' #DUMMY="$(get_JSON)" # 03 Get config echo '{"msg_id":1539,"token":'$TOKEN'}' DUMMY="$(get_JSON)" # 03 Get network config #echo '{"msg_id":1539,"token":'$TOKEN'}' #DUMMY="$(get_JSON)" # 04 maybe start streaming ??? echo '{"param":"192.168.42.3","type":"TCP","msg_id":261,"token":'$TOKEN'}' DUMMY="$(get_JSON)" # 04 maybe start streaming? or sth with SW update? # result: {"rval":0,"msg_id":261,"param":"b6291d832eb3cbd92c724f32437e95c3","update":0} #echo '{"param":"192.168.42.3","type":"TCP","msg_id":261,"token":'$TOKEN'}' #DUMMY="$(get_JSON)" # 05 Get camera settings echo '{"msg_id":4365,"token":'$TOKEN'}' DUMMY="$(get_JSON)" #echo '{"msg_id":4365,"token":'$TOKEN'}' #DUMMY="$(get_JSON)" # 06 set time and shoot echo '{"param":"2019-04-17-16-42-19-3","msg_id":6147,"token":'$TOKEN'}' DUMMY="$(get_JSON)" # 06 set time? mkdir+cd? #echo '{"param":"2019-04-17-16-42-19-3","msg_id":6147,"token":'$TOKEN'}' #DUMMY="$(get_JSON)" # 07 get sd status echo '{"msg_id":4358,"token":'$TOKEN'}' DUMMY="$(get_JSON)" #echo '{"msg_id":4358,"token":'$TOKEN'}' #DUMMY="$(get_JSON)" # 08 get info echo '{"msg_id":4364,"token":'$TOKEN'}' DUMMY="$(get_JSON)" # 08 get camera settings + SW/HW info # result: {"rval":0,"msg_id":4364,"v_res":0,"loop":0,"p_res":3,"video_wb":0,"video_ev":0,"video_iso":0,"video_shutter":0,"still_wb":1,"still_ev":0,"still_iso":50,"still_shutter":33008,"buzzer":0,"standby_en":1,"standby_time":2,"poweroff_en":1,"poweroff_time":10,"cam_jpg":524,"cam_mp4":1,"battery":4,"led":1,"sn":"15908/00014363","product":"MJXJ-014363","ver":"1.3.104.110.5.17151;0.7.0.3.0.0.0.3;1.43.1.10.17012;1","md5":"b6291d832eb3cbd92c724f32437e95c3"} #echo '{"msg_id":4364,"token":'$TOKEN'}' #DUMMY="$(get_JSON)" # 09 set path echo '{"param":"/tmp/SD0/DCIM/","msg_id":1283,"token":'$TOKEN'}' DUMMY="$(get_JSON)" #echo '{"param":"/tmp/SD0/DCIM/","msg_id":1283,"token":'$TOKEN'}' #DUMMY="$(get_JSON)" # 10 get files echo '{"param":"/tmp/SD0/DCIM/","msg_id":1283,"token":'$TOKEN'}' DUMMY="$(get_JSON)" # 10 set path (again?) #echo '{"param":"/tmp/SD0/DCIM/","msg_id":1283,"token":'$TOKEN'}' #DUMMY="$(get_JSON)" # 11 set path 2 echo '{"param":"/tmp/SD0/DCIM/20150101/","msg_id":1283,"token":'$TOKEN'}' DUMMY="$(get_JSON)" # result: {"rval":0,"msg_id":1283,"pwd":"/tmp/SD0/DCIM/20190417"} #echo '{"param":"/tmp/SD0/DCIM/20190417/","msg_id":1283,"token":'$TOKEN'}' #DUMMY="$(get_JSON)" # 12 get files echo '{"msg_id":1282,"token":'$TOKEN'}' DUMMY="$(get_JSON)" # 12 get files in current directory # result: {"rval":0,"msg_id":1282,"listing":[{"IMG_20190417_164222.JPG":"2019-04-1716:42:26"},{"IMG_20190417_164222.DNG":"2019-04-1716:42:26"},{"IMG_20190417_164224.JPG":"2019-04-1716:42:28"},{"IMG_20190417_164224.DNG":"2019-04-1716:42:28"}]} #echo '{"msg_id":1282,"token":'$TOKEN'}' #DUMMY="$(get_JSON)" # 13 set path echo '{"param":"/tmp/SD0/DCIM/20190417/","msg_id":1283,"token":'$TOKEN'}' DUMMY="$(get_JSON)" #echo '{"param":"/tmp/SD0/DCIM/20190417/","msg_id":1283,"token":'$TOKEN'}' #DUMMY="$(get_JSON)" # 14 get files echo '{"msg_id":1282,"token":'$TOKEN'}' DUMMY="$(get_JSON)" #echo '{"msg_id":1282,"token":'$TOKEN'}' #DUMMY="$(get_JSON)" # 15 get status echo '{"msg_id":4864,"token":'$TOKEN'}' DUMMY="$(get_JSON)" # 15 SHOOT! # result: {"rval":0,"msg_id":4864} #echo '{"msg_id":4864,"token":'$TOKEN'}' #DUMMY="$(get_JSON)" # 16 give me and maybe shoot echo '{"param":"/tmp/SD0/DCIM/20190417/IMG_20190417_164229.JPG","msg_id":1026,"token":'$TOKEN'}' DUMMY="$(get_JSON)" # 16 get file properties (size, resolution, ...) # result: {"rval":0,"msg_id":1026,"size":2158173,"date":"2019-04-1716:50:11","resolution":"6912x3456","media_type":"img","scene_type":22868,"gyro":"0de17fbf09b532b922b9fbbc09b532b9f8fb7fbfe7b1353c22b9fbbce7b1353c05dd7f3f"} #echo '{"param":"/tmp/SD0/DCIM/20190417/IMG_20190417_165017.JPG","msg_id":1026,"token":'$TOKEN'}' #DUMMY="$(get_JSON)" # 17 give me or generate thumbnail echo '{"param":"/tmp/SD0/DCIM/20190417/IMG_20190417_164229.JPG","type":"thumb","msg_id":1025,"token":'$TOKEN'}' DUMMY="$(get_JSON)" # 17 give me or generate thumbnail (hangs) #echo '{"param":"/tmp/SD0/DCIM/20190417/IMG_20190417_165017.JPG","type":"thumb","msg_id":1025,"token":'$TOKEN'}' #DUMMY="$(get_JSON)" # 18 ??? # result: {"rval":0,"msg_id":6154} echo '{"msg_id":6154,"token":'$TOKEN'}' DUMMY="$(get_JSON)" exit # 19 ??? echo '{"msg_id":6154,"token":'$TOKEN'}' Loading