I am working on an Android pastime project. I have a camera device that runs on Android 8.1. This camera device doesn't have a screen. I am trying to identify the best way to transfer photos from the camera device to my smartphone. So, I see a few options.
Pair the camera device with my smartphone over Bluetooth. This way, I can transfer photos over Bluetooth. In this approach, I will be building a background Android service and pushing it to the camera which can take care of transferring the photos. Ref: https://developer.android.com/guide/topics/connectivity/bluetooth/transfer-data
Have a hotspot turned on on my smartphone. Connect the camera device with the smartphone's hotspot. This way, I can upload the photos captured to Firebase or some other cloud platform and later pull the photos on the smartphone. The only problem I see is that the hotspot should be always on.
Make the camera device utilize the data connection of my smartphone. I am not sure if this is feasible.
I am evaluating these options to identify which will be a better option. I am trying to understand what kind of Android services I would have to build and push to the camera device and my smartphone. Any thoughts/insights are welcome.
Details about the camera device:
The camera device (camera module) has both Bluetooth and wifi capabilities.
The camera device is not stationary. So it can't be connected with home wifi or specific wifi. But the camera will always remain closer to my smartphone.
As the camera runs on Android, I can build services/APKs and push them to the camera. The same applies to my smartphone.
I am trying to find more details on how the photo transfer works on devices like Google glass.
Personally I would go with Wi-Fi Direct or Wifi hotspot just for faster transfer and plenty of libs and implementations for IP. Bluetooth is significantly slower and you will probably write a lot more code for handling file transfer
and when talking about IP connection - I would go with libstreaming. In there you have an RTSP server, common solution in IP cams and similar kind devices. It will stream video live, I'm not sure it is capable to do photo during this, but for sure you could add such feature. And you have ready-to-go solutions for handling camera and data transferring through Wi-Fi, based on some RFCs and official docs, not some custom not-so-reliable implementations
PS. Google Glass is a bad sample in this case, it needs Internet connection to work...
PS2. Yep, this answer is opinion-based, this kind questions are in fact forbidden on SO...
Related
I'm thinking about using the Sony Camera Remote API, but before I start I'd like to know if it's possible to create a connection between an Android device and a Sony camera without wifi. I'd like to know because I'm developing an app where taking pictures is one of the functionalities and that needs to happen even when there is no wifi.
Unfortunately, the Camera Remote API only works over WiFi, so there is no other way to control the camera.
i need to develop an android app wich controls about 4 cams. with wifi direct i can control only one camera via the sony api as the cam acts as access point.
so i connected the hx60 to the wireless router where the android device is connected. but i only can ping the camera when im connecting to the playmemories camera apps application (from the application list in camera menu). im not able to call anything via the api. is it even possible with a router in between?
if not, how to connect to multiple cameras else?
thanks alot!
stephan
Unfortunately it is not possible through the Camera API to connect multiple cameras to a single device.
at the moment I'm planning to build an cross-plattform app (iOS/android) that streams music from one device to others without internet. Now I'm considering which network technology is best for this use case. By the way I'm sorry I didn't say hello to you, it disappears all the time.
Existing wifi network:
I don't wanna use this because I want my app to work everywhere.
Wifi-Direct:
Not supported by iOS (tell me if I'm wrong).
Bluetooth:
Here I've found kind of conflicting information.
Bluetooth 2.1 is supported by both iOS and android but iOS has its own protocols and doesn't support the common ones.
Bluetooth Low Energy provides a data rate that is too slow for high quality music streaming (1Mbit) and is supported by iOS but on the android side version 4.3 is required which suspends about half of all users.
What I'm not sure about is the "normal" (not LE) usage of Bluetooth 4.0. Does anyone have experience/information about this?
Creating a wifi hotspot:
This was my first idea and probably it's the best. But there are several issue:
Some carriers do not allow hotspots
It's not possible to create a hotspot without cell reception on the iPhone and some (I don't know which exactly) android devices.
It's not possible to create a hotspot without cellular data activated on an iPhone; I don't know what about android devices (Nexus 4: no problem, SGS3 mini: cellular data can be switched off after creating the hotspot)
-> that's a problem for those who don't have an internet unlimited plan or for those who don't want to share their internet connection (as this dissipates the high speed volume) but see the next point for that.
In order that everyone can use his own cellular data connection the wifi settings can be manually edited on iOS (remove router, DNS and search domains entries). Is there a way to do so on android as well? Is there way to automize this process?
https://apple.stackexchange.com/questions/173894/can-i-connect-to-wifi-but-still-use-cellular
Is there any way to create a wifi network programmatically (not just enable the normal wifi hotspot)?
SDKs/Frameworks like Open Garden or Alljyon looked promising at the beginning but:
Firechat (which is made by the Open Garden team) promises that iOS and android devices can chat locally without existing network but actually it didn't work for me with an iPhone 6 and SGS3 mini. However they don't want to publish their SDK. The only information I got is that it works over wifi-direct and bluetooth. If anyone has an idea how this could work, please tell me.
Alljoyn does not provide direct communications between iOS and android without an existing network. (Tell me if I'm wrong)
API's:
iOS multipeer connectivity does not support android
I hope anyone can help me.
Regards Nils
If you are talking about a TVBOX device with Android, you will need the ethernet cable connected in order to create a hotspot.
Another option that I have done is:
Create a service that runs on iPhone with an interfaz, do whatever you want on that interfaz, then send what ever you need to a webservice, then in Android, just pull that info from another App as a service, or just store it in an internal sqlite.
Good luck
I've bought an IP Camera with P2P capabilities and I've been struggling on how this works.
On the bottom of my camera there is an ID which I put on an Android application and it'll just work, it doesn't matter if its behind a router.
Now I've been trying to replicate this with coding but I have no idea where to start. I found this
Android App to Stream IP Camera using P2P mode over Mobile port?
Which is what I'm trying to do but still I'm lost as of how this works.
Any ideas?
I want to access my android device (Nexus S) from my pc remotely. I was thinking of an application that would activate the camera and sent the video to my pc, something like Skype but without sound. My first thought was using a VPN connection, but it is a little bit restrictive as it is available only for API Level 14. I dont want to use a server cause I'll have to pay, unless I can avoid it.The concept is using the device for security like a wireless camera. Any ideas would be appreciated.
use an app called IpWebcam. It converts your phone into a wireless webcam. You may see the live video through browser or a player. Install it and you'll find the instructions inside :)