hubaiz / DslrDashboardServer

DslrDashboard Server for OpenWrt
GNU General Public License v3.0
160 stars 60 forks source link

Sounds intriguing... a question or maybe two? #1

Open jfrux opened 11 years ago

jfrux commented 11 years ago

Would this be some sort of software that runs on a Mac or PC and then exposes some sort of RESTful api while the camera itself is connecting to the USB of the Mac or PC and uses it as a host for remotely controlling it from other devices?

Potentially allowing mobile apps to interface and stream LiveView, or remotely change settings?

hubaiz commented 11 years ago

It is meant for routers running OpenWrt (https://openwrt.org)

No it is not REST based, but socket based. The DSLR camera is connected with USB to the router running OpenWrt. The server is started on OpenWrt, for now it accepts a client connection on port 4757. After the client connected (DslrDashboard for Android) it forwards the PTP packets between the DSLR camera and DslrDashboard.

A demo is here: http://www.youtube.com/watch?v=J_sfvSelj-Q

Zoltan

On Wed, Feb 6, 2013 at 4:36 PM, Joshua Rountree notifications@github.comwrote:

Would this be some sort of software that runs on a Mac or PC and then exposes some sort of RESTful api while the camera itself is connecting to the USB of the Mac or PC and uses it as a host for remotely controlling it from other devices?

Potentially allowing mobile apps to interface and stream LiveView, or remotely change settings?

— Reply to this email directly or view it on GitHubhttps://github.com/hubaiz/DslrDashboardServer/issues/1.

jfrux commented 11 years ago

Very nice work… So ideally, you're looking to use a Carambola device as an adapter for all cameras that mobile apps can interface with? Or will it be a web interface for sure?

On Feb 6, 2013, at 10:43 AM, hubaiz notifications@github.com wrote:

It is meant for routers running OpenWrt (https://openwrt.org)

No it is not REST based, but socket based. The DSLR camera is connected with USB to the router running OpenWrt. The server is started on OpenWrt, for now it accepts a client connection on port 4757. After the client connected (DslrDashboard for Android) it forwards the PTP packets between the DSLR camera and DslrDashboard.

A demo is here: http://www.youtube.com/watch?v=J_sfvSelj-Q

Zoltan

On Wed, Feb 6, 2013 at 4:36 PM, Joshua Rountree notifications@github.comwrote:

Would this be some sort of software that runs on a Mac or PC and then exposes some sort of RESTful api while the camera itself is connecting to the USB of the Mac or PC and uses it as a host for remotely controlling it from other devices?

Potentially allowing mobile apps to interface and stream LiveView, or remotely change settings?

— Reply to this email directly or view it on GitHubhttps://github.com/hubaiz/DslrDashboardServer/issues/1.

— Reply to this email directly or view it on GitHub.

jfrux commented 11 years ago

So essentially could we use a Raspberry Pi device? http://code.google.com/p/raspberrypi-openwrt/

hubaiz commented 11 years ago

Not just Carambola, any device that can run OpenWrt. I'm awaiting the TL-WR703N router (~19 eur) that can also run OpenWrt to test with it. There is no need for web interface at least I don't plan to make one as the server is a command line utility that can be run in background.

On Wed, Feb 6, 2013 at 4:51 PM, Joshua Rountree notifications@github.comwrote:

Very nice work… So ideally, you're looking to use a Carambola device as an adapter for all cameras that mobile apps can interface with? Or will it be a web interface for sure?

On Feb 6, 2013, at 10:43 AM, hubaiz notifications@github.com wrote:

It is meant for routers running OpenWrt (https://openwrt.org)

No it is not REST based, but socket based. The DSLR camera is connected with USB to the router running OpenWrt. The server is started on OpenWrt, for now it accepts a client connection on port 4757. After the client connected (DslrDashboard for Android) it forwards the PTP packets between the DSLR camera and DslrDashboard.

A demo is here: http://www.youtube.com/watch?v=J_sfvSelj-Q

Zoltan

On Wed, Feb 6, 2013 at 4:36 PM, Joshua Rountree < notifications@github.com>wrote:

Would this be some sort of software that runs on a Mac or PC and then exposes some sort of RESTful api while the camera itself is connecting to the USB of the Mac or PC and uses it as a host for remotely controlling it from other devices?

Potentially allowing mobile apps to interface and stream LiveView, or remotely change settings?

— Reply to this email directly or view it on GitHub< https://github.com/hubaiz/DslrDashboardServer/issues/1>.

— Reply to this email directly or view it on GitHub.

— Reply to this email directly or view it on GitHubhttps://github.com/hubaiz/DslrDashboardServer/issues/1#issuecomment-13188336.

hubaiz commented 11 years ago

If it can run OpenWrt yes, but actually you can compile it for Raspberry Pi if it is running Linux, then you don't need OpenWrt. You need libusb-1.0 for it.

On Wed, Feb 6, 2013 at 4:56 PM, Zoltan Hubai hubaiz@gmail.com wrote:

Not just Carambola, any device that can run OpenWrt. I'm awaiting the TL-WR703N router (~19 eur) that can also run OpenWrt to test with it. There is no need for web interface at least I don't plan to make one as the server is a command line utility that can be run in background.

On Wed, Feb 6, 2013 at 4:51 PM, Joshua Rountree notifications@github.comwrote:

Very nice work… So ideally, you're looking to use a Carambola device as an adapter for all cameras that mobile apps can interface with? Or will it be a web interface for sure?

On Feb 6, 2013, at 10:43 AM, hubaiz notifications@github.com wrote:

It is meant for routers running OpenWrt (https://openwrt.org)

No it is not REST based, but socket based. The DSLR camera is connected with USB to the router running OpenWrt. The server is started on OpenWrt, for now it accepts a client connection on port 4757. After the client connected (DslrDashboard for Android) it forwards the PTP packets between the DSLR camera and DslrDashboard.

A demo is here: http://www.youtube.com/watch?v=J_sfvSelj-Q

Zoltan

On Wed, Feb 6, 2013 at 4:36 PM, Joshua Rountree < notifications@github.com>wrote:

Would this be some sort of software that runs on a Mac or PC and then exposes some sort of RESTful api while the camera itself is connecting to the USB of the Mac or PC and uses it as a host for remotely controlling it from other devices?

Potentially allowing mobile apps to interface and stream LiveView, or remotely change settings?

— Reply to this email directly or view it on GitHub< https://github.com/hubaiz/DslrDashboardServer/issues/1>.

— Reply to this email directly or view it on GitHub.

— Reply to this email directly or view it on GitHubhttps://github.com/hubaiz/DslrDashboardServer/issues/1#issuecomment-13188336.

jfrux commented 11 years ago

Ahh, I understand… So do you think this would be a viable option then? If I buy a raspberry pi - would your server system work out of the box if it's running Linux as you just stated? Or would additional code need to be written for the libusb interface?

On Feb 6, 2013, at 10:58 AM, hubaiz notifications@github.com wrote:

If it can run OpenWrt yes, but actually you can compile it for Raspberry Pi if it is running Linux, then you don't need OpenWrt. You need libusb-1.0 for it.

On Wed, Feb 6, 2013 at 4:56 PM, Zoltan Hubai hubaiz@gmail.com wrote:

Not just Carambola, any device that can run OpenWrt. I'm awaiting the TL-WR703N router (~19 eur) that can also run OpenWrt to test with it. There is no need for web interface at least I don't plan to make one as the server is a command line utility that can be run in background.

On Wed, Feb 6, 2013 at 4:51 PM, Joshua Rountree notifications@github.comwrote:

Very nice work… So ideally, you're looking to use a Carambola device as an adapter for all cameras that mobile apps can interface with? Or will it be a web interface for sure?

On Feb 6, 2013, at 10:43 AM, hubaiz notifications@github.com wrote:

It is meant for routers running OpenWrt (https://openwrt.org)

No it is not REST based, but socket based. The DSLR camera is connected with USB to the router running OpenWrt. The server is started on OpenWrt, for now it accepts a client connection on port 4757. After the client connected (DslrDashboard for Android) it forwards the PTP packets between the DSLR camera and DslrDashboard.

A demo is here: http://www.youtube.com/watch?v=J_sfvSelj-Q

Zoltan

On Wed, Feb 6, 2013 at 4:36 PM, Joshua Rountree < notifications@github.com>wrote:

Would this be some sort of software that runs on a Mac or PC and then exposes some sort of RESTful api while the camera itself is connecting to the USB of the Mac or PC and uses it as a host for remotely controlling it from other devices?

Potentially allowing mobile apps to interface and stream LiveView, or remotely change settings?

— Reply to this email directly or view it on GitHub< https://github.com/hubaiz/DslrDashboardServer/issues/1>.

— Reply to this email directly or view it on GitHub.

— Reply to this email directly or view it on GitHubhttps://github.com/hubaiz/DslrDashboardServer/issues/1#issuecomment-13188336.

— Reply to this email directly or view it on GitHub.

hubaiz commented 11 years ago

Should work, as OpenWrt is actually a Linux system. You could try to compile it in a VirtualBox Linux environment before buying the RPI. Also in VirtualBox you can test it to, as it can forward the host connected USB device to guest system.

On Wed, Feb 6, 2013 at 5:00 PM, Joshua Rountree notifications@github.comwrote:

Ahh, I understand… So do you think this would be a viable option then? If I buy a raspberry pi - would your server system work out of the box if it's running Linux as you just stated? Or would additional code need to be written for the libusb interface?

On Feb 6, 2013, at 10:58 AM, hubaiz notifications@github.com wrote:

If it can run OpenWrt yes, but actually you can compile it for Raspberry Pi if it is running Linux, then you don't need OpenWrt. You need libusb-1.0 for it.

On Wed, Feb 6, 2013 at 4:56 PM, Zoltan Hubai hubaiz@gmail.com wrote:

Not just Carambola, any device that can run OpenWrt. I'm awaiting the TL-WR703N router (~19 eur) that can also run OpenWrt to test with it. There is no need for web interface at least I don't plan to make one as the server is a command line utility that can be run in background.

On Wed, Feb 6, 2013 at 4:51 PM, Joshua Rountree < notifications@github.com>wrote:

Very nice work… So ideally, you're looking to use a Carambola device as an adapter for all cameras that mobile apps can interface with? Or will it be a web interface for sure?

On Feb 6, 2013, at 10:43 AM, hubaiz notifications@github.com wrote:

It is meant for routers running OpenWrt (https://openwrt.org)

No it is not REST based, but socket based. The DSLR camera is connected with USB to the router running OpenWrt. The server is started on OpenWrt, for now it accepts a client connection on port 4757. After the client connected (DslrDashboard for Android) it forwards the PTP packets between the DSLR camera and DslrDashboard.

A demo is here: http://www.youtube.com/watch?v=J_sfvSelj-Q

Zoltan

On Wed, Feb 6, 2013 at 4:36 PM, Joshua Rountree < notifications@github.com>wrote:

Would this be some sort of software that runs on a Mac or PC and then exposes some sort of RESTful api while the camera itself is connecting to the USB of the Mac or PC and uses it as a host for remotely controlling it from other devices?

Potentially allowing mobile apps to interface and stream LiveView, or remotely change settings?

— Reply to this email directly or view it on GitHub< https://github.com/hubaiz/DslrDashboardServer/issues/1>.

— Reply to this email directly or view it on GitHub.

— Reply to this email directly or view it on GitHub< https://github.com/hubaiz/DslrDashboardServer/issues/1#issuecomment-13188336>.

— Reply to this email directly or view it on GitHub.

— Reply to this email directly or view it on GitHubhttps://github.com/hubaiz/DslrDashboardServer/issues/1#issuecomment-13188856.

jfrux commented 11 years ago

Oh... I was just thinking so that you don't need an android device to connect to the camera anymore? Essentially allowing any device on any platform to make calls to the "server" over the network and also receive a stream of the LiveView from the server as well.

A web interface would allow ANY mobile device to now become a LiveView monitor, and / or remote.

A standard REST api would allow it to also be easily adapted for native mobile apps as well so there wouldn't be a lot of libs needed locally running on the mobile device to get native working smooth.

Just a thought!

jfrux commented 11 years ago

Great, is this how you're running your tests? Do you happen to have a VDI created or an easy way to build one from your source?

On Feb 6, 2013, at 11:05 AM, hubaiz notifications@github.com wrote:

Should work, as OpenWrt is actually a Linux system. You could try to compile it in a VirtualBox Linux environment before buying the RPI. Also in VirtualBox you can test it to, as it can forward the host connected USB device to guest system.

On Wed, Feb 6, 2013 at 5:00 PM, Joshua Rountree notifications@github.comwrote:

Ahh, I understand… So do you think this would be a viable option then? If I buy a raspberry pi - would your server system work out of the box if it's running Linux as you just stated? Or would additional code need to be written for the libusb interface?

On Feb 6, 2013, at 10:58 AM, hubaiz notifications@github.com wrote:

If it can run OpenWrt yes, but actually you can compile it for Raspberry Pi if it is running Linux, then you don't need OpenWrt. You need libusb-1.0 for it.

On Wed, Feb 6, 2013 at 4:56 PM, Zoltan Hubai hubaiz@gmail.com wrote:

Not just Carambola, any device that can run OpenWrt. I'm awaiting the TL-WR703N router (~19 eur) that can also run OpenWrt to test with it. There is no need for web interface at least I don't plan to make one as the server is a command line utility that can be run in background.

On Wed, Feb 6, 2013 at 4:51 PM, Joshua Rountree < notifications@github.com>wrote:

Very nice work… So ideally, you're looking to use a Carambola device as an adapter for all cameras that mobile apps can interface with? Or will it be a web interface for sure?

On Feb 6, 2013, at 10:43 AM, hubaiz notifications@github.com wrote:

It is meant for routers running OpenWrt (https://openwrt.org)

No it is not REST based, but socket based. The DSLR camera is connected with USB to the router running OpenWrt. The server is started on OpenWrt, for now it accepts a client connection on port 4757. After the client connected (DslrDashboard for Android) it forwards the PTP packets between the DSLR camera and DslrDashboard.

A demo is here: http://www.youtube.com/watch?v=J_sfvSelj-Q

Zoltan

On Wed, Feb 6, 2013 at 4:36 PM, Joshua Rountree < notifications@github.com>wrote:

Would this be some sort of software that runs on a Mac or PC and then exposes some sort of RESTful api while the camera itself is connecting to the USB of the Mac or PC and uses it as a host for remotely controlling it from other devices?

Potentially allowing mobile apps to interface and stream LiveView, or remotely change settings?

— Reply to this email directly or view it on GitHub< https://github.com/hubaiz/DslrDashboardServer/issues/1>.

— Reply to this email directly or view it on GitHub.

— Reply to this email directly or view it on GitHub< https://github.com/hubaiz/DslrDashboardServer/issues/1#issuecomment-13188336>.

— Reply to this email directly or view it on GitHub.

— Reply to this email directly or view it on GitHubhttps://github.com/hubaiz/DslrDashboardServer/issues/1#issuecomment-13188856.

— Reply to this email directly or view it on GitHub.

jfrux commented 11 years ago

I assume it will run on x86 or ARM since you're suggesting VirtualBox? Or are you emulating ARM with some sort of Debian ARM image?

hubaiz commented 11 years ago

Will run on x86/arm linux. I'm using Ubuntu in my virtual machine. With this command you can compile it: gcc -Wall DslrDashboardServer.cpp -I/usr/include/libusb-1.0/ -L/usr/lib /usr/lib/i386-linux-gnu/libusb-1.0.a -lpthread -lrt -o ddserver

Just tried in virtual machine and works.

On Wed, Feb 6, 2013 at 5:28 PM, Joshua Rountree notifications@github.comwrote:

I assume it will run on x86 or ARM since you're suggesting VirtualBox? Or are you emulating ARM with some sort of Debian ARM image?

— Reply to this email directly or view it on GitHubhttps://github.com/hubaiz/DslrDashboardServer/issues/1#issuecomment-13190441.

alandal commented 10 years ago

Looks like this conversation taking place more than a year ago. Just wanted to extend it so to address my needs lols.

I have two Raspberry Pi's, can I run this server on both of them. And they both are on the same WiFI local network. Can I use one standalone Pi to control camera using the server on another Pi which is connected to the camera? I watched one of your videos which seems to suggest a such network connection with two android devices will work.

Thanks in advance.

hubaiz commented 10 years ago

Hi

Sorry for late answer. You can run 2 ddserver on same network. You can only connect from qDD to ddserver. 2 ddserver does not communicate with each other. Probably what you saw is the qDD server function where qDD is acting as a ddserver for the connected camera for another qDD instance A simple sample: DSLR <-> ddserver <-> qDD <-> qDD DSLR <-> qDD <-> qDD

For example on your Android phone you enable wireless hotspot. Connect the DSLR with USB to Android phone and start qDD with enabled 'Connection sharing' On your other Android device (or PC) you connect to the Android phone wireless network, start qDD and connect to the DSLR that is connected to the Android phone.

Zoltan

On Wed, Nov 5, 2014 at 4:17 AM, alandal notifications@github.com wrote:

Looks like this conversation taking place more than a year ago. Just wanted to extend it so to address my needs lols.

I have two Raspberry Pi's, can I run this server on both of them. And they both are on the same WiFI local network. Can I use one standalone Pi to control camera using the server on another Pi which is connected to the camera? I watched one of your videos which seems to suggest a such network connection with two android devices will work.

Thanks in advance.

— Reply to this email directly or view it on GitHub https://github.com/hubaiz/DslrDashboardServer/issues/1#issuecomment-61754063 .

alandal commented 10 years ago

Hey thanks for reply. I'm sure you have a lot emails since this app is very popular.

I'll try your suggested mode.

My question is really about server software. Is it really a utility that can be used as either server or client selected at run time?

Thanks again.

On Mon, Nov 10, 2014 at 1:33 PM, hubaiz notifications@github.com wrote:

Hi

Sorry for late answer. You can run 2 ddserver on same network. You can only connect from qDD to ddserver. 2 ddserver does not communicate with each other. Probably what you saw is the qDD server function where qDD is acting as a ddserver for the connected camera for another qDD instance A simple sample: DSLR <-> ddserver <-> qDD <-> qDD DSLR <-> qDD <-> qDD

For example on your Android phone you enable wireless hotspot. Connect the DSLR with USB to Android phone and start qDD with enabled 'Connection sharing' On your other Android device (or PC) you connect to the Android phone wireless network, start qDD and connect to the DSLR that is connected to the Android phone.

Zoltan

On Wed, Nov 5, 2014 at 4:17 AM, alandal notifications@github.com wrote:

Looks like this conversation taking place more than a year ago. Just wanted to extend it so to address my needs lols.

I have two Raspberry Pi's, can I run this server on both of them. And they both are on the same WiFI local network. Can I use one standalone Pi to control camera using the server on another Pi which is connected to the camera? I watched one of your videos which seems to suggest a such network connection with two android devices will work.

Thanks in advance.

— Reply to this email directly or view it on GitHub < https://github.com/hubaiz/DslrDashboardServer/issues/1#issuecomment-61754063>

.

— Reply to this email directly or view it on GitHub https://github.com/hubaiz/DslrDashboardServer/issues/1#issuecomment-62430833 .

hubaiz commented 10 years ago

Hi

My question is really about server software. Is it really a utility that can be used as either server or client selected at run time? ddserver only acts as a server, it can't work as a client.

Only qDslrDashboard can work as client (primary function) and server.

Zoltan

On Mon, Nov 10, 2014 at 7:58 PM, alandal notifications@github.com wrote:

Hey thanks for reply. I'm sure you have a lot emails since this app is very popular.

I'll try your suggested mode.

My question is really about server software. Is it really a utility that can be used as either server or client selected at run time?

Thanks again.

On Mon, Nov 10, 2014 at 1:33 PM, hubaiz notifications@github.com wrote:

Hi

Sorry for late answer. You can run 2 ddserver on same network. You can only connect from qDD to ddserver. 2 ddserver does not communicate with each other. Probably what you saw is the qDD server function where qDD is acting as a ddserver for the connected camera for another qDD instance A simple sample: DSLR <-> ddserver <-> qDD <-> qDD DSLR <-> qDD <-> qDD

For example on your Android phone you enable wireless hotspot. Connect the DSLR with USB to Android phone and start qDD with enabled 'Connection sharing' On your other Android device (or PC) you connect to the Android phone wireless network, start qDD and connect to the DSLR that is connected to the Android phone.

Zoltan

On Wed, Nov 5, 2014 at 4:17 AM, alandal notifications@github.com wrote:

Looks like this conversation taking place more than a year ago. Just wanted to extend it so to address my needs lols.

I have two Raspberry Pi's, can I run this server on both of them. And they both are on the same WiFI local network. Can I use one standalone Pi to control camera using the server on another Pi which is connected to the camera? I watched one of your videos which seems to suggest a such network connection with two android devices will work.

Thanks in advance.

— Reply to this email directly or view it on GitHub <

https://github.com/hubaiz/DslrDashboardServer/issues/1#issuecomment-61754063>

.

— Reply to this email directly or view it on GitHub < https://github.com/hubaiz/DslrDashboardServer/issues/1#issuecomment-62430833>

.

— Reply to this email directly or view it on GitHub https://github.com/hubaiz/DslrDashboardServer/issues/1#issuecomment-62434975 .

alandal commented 10 years ago

Apprehend again. Understood. From: hubaizSent: Monday, 10 November 2014 14:13To: hubaiz/DslrDashboardServerReply To: hubaiz/DslrDashboardServerCc: alandalSubject: Re: [DslrDashboardServer] Sounds intriguing... a question or maybe two? (#1)Hi

My question is really about server software. Is it really a utility that

can be used as either server or client selected at run time?

ddserver only acts as a server, it can't work as a client.

Only qDslrDashboard can work as client (primary function) and server.

Zoltan

On Mon, Nov 10, 2014 at 7:58 PM, alandal notifications@github.com wrote:

Hey thanks for reply. I'm sure you have a lot emails since this app is

very

popular.

I'll try your suggested mode.

My question is really about server software. Is it really a utility that

can be used as either server or client selected at run time?

Thanks again.

On Mon, Nov 10, 2014 at 1:33 PM, hubaiz notifications@github.com wrote:

Hi

Sorry for late answer.

You can run 2 ddserver on same network.

You can only connect from qDD to ddserver. 2 ddserver does not

communicate

with each other.

Probably what you saw is the qDD server function where qDD is acting as

a

ddserver for the connected camera for another qDD instance

A simple sample:

DSLR <-> ddserver <-> qDD <-> qDD

DSLR <-> qDD <-> qDD

For example on your Android phone you enable wireless hotspot. Connect

the

DSLR with USB to Android phone and start qDD with enabled 'Connection

sharing'

On your other Android device (or PC) you connect to the Android phone

wireless network, start qDD and connect to the DSLR that is connected to

the Android phone.

Zoltan

On Wed, Nov 5, 2014 at 4:17 AM, alandal notifications@github.com

wrote:

Looks like this conversation taking place more than a year ago. Just

wanted to extend it so to address my needs lols.

I have two Raspberry Pi's, can I run this server on both of them. And

they

both are on the same WiFI local network. Can I use one standalone Pi

to

control camera using the server on another Pi which is connected to

the

camera? I watched one of your videos which seems to suggest a such

network

connection with two android devices will work.

Thanks in advance.

Reply to this email directly or view it on GitHub

<

https://github.com/hubaiz/DslrDashboardServer/issues/1#issuecomment-61754063>

.

Reply to this email directly or view it on GitHub

<

https://github.com/hubaiz/DslrDashboardServer/issues/1#issuecomment-62430833>

.

Reply to this email directly or view it on GitHub

https://github.com/hubaiz/DslrDashboardServer/issues/1#issuecomment-62434975

.

—Reply to this email directly or view it on GitHub.