VladimirP1 / esp-gyrologger

GNU Lesser General Public License v2.1
63 stars 10 forks source link

LANC recording #2

Open VR-VIDEO opened 1 year ago

VR-VIDEO commented 1 year ago

It will be awesome if pressing button on logger its also can send LANC signal to camera start recording.

VladimirP1 commented 1 year ago

Should be doable. LANC also has 5-8v power supply in the connector, this would be useful for powering the logger.

mmstac commented 1 year ago

Here are some details on the LANC protocol, I believe it is 5.8 volts? Many years back I used an IR LED to remote trigger cameras, I had the working protocol for Sony NEX, Canon, Nikon and some other cameras. It was written for Arduino, but I assume only timing is important. If you are interested to integrate that, I can dig up the file. BTW thanks for all your work on ESPLog, it works wonderfully!!

http://www.boehmel.de/lanc.htm

VladimirP1 commented 1 year ago

Are there any actual cameras which are worth using with GyroFlow and support LANC? I could only think about z cam e2...

Anyway, if this is really useful, I can try adding it, but only of I find someone with an actual LANC camera, who is willing to test. And this will also require some additional circuit (like 1 transistor or something).

cabinlab commented 1 year ago

Are there any actual cameras which are worth using with GyroFlow and support LANC? I could only think about z cam e2...

Anyway, if this is really useful, I can try adding it, but only of I find someone with an actual LANC camera, who is willing to test. And this will also require some additional circuit (like 1 transistor or something).

I have a zcam e2, and LANC would help because I already have to use the I/O port for camera control from the gimbal (DJI RS2). I have extra esp32 boards, but It will take a couple weeks to get an IMU to my location.

A more perfect solution for me would be to trigger the esplog from the camera, or from the gimbal (DJI has documented protocol), but that's a new issue.

VladimirP1 commented 1 year ago

Triggering EspLog from zcam could be possible over wifi.

Check what your browser shows when you navigate to http://\<IP address of z-cam>/ctrl/mode?action=query

VladimirP1 commented 1 year ago

I'd like to know if it works without an active session

VladimirP1 commented 1 year ago

There's also a mention of some kind of websocket notification interface, but this https://github.com/imaginevision/Z-Camera-Doc/blob/master/E2/protocol/http.md#Asyc-notification . If you can save the web page from the camera they are talking about, this could be useful

3DRZ commented 1 year ago

Are there any actual cameras which are worth using with GyroFlow and support LANC? I could only think about z cam e2...

Anyway, if this is really useful, I can try adding it, but only of I find someone with an actual LANC camera, who is willing to test. And this will also require some additional circuit (like 1 transistor or something).

Is it possible to connect a LANC button to an AtomS3? There are a few free pins and i think when i get a Y-splitter for the LANC button I could plug one end to my Sony camera an the other end to the AtomS3. Would that work if i set the correct pins in the software? Goal is to log gyrodata and to start recording with one press of the button - and then stop recording and stop gyrologgin with another press.

VladimirP1 commented 1 year ago

Not implemented at the moment. But receiving seems to be easier than sending LANC commands - just using UART at 9600. If you find the an exact byte sequence produced when the cam is triggered, I can add support for this.

VladimirP1 commented 1 year ago

Probably something like FF 03

3DRZ commented 1 year ago

I think here are the necessary infos: http://www.boehmel.de/lanc

I thought it would be enought to connect the lanc pin and the ground pin to the device and set the correct button in the settings (those 2 get shorted when the LANC button is pressed) - I haven't tested this yet, but probably this isn't going to work.

Second "problem" is that the display of my AtomS3 (https://shop.m5stack.com/products/atoms3-dev-kit-w-0-85-inch-screen) isn't working with your software. Is there a way to get an output on this device? Basically I only need to know if the device is recording or not - I saw the solution with putting a LED light on the device but it would be cooler if the display could be used.

Thanks for your help!

VladimirP1 commented 1 year ago

The problem with the display is that I have used u8g2 for drawing, which supports only monochrome displays. Adding support for color lcd's is not currently planned as I do not have time for that and even for more useful things like changing the binary logging format to a different one understandable by gyroflow without conversion step. I will probably look into triggering logging over lanc, seems not that hard to implement

3DRZ commented 1 year ago

The problem with the display is that I have used u8g2 for drawing, which supports only monochrome displays. Adding support for color lcd's is not currently planned as I do not have time for that and even for more useful things like changing the binary logging format to a different one understandable by gyroflow without conversion step. I will probably look into triggering logging over lanc, seems not that hard to implement

I made a LANC cable connecting the ground pin to a ground pin of my AtomS3 and the LANC pin to G-Pin. With the standard software it is not working, probably because it shortens those 2 pins for a to short period of time? Not sure. If you need me to test something, just let me know.

VladimirP1 commented 1 year ago

I am on a trip right now, I will be back on Wednesday. It won't work with standard software because lanc is constantly polling your trigger source for commands.

3DRZ commented 1 year ago

I am on a trip right now, I will be back on Wednesday. It won't work with standard software because lanc is constantly polling your trigger source for commands.

Great 😀👍🏻

VladimirP1 commented 1 year ago

I am on a trip right now, I will be back on Wednesday. It won't work with standard software because lanc is constantly polling your trigger source for commands.

Great grinning👍🏻

Try the latest build from actions. You will need to set cam control type to 6 and connect LANC from the y splitter to cam control pin.

3DRZ commented 1 year ago

I am on a trip right now, I will be back on Wednesday. It won't work with standard software because lanc is constantly polling your trigger source for commands.

Great grinning👍🏻

Try the latest build from actions. You will need to set cam control type to 6 and connect LANC from the y splitter to cam control pin.

Thanks. Tested it but it doesn't works. Camera records with the LANC signal but connecting it to one of the pins and setting it up doesn't triggers the logger

VladimirP1 commented 1 year ago

I am on a trip right now, I will be back on Wednesday. It won't work with standard software because lanc is constantly polling your trigger source for commands.

Great grinning👍🏻

Try the latest build from actions. You will need to set cam control type to 6 and connect LANC from the y splitter to cam control pin.

Thanks. Tested it but it doesn't works. Camera records with the LANC signal but connecting it to one of the pins and setting it up doesn't triggers the logger

Are you connecting the camera, button and the logger through a Y splitter? Or are you just connecting the logger to the button?

3DRZ commented 1 year ago

I am on a trip right now, I will be back on Wednesday. It won't work with standard software because lanc is constantly polling your trigger source for commands.

Great grinning👍🏻

Try the latest build from actions. You will need to set cam control type to 6 and connect LANC from the y splitter to cam control pin.

Thanks. Tested it but it doesn't works. Camera records with the LANC signal but connecting it to one of the pins and setting it up doesn't triggers the logger

Are you connecting the camera, button and the logger through a Y splitter? Or are you just connecting the logger to the button?

I tried both. The LANC trigger is connected simultaneouse by a Y-splitter to the camera and the atomS3. The camera gets triggered, the atomS3 don't. On the atomS3 ground cable is connected to the ground, the LANC to pin G1, the middle pin which provides power isn't connected. I specified the pin G1 in the settings as you described and made the other settings as you told me. I also tried to use a single cable to test the soldering, but I also measured it with a multimeter, so the cable should be good. Or am I making something wrong?

VladimirP1 commented 1 year ago

You are doing everything correctly I think except there is no point in connecting the remote with a single cable - in LANC the camera initiates all communication so if there is no camera, there will be no communication.

See if this works esp-gyrologger.zip. I changed it to react to any LANC command, because I do not know what command does this particular remote send.

If it does, note the commands that are actually being sent in the output from the usb virtual com port which appears if you connect the atoms3 via usb to your pc.

3DRZ commented 1 year ago

Made the test, with new firmware - camera connected, tested also other pins, but it won't work!

cable.jpg

Made a quick overview on how all the components are connected