I have to develop an App which run on Android and iOS (iPhone). These devices should communicate with other devices (Windows, Linux, iOS, Android). Is Bluetooth communication and/or Wlan Ad Hoc possible with Qt and Android /iOS?
Thx.
Communication is quite easy realized ove WLan using QNetwork*. Bluetooth can become quite challenging. Almost all devices support WLan while some Tablets and similar devices do not support Bluetooth (especially the cheaper ones). Also the complexity of code is much easier using standard networking ?(WLan) function.
Support for Android and iOS still "tech preview" in Qt 5.1, but network should be available. In the worst cases, you can use NDK until having Qt full support
For bluetooth support, this is in dev (http://doc-snapshot.qt-project.org/qt5-dev/qtbluetooth-index.html), maybe available in Qt 5.2. You can test it or use directly NDK
No simple solution actually...
Related
So I'm trying to build an app that uses iOS 7 Multipeer Connectivity framework on the iPhone, but I'm now trying to connect the iPhone to an Android device using the same technology. Is this possible?
Is there something like Apple's multipeer connectivity framework for Android, or is there any way of connecting an iPhone to an Android device without using internet or mobile services, but using Wifi and bluetooth only?
Maybe a bit delayed, but technologies have evolved since so there is certainly new info around.
As iOS has yet to open up an API for WiFi Direct and Multipeer Connectivity is iOS only, I believe the best way to approach this is to use BLE, which is supported by both platforms (some better than others).
On iOS a device can act both as a BLE Central and BLE Peripheral at the same time, on Android the situation is more complex as not all devices support the BLE Peripheral state. Also the Android BLE stack is very unstable (to date).
If your use case is feature driven, I would suggest to look at Frameworks and Libraries that can do cross platform p2p for you, without you needing to build it up from scratch.
For example: p2pkit.io or google nearby
Disclaimer: I work for Uepaa, developing p2pkit.io for Android and iOS.
There is currently no way to connect with android over bluetooth, but you can connect with wifi using the Multipeer framework I believe. I know the developer of spaceteam accomplished this with his game. I'm not sure how exactly but it is possible.
Mutipeer connectivity cannot connect iOS and Android devices. Firechat & Spaceteam are using their own implementation.
More information here:
A couple of weeks after its iOS launch, FireChat made its debut on Android. Since Android doesn’t support Apple’s Multipeer Connectivity Framework, developer Open Garden had to build its own mesh networking technology to enable off-the-grid messaging across Android devices. However, FireChat messaging hasn’t been possible between iOS and Android. That is, until now. Open Garden has just updated FireChat to allow for off-the-grid messaging even between iOS and Android devices. While it declines to reveal the exact details of how it managed to make Apple’s multi-peer framework and its Android mesh network connect with each other, Open Garden has told TechCrunch that its cross-platform capability uses peer-to-peer Wi-Fi and Bluetooth personal area networking.
Source: http://appadvice.com/appnn/2014/06/firechat-now-supports-off-the-grid-messaging-between-ios-and-android
Google Nearby can do it. To cross platform, Google Nearby Message Api can do it.
I want to connect my Xbee module to my android phone and communicate with it by sending AT commands.
I do know of the USB host facility provided by Android phones, but I do not know how to send data to it.
I have the java-Xbee API and I am able to talk to the Xbee using my computer but since my project involves using the Android OS, any help on this topic will be appreciated.
According to this Google Code Page, the java-Xbee API requires Java >= 5 and RXTX. Considering those two requirements:-
RXTX on android is not an out of the box lib and may require some hacking which may or may not work.
I'm not a Java VM expert, but i know desktop OS JVMs work differently from Dalvik.How well would Dalvik run code developed for JVM? Here is a nice StackOverflow topic discussing the two.
Faced with the above challanges, are you brave enough to boldly go where no man has gone before?
Could you also consider the following well documented and supported approaches:-
Ytai Ben-Tsvi & Sparkfun's IOIO-OTG
Saves you the headache writing android 3.1+ USB host code and thus allows you to use cheaper phones that run droids 1.5 to 2.3 (without hacking the latter).
Digi's WiFi to Xbee
Allows you to link your android phone (or any other programmable wifi enabled computer) to your device over the internet.
I am trying to write an app for iOS and Android platforms, that discovers local network devices like printers, tv, computers etc.
I would love to use bonjour, but apparently Bonjour can't be used on Android devices (?) when writing an app in adobe flex framework.
Are you seeing a technical reason why you can't use Bonjour on Android? Some security block?
If not, you may be able to work directly from AIR--Renaun Erickson has a blog post that attempts to do the same (which I haven't tried).
I have a C++ library which helps in establishing communication to a POS terminal over LAN and serial port, now i want this library to work on android phone only over Bluetooth medium,
If there are native APIs for Bluetooth communication in android, I can port this c++ library to android and write a java application which will use this library through JNI
Are there native APIs for Bluetooth in android, if so where do I find the documentation?
I looked at this general issue (java vs. native Bluetooth on Android) a while ago and eventually concluded that the native API did not provide any extra functionality relative to the Java API - so there was no advantage for me in going native for Bluetooth.
And the Java Bluetooth API, which is well documented, is actually quite limited compared to what you might expect coming from e.g. desktop Linux, Mac, or Windows. You are miles away from the HCI. The point being, that you may well find that the API's required by your library are not available on Android (unless it requires little more then RFCOMM sockets).
If the Android Bluetooth API's do meet the requirements of your library, then yes, you can access them from native code so you could port your library.
Caveat: when I looked at this I saw that devs are strongly advised away from native, so I have not done any native on Android and am only reflecting what I read.
I am looking for a ARM based hardware development kit for porting Android OS on it.
My objective is to port Android OS on ARM based hardware platform and write Modbus drivers to provide serial communication support for Android based mobile phones. I an going to write Android mobile Application that will communicate my hardware board through modbus drivers.
I did some Google search and found that Beagle board is most preferable for this project and also their is huge developers community available if in case of any help.
Is their any other ARM hardware platform best suited for my project?
Try Technexion
We're using it for our (XLogic) projects, we have developed similar CAN/ModBus solutions in the past and found their TAM-3517 modules to be optimal for our prototyping needs.
It's basically a SO-DIMM 200pin form factor Sitara (OMAP3, mostly Beagleboard compatible) platform, featuring most of the needed interfaces, with decent support and dev-kits. They have already ported Android onto the platform, so you just need to add your secret sauce and be done with it.
On a somewhat related note, please ping me if you're interested in collaborating on getting industrial protocols Android APIs somewhat standarized - this is a very interesting field and we could have an opportunity to establish a reference implementation.
Go to www.linaro.org and see if their Android releases work for you. They already have Ice Cream Sandwich running on Panda and Snowball boards (although no releases just yet, I think), so you might like to try one of those.