Open codewithpassion opened 8 years ago
This should be possible, but it is not supported by this application. Sadly, I don't have the camera anymore and am not planning to add new features for that reason. When I wrote this remote control I reverse engineered the network protocol of the Android app. Let me know if you would like to get more information on that matter.
I'll take whatever details you have on the protocol, please!
Hey, I found the following logs on my drive.
Network communication:
v360app connection overview
---------------------------
* get: http://192.168.0.1/status/CAMINF
{
"caminf": {
"cfwver":"4.4.2-S02-002-GE1.1.1.03",
"name":"V360Camera",
"csernr":"D1449004354"
}
}
* post: https://192.168.0.1/auth/login
{
"psw": "0000"
}
-->
{
"token": "H02029152029"
}
* get: https://192.168.0.1/operation/SWTMOD?token=H02029152029
{
"swtmod": 1
}
* get: https://192.168.0.1/status/BASSTA?token=H02029152029
{
"batlev": 87, // 87% battery
"catemp": 0, // temperature?
"hdmist": false, // hdmi, in?
"memory": {
"free": 964431872,
"total": 1931853824, // 1,8 GB (byte)
"used": 967421952
},
"mempic": 5644, // possible pictures?
"memvid": 2148, // 35 min video possible?
"powsrc": 0, // connected power?
"powsta": true,
"recsta": {
"rec": false,
"time": 0
},
"sdstat": 0,
"stalev": 255
}
* get: https://192.168.0.1/settings/general?token=H02029152029
{
"autdel": false,
"camflp": false,
"camgps": true,
"cammod": 1,
"caname": "V360Camera",
"caofst": 3600000,
"catime": 1422714031102,
"sensor": {
"acce": true,
"baro": true,
"comp": true,
"enable": true,
"gps": true,
"gyro": true,
"temp": true
},
"usbset": 1,
"viewmd": false
}
* get: https://192.168.0.1/settings/wifi/WFCONF?token=H02029152029
{
"wfconf": 1
}
* get: https://192.168.0.1/settings/wifi/APCONF?token=H02029152029
{
"apconf": {
"channel": 0,
"pwd": null,
"security": 0,
"ssid": "V360Camera"
}
}
* get: https://192.168.0.1/settings/wifi/STACFG?token=H02029152029
{
}
* get: https://192.168.0.1/media/CONTIF?token=H02029152029
{
"contif": {
"folder": 0,
"jpg": 1,
"mp4": 5
}
}
* post: https://192.168.0.1/settings/CATIME
{
"caofst": 3600000,
"catime": 1422714031473,
"token": "H02029152029"
}
* post: https://192.168.0.1/operation/CACTRL
{
"cactrl": 0,
"token": "H02029152029"
}
* post: https://192.168.0.1/operation/HTBEAT // Each second
{
"token": "H02029152029"
}
* post: https://192.168.0.1/operation/SWTMOD
{
"swtmod": 1,
"token": "H02029152029"
}
* get: https://192.168.0.1/settings/video?token=H02029152029
{
"vdocef": 0,
"vdores": 3,
"vdotlp": {
"interval": 0
},
"vdowbl": 0
}
* post: https://192.168.0.1/streaming/CONFIG
{
"mode": 1,
"token": "H02029152029"
}
-->
{
"length": 0,
"m3u8": "/hls/617030870/hls.m3u8"
}
* post: https://192.168.0.1/streaming/STREAM
{
"stream": true,
"token": "H02029152029"
}
* HTBEAT, HTBEAT, ...
v360app connection overview HDMI
--------------------------------
* login
* get mode (1)
* get status:
{
"batlev": 92,
"catemp": 0,
"hdmist": true,
"memory": {
"free": 819408896,
"total": 1931853824,
"used": 1112444928
},
"mempic": 5642,
"memvid": 2148,
"powsrc": 0,
"powsta": true,
"recsta": {
"rec": false,
"time": 0
},
"sdstat": 0,
"stalev": 255
}
* get settings:
{
"autdel": false,
"camflp": false,
"camgps": true,
"cammod": 1,
"caname": "V360Camera",
"caofst": 3600000,
"catime": 1423570270919,
"sensor": {
"acce": true,
"baro": true,
"comp": true,
"enable": true,
"gps": true,
"gyro": true,
"temp": true
},
"usbset": 1,
"viewmd": false
}
* get wifi conf (1) & apconf
* get https://192.168.0.1/settings/wifi/STACFG?token=H07389131109
{}
* https://192.168.0.1/media/CONTIF?token=H07389131109
{
"contif": {
"folder": 0,
"jpg": 2,
"mp4": 5
}
}
* get caminf https://192.168.0.1/status/CAMINF?token=H07389131109
* post camera time:
{
"caofst": 3600000,
"catime": 1423570271410,
"token": "H07389131109"
}
--> {}
* post heartbeat
* post camera control:
{
"cactrl": 0,
"token": "H07389131109"
}
--> {}
* get status
* get MediaStorageInfo: https://192.168.0.1/media/CONTIF?token=H07389131109
{
"contif": {
"folder": 0,
"jpg": 2,
"mp4": 5
}
}
* get settings
* post swtmode (1)
* get video settings https://192.168.0.1/settings/video?token=H07389131109
{
"vdocef": 0,
"vdores": 3,
"vdotlp": {
"interval": 0
},
"vdowbl": 0
}
* post streaming https://192.168.0.1/streaming/STREAM
{
"stream": false,
"token": "H07389131109"
}
* post streaming offset https://192.168.0.1/streaming/OFFSET
{
"offset": 4560,
"token": "H07389131109"
}
* 9x HEARTBEAT
* post streaming offset https://192.168.0.1/streaming/OFFSET
{
"offset": 4487,
"token": "H07389131109"
}
* post streaming offset https://192.168.0.1/streaming/OFFSET
{
"offset": 4032,
"token": "H07389131109"
}
* HEARTBEAT
{
"offset": 4063,
"token": "H07389131109"
}
* post streaming offset https://192.168.0.1/streaming/OFFSET
{
"offset": 4101,
"token": "H07389131109"
}
* post streaming offset https://192.168.0.1/streaming/OFFSET
{
"offset": 4143,
"token": "H07389131109"
}
* post streaming offset https://192.168.0.1/streaming/OFFSET
{
"offset": 4180,
"token": "H07389131109"
}
* post streaming offset https://192.168.0.1/streaming/OFFSET
{
"offset": 4207,
"token": "H07389131109"
}
* post streaming offset https://192.168.0.1/streaming/OFFSET
{
"offset": 4231,
"token": "H07389131109"
}
* 3x HEARTBEAT
* post streaming config https://192.168.0.1/streaming/CONFIG
{
"mode": 1,
"token": "H07389131109"
}
-->
{
"length": 0,
"m3u8": "/hls/359068432/hls.m3u8"
}
* HEARTBEAT
* post https://192.168.0.1/streaming/STREAM
{
"stream": true,
"token": "H07389131109"
}
* 12x HEARTBEAT
* post https://192.168.0.1/streaming/STREAM
{
"stream": false,
"token": "H07389131109"
}
* post https://192.168.0.1/auth/logout
{
"token": "H07389131109"
}
FURTHER
-------
* Change resolution:
POST https://192.168.0.1/settings/video/VDORES
{
"token": "H02410133433",
"vdores": 2 // 0: 6480x1080, 1: 3840x640, 2: 2880x480, 3: 1920x320
}
* Change effect:
POST https://192.168.0.1/settings/video/VDOCEF
{
"token": "H02410133433",
"vdocef": 1 // 0: None, 1: Mono, 2: Sepia
}
* Change white balance:
POST https://192.168.0.1/settings/video/VDOWBL
{
"token": "H02410133433",
"vdowbl": 1 // 0: Auto, 1: Tungsten, 2: Fluroscent, 3: Sunny, 4: Cloudy
}
* Get photo settings ("slide to photo")
GET https://192.168.0.1/settings/still?token=H02410133433
{
"picbur": {
"rate": 0
},
"piccef": 0,
"picexp": 2,
"picres": 4,
"pictlp": {
"interval": 0
},
"pictwb": {
"interval": 0,
"rate": 0
},
"picwbl": 0
}
* Get video settings ("slide to video")
GET https://192.168.0.1/settings/video?token=H02410133433
{
"vdocef": 0,
"vdores": 0,
"vdotlp": {
"interval": 0
},
"vdowbl": 0
}
* Set mode
POST https://192.168.0.1/operation/SWTMOD
{
"swtmod": 1, // 0: Photo, 1: Video, 2: Burst, 5: Timelapse, 6: Surveillance
"token": "H02410133433"
}
* Login
POST https://192.168.0.1/auth/login
{
"psw": "0000"
}
-->
{
"token": "H02029152029" // accepted
}
or --> { } // already connected, spectator?
* Enable / Disable auto rotation
POST https://192.168.0.1/settings/CAMFLP
{
"camflp": false, // true: on, false: off
"token": "H03345135350"
}
* Enable / Disable Telemetry recording
POST https://192.168.0.1/settings/CAMGPS
{
"camgps": false, // true: on, false: off
"token": "H03345135350"
}
* Setup wifi
POST https://192.168.0.1/settings/wifi/APCONF
{
"apconf": {
"channel": 0,
"pwd": "null",
"security": 0,
"ssid": "V360Camera"
},
"token": "H03345135350"
}
* Power off camera
POST https://192.168.0.1/status/POWSTA
{
"powsta": false,
"token": "H04944135851"
}
Some strings I extracted from the app, which might be useful:
("AdminPin", 0, "/secu/admpin", c.R);
("AudioDetectionSettings", 1, "/settings/svl/AUDDET", c.b);
("Autoflip", 2, "/settings/CAMFLP", c.g);
("BaseStatus", 3, "/status/BASSTA", c.C);
("BluetoothConfirm", 4, "/operation/BHUSCF", c.ae);
("BluetoothConnect", 5, "/operation/BHCONN", c.ac);
("BluetoothPair", 6, "/operation/BHPAIR", c.ab);
("BluetoothPassword", 7, "/operation/BHIPPW", c.ad);
("BluetoothSearch", 8, "/operation/BHSERH", c.aa);
("ButtonProfileSetting", 9, null, c.L);
("CameraGPS", 10, "/settings/CAMGPS", c.f);
("CameraInfo", 11, "/status/CAMINF", c.A);
("CameraMode", 12, "/operation/SWTMOD", c.I);
("CameraName", 13, "/settings/CANAME", c.e);
("CameraTime", 14, "/settings/CATIME", c.d);
("ConnectSaticWifi", 15, "/operation/STACON", c.K);
("CreateClip", 16, "/streaming/VECREA", null);
("DissassociateRemoteCheck", 17, "/secu/RCCHEC", c.M);
("DissassociateRemoteConfirm", 18, "/secu/DASCFM", c.O);
("DissassociateRemoteStart", 19, "/secu/DASSTA", c.N);
("FirmwareCheck", 20, "/fota/FTCHEK", c.D);
("FirmwareDownload", 21, "/fota/FTDOWN", c.D);
("FirmwareUpdate", 22, "/fota/FTUPDT", c.D);
("FirmwareStatus", 23, "/fota/FTSTAT", c.E);
("GeneralSettings", 24, "/settings/general", null);
("GuestMode", 25, "/settings/VIEWMD", c.h);
("GuestPin", 26, "/secu/usrpin", c.U);
("HDMIOffset", 27, "/streaming/OFFSET", null);
("HeartBeat", 28, "/operation/HTBEAT", null);
("Login", 29, "/auth/login", null);
("Logout", 30, "/auth/logout", null);
("MediaList", 31, "/media", null);
("MediaStorageInfo", 32, "/media/CONTIF", c.B);
("MotionDetectionSettings", 33, "/settings/svl/MOTDET", c.c);
("PhotoBurstMode", 34, "/settings/still/PICBUR", c.o);
("PhotoEffect", 35, "/settings/still/PICCEF", c.q);
("PhotoExposure", 36, "/settings/still/PICEXP", c.m);
("PhotoResolution", 37, "/settings/still/PICRES", c.l);
("PhotoSettings", 38, "/settings/still", null);
("PhotoTimelapseMode", 39, "/settings/still/PICTLP", c.p);
("PhotoWhiteBalance", 40, "/settings/still/PICWBL", c.n);
("PowerStatus", 41, "/status/POWSTA", null);
("RecordVideo", 42, "/operation/RECORD", null);
("SensorSettings", 43, "/settings/SENSOR", c.i);
("SetClipDownloadComplete", 44, "/streaming/VEDONE", null);
("StreamingConfig", 45, "/streaming/CONFIG", null);
("StreamingSeek", 46, "/streaming/VDSEEK", null);
("StreamingView", 47, "/streaming/STREAM", null);
("TakePicture", 48, "/operation/SHUBUT", null);
("USBMode", 49, "/settings/USBSET", c.j);
("VideoEffect", 50, "/settings/video/VDOCEF", c.u);
("VideoResolution", 51, "/settings/video/VDORES", c.r);
("VideoSettings", 52, "/settings/video", null);
("VideoTimelapseMode", 53, "/settings/video/VDOTLP", c.t);
("VideoWhiteBalance", 54, "/settings/video/VDOWBL", c.s);
("WifiAccessPointSettings", 55, "/settings/wifi/APCONF", c.w);
("WifiInfo", 56, null, c.z);
("WifiMode", 57, "/settings/wifi/WFCONF", c.v);
("WifiSettings", 58, "/settings/wifi", null);
("WifiStaticSettings", 59, "/settings/wifi/STACFG", null);
("Surveillance", 60, "/settings/svl/SVLMOD", c.k);
("Temperature", 61, "/status/CATEMP", null);
("AppModeControl", 62, "/operation/CACTRL", null);
("SwitchMode", 0, 1);
("PowerStatus", 1, 2);
("RecordStatus", 2, 3);
("BatteryLevel", 3, 4);
("PowerSource", 4, 5);
("StaLevel", 5, 6);
("MemoryUsage", 6, 7);
("HDMIstatus", 7, 8);
("GuestMode", 8, 9);
("MemPic", 9, 10);
("MemVid", 10, 11);
("SDCard", 11, 12);
("TempLevel", 12, 13);
("MediaStorageInfo", 13, 14);
("AccessPointChannel", 0, "channel", e.ap);
("AccessPointConfig", 1, "apconf");
("AccessPointPassword", 2, "pwd", e.an);
("AccessPointSecurity", 3, "security", e.ao);
("AccessPointSSID", 4, "ssid", e.am);
("AdminPin", 5, "psw", e.c);
("AudioDetectionAction", 6, "action");
("AudioDetectionInfo", 7, "auddet");
("AudioDetectionInterval", 8, "interval", e.aF);
("AudioDetectionLength", 9, "reclen", e.aE);
("AudioDetectionLevel", 10, "level", e.aC);
("AudioDetectionMode", 11, "mode", e.aD);
("AudioDetectionTrigger", 12, "trigger", e.aB);
("Autoflip", 13, "camflp", e.s);
("BatteryLevel", 14, "batlev", e.B);
("BluetoothDeviceAction", 15, "action", e.ba);
("BluetoothDeviceAddress", 16, "btaddr", e.aX);
("BluetoothDeviceConfirm", 17, "cfm");
("BluetoothDeviceConnect", 18, "bhconn");
("BluetoothDeviceDelete", 19, "bhdelt");
("BluetoothDeviceInsert", 20, "bhinst");
("BluetoothDeviceName", 21, "btname", e.aU);
("BluetoothDevicePair", 22, "bhpair");
("BluetoothDevicePassword", 23, "pwd", e.bb);
("BluetoothDeviceRequestConfirm", 24, "bhrqcf");
("BluetoothDeviceRequestPassword", 25, "bhrqpw");
("BluetoothDeviceRespondConfirm", 26, "bhuscf");
("BluetoothDeviceRespondPassword", 27, "bhippw");
("BluetoothDeviceStatus", 28, "status", e.aY);
("BluetoothDeviceUpdate", 29, "bhupdt");
("CameraGPS", 30, "camgps", e.t);
("CameraInfo", 31, "caminf");
("CameraInfoName", 32, "name", e.aQ);
("CameraInfoSerial", 33, "csernr", e.aP);
("CameraInfoVersion", 34, "cfwver", e.aO);
("CameraMode", 35, "swtmod", e.n);
("CameraName", 36, "caname", e.o);
("CameraTime", 37, "catime", e.p);
("ClipDownloadCompleted", 38, "vedone");
("ClipEnd", 39, "stop");
("ClipLocation", 40, "storage");
("ClipName", 41, "fname");
("ClipStart", 42, "start");
("ClipTrancodingCompleted", 43, "vecomp");
("ClipTrancodingProcess", 44, "veprog");
("ClipURL", 45, "url");
("CreateClip", 46, "vecrea");
("DisassociateRemoteDeviceInfo", 47, "dasres");
("DisassociateRemoteDeviceResult", 48, "result", e.g);
("DisassociateRemoteDevice", 49, "devType", e.e);
("DisassociateRemoteDeviceConfirm", 50, "dascfm", e.f);
("DisassociateRemoteDeviceCheckResult", 51, "rcchec", e.h);
("GuestMode", 52, "viewmd", e.l);
("GuestPin", 53, "psw", e.d);
("HDMIOffset", 54, "offset");
("HDMIStatus", 55, "hdmist", e.D);
("MediaBaseURL", 56, "baseURL");
("MediaBeginIdx", 57, "beginIdx");
("MediaDownloadCompleted", 58, "mecomp");
("MediaDownloadProcess", 59, "medone");
("MediaEndIdx", 60, "endIdx");
("MediaList", 61, "list");
("MediaFolder", 62, "list");
("MediaOperation", 63, "oper");
("MotionDetectionAction", 64, "action");
("MotionDetectionInfo", 65, "motdet");
("MotionDetectionInterval", 66, "interval", e.aK);
("MotionDetectionLength", 67, "reclen", e.aJ);
("MotionDetectionLevel", 68, "level", e.aH);
("MotionDetectionMode", 69, "mode", e.aI);
("MotionDetectionTrigger", 70, "trigger", e.aG);
("PhotoBurstInfo", 71, "picbur");
("PhotoBurstRate", 72, "rate", e.af);
("PhotoBurstStatus", 73, "enable", e.ae);
("PhotoEffect", 74, "piccef", e.ai);
("PhotoExposure", 75, "picexp", e.ad);
("PhotoResolution", 76, "picres", e.ab);
("PhotoTimelapseInfo", 77, "pictlp");
("PhotoWhiteBalance", 78, "picwbl", e.ac);
("PowerSource", 79, "powsrc", e.A);
("PowerStatus", 80, "powsta", e.z);
("RecordingInfo", 81, "recsta");
("RecordingOperation", 82, "record", e.be);
("RecordingStatus", 83, "rec", e.aq);
("RecordingTime", 84, "time", e.ar);
("RemainingPhotos", 85, "mempic", e.as);
("RemainingTime", 86, "memvid", e.at);
("SDStatus", 87, "sdstat", e.F);
("SensorAcceleration", 88, "acce");
("SensorBarometer", 89, "baro");
("SensorCompass", 90, "comp");
("SensorGPS", 91, "gps");
("SensorGyroscope", 92, "gyro");
("Sensors", 93, "sensor", e.m);
("SensorStatus", 94, "enable");
("SensorTemperature", 95, "temp");
("StaticWifiConfig", 96, "stacfg");
("StaticWifiConnect", 97, "stacon");
("StaticWifiList", 98, "list");
("StaticWifiPassword", 99, "pwd", e.aw);
("StaticWifiSecurity", 100, "security");
("StaticWifiSSID", 101, "ssid", e.au);
("StaticWifiStatus", 102, "connsta");
("StaticWifiStrength", 103, "strength");
("StaticWifiUsername", 104, "username", e.av);
("StorageInfo", 105, "contif");
("StoredPhotos", 106, "jpg", e.w);
("StoredVideos", 107, "mp4", e.x);
("StreamingConfigMode", 108, "mode");
("StreamingConfigPath", 109, "path");
("StreamingSeek", 110, "vdseek");
("StreamingStatus", 111, "stream");
("StreamingUrl", 112, "m3u8");
("StreamingReady", 113, "strrdy");
("SurveillanceMode", 114, "svlmod", e.v);
("TimelapseInterval", 115, "intervl", e.ah);
("TimelapseStatus", 116, "enable", e.ag);
("Token", 117, "token");
("USBMode", 118, "usbset", e.u);
("VideoEffect", 119, "vdocef", e.al);
("VideoResolution", 120, "vdores", e.aj);
("VideoTimelapseInfo", 121, "vdotlp");
("VideoWhiteBalance", 122, "vdowbl", e.ak);
("WifiChange", 123, "wifchg");
("WifiConf", 124, "wfconf", e.r);
("WifiInfoIP", 125, "ip", e.aN);
("WifiInfoSSID", 126, "ssid", e.aM);
("WifiInfoType", 127, "type", e.aL);
("WifiLevel", 128, "stalev", e.C);
("FirmwareCheckInfo", 129, "ftchek");
("FirmwareError", 130, "error", e.M);
("FirmwareCheck", 131, "status", e.L);
("FirmwareCheckVersion", 132, "ver", e.N);
("FirmwareCheckSize", 133, "size", e.O);
("FirmwareCheckDescr", 134, "info", e.P);
("FirmwareDownloadInfo", 135, "ftdown");
("FirmwareDownloadStatus", 136, "status", e.L);
("FirmwareDownloadCancel", 137, "cancel");
("FirmwareDownloadProgress", 138, "progress", e.Q);
("FirmwareVersion", 139, "newver", e.I);
("FirmwareStatus", 140, "status", e.J);
("FirmwareStatusInfo", 141, "ftstat");
("FirmwareUpdateInfo", 142, "ftupdt");
("FirmwareUpdateStatus", 143, "status", e.L);
("TemperatureLevel", 144, "catemp", e.G);
("AppModeControl", 145, "cactrl");
("CameraTimeOffset", 146, "caofst", e.q);
("StaticWifiInsert", 147, "wifadd");
("StaticWifiDelete", 148, "wifdel");
("StaticWifiUpdate", 149, "wifchg");
Excellent, thanks. By the way, apparently there should be a way to establish an ADB connection over USB which should allow using a wired connection. If there are any Android types out there, please give it a try. Another thing is there video stream should be available over RTSP, but unsure what port.
Camera is there but doesn't want to give permissions. I wonder if the USBMode option shown in your logs can be set to give authorization?
pi@raspberrypi:~ $ adb devices
List of devices attached
396245f5 no permissions
dmesg shows
[ 88.024494] hub 1-1.3.1:1.0: 4 ports detected
[ 88.346215] usb 1-1.3.1.1: new high-speed USB device number 8 using dwc_otg
[ 88.477159] usb 1-1.3.1.1: New USB device found, idVendor=2a6b, idProduct=0006
[ 88.477185] usb 1-1.3.1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 88.477194] usb 1-1.3.1.1: Product: Android
[ 88.477202] usb 1-1.3.1.1: Manufacturer: Android
[ 88.477210] usb 1-1.3.1.1: SerialNumber: 396245f5
Quick note this version 4.4.2-S02-002-GE1.1.1.03 is not the most recent one. Most recent should be 4.4.2-S02-002-GE1.1.1.11
I need to push the flashing packages to make sure everybody is on the latest version (or at least same as me :P )
In case anybody stumbles upon this looking for more info. We decided to be a bit more open regarding the camera API and SDK and inner workings.
(made a fork of this repo on the company github https://github.com/HoyosIntegrity/v360) Will post the apis/endpoint documentation (which unfortunately is not that great😞)
Hopefully this makes it a bit easier to interact with the camera.
Currently working on a way to grant adb root access (but verifying we have a fall back method to flash the camera if anybody messes their firmware) Regular ADB requires a ssh key (otherwise you have to click accept on the "android" prompt)
Feel free to open any further issues on our repo and we will address them there.
@martinruenz if you would like to point on your readme towards our repo feel free too.
Quick note this version 4.4.2-S02-002-GE1.1.1.03 is not the most recent one. Most recent should be 4.4.2-S02-002-GE1.1.1.11
I need to push the flashing packages to make sure everybody is on the latest version (or at least same as me :P ) Hi, annerajb,
I just got a used VSN Mobil 360 camera, and its PIN is locked. I am trying to flash the latest firmware to it. But it seems the firmware link on the VSN site was removed. Do you still have the flash package and the 4.4.2-S02-002-GE1.1.1.11 firmware? It will be great if you can share it. Thank you very much!
In case anybody stumbles upon this looking for more info. We decided to be a bit more open regarding the camera API and SDK and inner workings.
(made a fork of this repo on the company github https://github.com/HoyosIntegrity/v360) Will post the apis/endpoint documentation (which unfortunately is not that great😞)
Hopefully this makes it a bit easier to interact with the camera.
Currently working on a way to grant adb root access (but verifying we have a fall back method to flash the camera if anybody messes their firmware) Regular ADB requires a ssh key (otherwise you have to click accept on the "android" prompt)
Feel free to open any further issues on our repo and we will address them there.
@martinruenz if you would like to point on your readme towards our repo feel free too.
I will get around to uploading the key, firmware and existing installer. I have to update the tool to flash it anyways. Give me around a week.
Thanks, that's great!
------------------ Original ------------------ From: "Anner J. Bonilla"notifications@github.com; Date: Sat, Aug 10, 2019 06:13 AM To: "martinruenz/v360"v360@noreply.github.com; Cc: "俞天力"tianli@morpx.com; "Comment"comment@noreply.github.com; Subject: Re: [martinruenz/v360] Way to get the video stream? (#3)
I will get around to uploading the key, firmware and existing installer. I have to update the tool to flash it anyways. Give me around a week.
— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.
Here is the internal update app we have. I was asked to update it recently but haven't had a chance to investigate it bundles the adb for darwin only. Feel free to replace for x86_64 https://vsn-mobil-com.s3.amazonaws.com/V360UpdateApp111.zip
Anyone still interested in making this camera work to stream the videos over USB?
I have adb working with the firmware update package. It can also stream the video via the micro HDMI port, although after a HDMI capture card the latency is simply too much (close to 700ms). I would like to find a better solution with very little latency for a research project.
Currently working on a way to grant adb root access (but verifying we have a fall back method to flash the camera if anybody messes their firmware)
Hi, annerajb. I know this was quite some time ago. But were you able to get root access for the adb. I tried "su" in the system/xbin but it always complains about "invalid key".
Here is the key
目前正在研究一种授予adb root访问权限的方法(但验证我们有一个回退方法,如果有人弄乱了他们的固件,我们可以闪烁相机)
嗨,安妮拉杰布。我知道这是很久以前的事了。但是您是否能够获得 adb 的根访问权限。我在系统/xbin 中尝试了“su”,但它总是抱怨“无效密钥”。 Hi tianli, I have also obtained the same v360 camera. Unfortunately, its Bluetooth remote control has been lost. Is there a way to obtain images or videos from the v360 camera without using the remote control?
Is there a way to get the video stream from the camera?