The FFplay shows all the parameters of the played video. Connect pi to the camera, start watching with FFplay rtsp://blah-blah-blah. See what it gives. Prepare the same. 3 and 3+ have the same video format.
The FFplay shows all the parameters of the played video. Connect pi to the camera, start watching with FFplay rtsp://blah-blah-blah. See what it gives. Prepare the same. 3 and 3+ have the same video format.
I will try to figure it out.Forget to say. You'll need to have v4l2loopback to connect the FFmpeg output with the v4l2rtspserver. There is no way to use it precompiled. This is very highly dependent from the kernel version module. Only copmilation. FFMpeg is not good enough for RTSP.
Here you can get q500log2kml for Raspberry Pi (from Raspi 3, Raspbian, 32bit). Maybe it is helpful to check commands and responses directly from Raspberry Pi.
br HE
var http = require('http');
var url = require('url');
var prev = 'cmds:';
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/html'});
var command = url.parse(req.url).search.slice(1);
prev = prev + ',' + url.parse(req.url).search.slice(1);
if (command.includes("SET_TIME")==true) {
res.end(JSON.stringify({"rval":0,"msg_id":"336", "type":"camera_clock" }));
command="";
} else {
switch(command) {
case "CMD=INIT_CAMERA":
res.end(JSON.stringify({"rval":0,"msg_id":"257","param":1,"fw_ver":"1.8.00(E)","cam_mode":"1","status":"vf","iq_type":"1","white_balance":"0","sdfree":"15191040","sdtotal":"15549440","exposure_value":"0.0",
"video_mode":"3840x2160F30","speed_rate":"6M","sharpness":"6","record_time":"0","awb_lock":"0","ae_enable":"1","audio_sw":"1","shutter_time":"60","iso_value":"ISO_1600","photo_format":"dng"}));
//res.end();
command="";
break;
case "CMD=INDEX_PAGE":
res.end(JSON.stringify({"rval":0,"msg_id":"257","param":"1","fw_ver":"3.2.34(A)","cam_mode":"1","status":"vf","iq_type":"1","white_balance":"0","sdfree":"0","sdtotal":"0","exposure_value":"0.0",
"video_mode":"3840x2160F30","speed_rate":"54M auto","record_time":"0","awb_lock":"0","ae_enable":"1","audio_sw":"1","shutter_time":"30","iso_value":"ISO_3200","photo_format":"jpg" ,"audio_enable":"1","rtsp_res":"720P",
"photo_mode":"1", "photo_num":"1", "photo_times":"1", "ev_step":"0.000000", "interval_ms":"333","soft_ver":"30234", "cam_scene":"0", "left_time":"0","metering_mode":"2","x_ratio":"0.00","y_ratio":"0.00","layers":"1",
"pitch":"0", "yaw":"60", "timer_photo_sta":"0" }));
command="";
break;
case "CMD=GET_STATUS":
res.end(JSON.stringify({"rval":0, "msg_id":1, "cam_mode":"1", "status":"vf","sdfree":"0","sdtotal":"0","record_time":"0","white_balance":"0","ae_enable":"1","iq_type":"1","exposure_value":"0.0",
"video_mode":"3840x2160F30","awb_lock":"0","audio_sw":"1","shutter_time":"30","iso_value":"ISO_3200","photo_format":"jpg", "rtsp_res":"720P", "photo_mode":"1", "photo_num":"1", "photo_times":"1", "ev_step":"0.000000",
"interval_ms":"333", "cam_scene":"0", "audio_enable":"1","left_time": "0","metering_mode":"2","x_ratio":"0.00","y_ratio":"0.00", "layers":"1", "pitch":"0", "yaw":"60", "timer_photo_sta":"0" }));
command="";
break;
case "CMD=SET_RTSP_VID&Reslution=720P":
res.end(JSON.stringify({"rval":0,"msg_id":"373"}));
command="";
break;
case "CMD=previous":
res.end(prev);
command="";
break;
case "CMD=get_bind_state":
res.end(JSON.stringify({"isbinded":"yes", "binded_client_address":"e0:b6:f5:80:79:69"}));
command="";
break;
case "CMD=request_bind&client_mac_address=e0:b6:f5:80:79:69":
res.end(JSON.stringify({"result":"ok", "server_mac_address":"1c:bf:ce:d9:aa:d3"}));
command="";
break;
case "CMD=GET_PANORAMA_STATUS":
res.end(JSON.stringify({"rval":0, "msg_id":"397","all_pic":"8","taken_pic":"0","take_action":"0" }));
command="";
break;
case "CMD=GET_FW_VERSION":
res.end(JSON.stringify({"rval":0,"msg_id":"11","brand":"YUNEEC","model":"CGO3+","YUNEEC_ver":"3.2.34(A)","api_ver":"2.8.00","fw_ver":"Jan 11 2017 11:47:55","app_type":"sport","logo":"/tmp/fuse_z/app_logo.jpg",
"chip":"S2E(A9S)","http":"disable","Lens":"LianChuang2","soft_ver":"30234"}));
command="";
break;
default:
//prev = url.parse(req.url).search;
res.end();
command="";
break;
}
}
}).listen(8080);
I found 3reasons why ST16 reports "Failed to initialize camera", one regarding SYNC_TIME and the other two with INDEX_PAGE. I do not really understand the code but this may be a hint. Did you made time synchronization?
BTW: My CGO3 (w/o +) connects to ST16 as CGO3. It only say "Camera firmware is too old, Please upgrade it first!" but it can be ignored. With CGO3PRO the CGO3 will be rejected.
br HE
Forget to say. You'll need to have v4l2loopback to connect the FFmpeg output with the v4l2rtspserver. There is no way to use it precompiled. This is very highly dependent from the kernel version module. Only copmilation. FFMpeg is not good enough for RTSP.
Would you like to save some of my time? What is the path for the "Gimbal calibration" command from the ST16 to the H? Via SR or Wifi?The software for Raspberry Pi to control a car or boat by ST10 or ST16 is ready and it works.....
The software for Raspberry Pi to control a car or boat by ST10 or ST16 is ready and it works. I'm still working on some mechanical things to lift the camera out of the car for FPV. It was grown up from the SR24 test tool (which is still working and useful for me to understand the UART connection of the SR24).
As building block there are 4 units:
SR24_dec: Provides data and methods to handle UART SR24 and decode the messages.
SR24_chsets: This reads the configuration which controls the assignment between channels and HW ports. It is the mediator between decoded messages and GPIO ports.
SR24_ctrl: This unit handles the GPIO ports of the Raspberry Pi (by sysfs).
SR24_log: Provides basic logging function (just for curiosity, not really needed). But all of you know, I like log files.
The project is still here:
![]()
GitHub - h-elsner/SR24_decode: Read and decode data from Yuneec ZigBee receiver SR24. Test tool for Raspberry Pi.
Read and decode data from Yuneec ZigBee receiver SR24. Test tool for Raspberry Pi. - h-elsner/SR24_decodegithub.com
br HE
Yes, this is also valid for ST10/12. CRC8 made for all bytes exclude Header and CRC byte itself. Len and GPS accuracy are in, CRC not.
Edit:
For ST10 I would send Vehicle Type 2 (for Q500) and Motorstatus 15 as default.
Other defaults for Q500 are (all decimal):
IMU status 97 when ST10 has not yet GPS fix; 255 if ST10 has GPS fix
Pressure Compass status is usually 21.
We use essential cookies to make this site work, and optional cookies to enhance your experience.