I am about to create an "Intelligent" motorcycle helmet which will be able to play music, discuss with the passenger, send GPS information, notify of police, speech recognition etc... I have a few options to make this helmet like including an individual microprocessor for each helmet or connecting both passenger and driver helmet's microphone and speaker to a single Android phone, my question is; is it possible, to connect to 2 speaker and 2 microphones with Bluetooth and retrieve their informations individually (Like one thread per microphone and being able to send audio to a specific speaker). This could be the best solution for my problem so I don't need to worry about microprocessors and batteries inside the helmet, everything could be processed remotely by the driver's phone which would receive and send data to the individual speakers and microphones.
Thank you very much for your answers!
Best regards, Julien
You can only have a single Bluetooth connection. So you cannot connect two Bluetooth speakers at the same time. instead, you can use RF like the walkie-talkie in a half-duplex( only driver can send messages) or full-duplex(both can communicate with each other) transceiver.
Android P allows up to five bluetooth connections at the same time. Regularly two connections are allowed, 5 can be activated as developer option.
https://www.androidauthority.com/android-p-bluetooth-audio-developer-options-844298/
Related
I had been wondering how wireless earbuds work and came across this image. I do not know how to replicate what is shown in the following image and would like to learn how to do it.
My end goal is to be able to have the smartphone connect to a device, while still being able to play music to a Bluetooth Headphone. I read into BLE 4.1 mesh and I am not sure if that would help either.
I have made images for the possible ways the multiple devices could communicate but I don't have enough reputation to attach the xD. I will try my best to describe them.
1) All devices manage to simultaneously communication with the smartphone.
2) All devices connect to a hub which relays data to the smartphone.
3) One device is the hub itself and relays data for all other devices while sending its own data.
4) The devices relay information for each other till the smartphone receives the data it called for.
5) Another possibility is to have a mesh structure where the devices relay all messages broadcast-ed over the network until the device for which the message is meant for, receives it.
I hope to make a project where a Bluetooth device I make does not hinder the user from connecting and using other Bluetooth devices simultaneously.
Thanks for reading and I look forward to any and all responses.
IMAGE 1:
IMAGE 2:
IMAGE 3:
IMAGE 4:
You need to consider few things first.
Since version 4.0 Bluetooth specification contains "Classic
Bluetooth, Bluetooth high speed and Bluetooth low energy (BLE)
protocols."
Bluetooth Classic provides profiles like A2DP, AVRCP that
are usually implemented by Bluetooth earbuds or speakers.
BLE on the other hand communicates using GATT (a general specification for
sending and receiving short pieces of data known as attributes over a
low energy link).
BLE is not designed to handle high bandwidth scenarios like Audio.
Now getting to a point
You can have a smartphone connected to your earbuds with A2DP profile
and simultaneously connected to several BLE devices.
One or more of these BLE devices can realize mesh connectivity
I have 2 android devices
I need one of them to automatically get the other device's data (battery strength , signal , contact list , etc.. ) after they bind
is there a way to do that?
Yes you can do it but for this purpose you have to write the code as Stub-Skeleton (Client - Server) where one listens and one processes.
Let me know if you have any other question.
Latest android mobile devices provide Wifi Direct feature i believe it will be bit more faster than the blue tooth.
P.S: Both Bluetooth 4.0 and Wi-Fi Direct use the 802.11 networking standard to reach their maximum speeds. but bluetooth 4 device-to-device transfer speeds of up to 25mbps while wifi direct promises till 250mpbs. Choice is yours;
Happy Coding !
I have done some research on Voice Chat using Bluetooth and have gone through the Bluetooth article here http://developer.android.com/guide/topics/connectivity/bluetooth.html but couldn't found anything related to Voice Chat.
I have seen an application on Play Store (https://play.google.com/store/apps/details?id=com.okean.btcom) providing same functionality that means Voice Chat is possible using Bluetooth in Android.
I have also seen Session Initiation Protocol (SIP) provides Voice Chat Service but it uses Internet data. I want it over Bluetooth.
Any help would be appreciated.
On a motorcycle or loud boat a headset would provide clear communications within Bluetooth range. Yelling is impractical and stressful.
Motorcycle comm systems often use BT, but the systems are designed to work on helmets and are propietary. There are instances in a high noise environment where a BT headset or earpiece would be more practical.
An app on a phone or some sort of Bluetooth hub could work in high noise confined environment.
If you are in bluetooth range, why not just voice chat over air? as in sound pressure, aka human speech?
I have 2 Android Phones, and I want to connect them together via bluetooth, and make one of them a bluetooth headset.
So, my question is how to program the second phone to change its role profile to "Bluetooth Headset" when establishing the connection ?
I've found this post but my question is a little bit different
Thank for any advice or idea :)
You cannot on Android. At least using the built-in Bluetooth A2DP profile.
Your phone will only act as a transmitter (source), not a receiver (sink).
Please look at these two answers I gave on why this is not possible :
Is it possible to send/receive voice from PC to Android device over Bluetooth
Receive audio via Bluetooth in Android
You can, on the other hand, develop two apps each acting as a client/server using your own protocol. The server could be streaming audio content to the client via Bluetooth for instance.
Another way to consider this, since using an Android device as an A2DP sink is not feasible on every phone, is building these two apps using your wifi connection. It could be much more rapid and the sound sound be of a much better quality.
I'm making a proyect which envolves bluetooth communication between a phone with Android and a little robot with Arduino. I want to send commands to the robot from the phone and I wanna recieve some status information like temperature, battery remaining charge and the robot will be integrated with a webcam... so I wanna send this images from the webcam to the phone. Is it possible???? Or I'm just like crazy and need another microcontroller (by the way I'm using the Atmega328p-pu that comes with the duemilanove) or another way to communicate them to handle all this "channels" of information. Could I multiplex it or decode it??????
No it's not possible with Arduino because data transfer is too slow
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1226951266
I'd look at http://beagleboard.org/ which is a low-cost, fan-less single-board computer or what they use in robots like this one: http://www.bilibot.com/node/36
I guess it is possible, but I'm not sure if Arduino can actually handle a Serial camera inbound data and the bluetooth serial outbound data with acceptable performance..
As "webcam" you would need something like this: http://www.sparkfun.com/products/10061
Since you will need a Bluetooth module, you will use two serial ports, one for camera input, and other for Bluetooth communication, therefore check if your Arduino do have at least two serial inputs.
Here you can find the sensor shield and the Bluetooth module (ps. you may find on eBay for half the price):
http://www.dfrobot.com/index.php?route=product/product&path=45&product_id=360
http://www.dfrobot.com/index.php?route=product/product&filter_name=V5&product_id=264
Take some time to read the data sheet and documentation from all these modules and good luck.