I am confused here in Google Nearby connections API(only Android) and ALTBeacon(Android+IOS), i want to use ALTBeacon but i want to know whether this library is able to do media streaming just like Google's Nearby connections API?
No. Both the AltBeacon standard for Bluetooth LE beacons and the Android Beacon Library that enables detection and advertising of these beacons are not designed or appropriate for media streaming.
BLE Beacons are generally limited to ~23 bytes of information per packet. This is not enough bandwidth for media streaming.
Related
I want to send some sensor data over BLE to multiple nodes.
I thought of changing advertising data at 4Hz. Can it be done?
Yes! It is a common approach to use a BLE beacon packet to advertise sensor data. A few points:
Embedded BLE platforms typically allow advertising at a minimum of 10Hz, and let you change the advertisement between transmissions. I have done this on the Nordic 52x chips, but hopefully STM32 supports it as well.
BLE 4.0 advertising packets are limited to 23 usable data bytes, but you typically need to reserve a few to indicate it is "your" transmission. There are significant further restrictions if you intend to use iOS devices to scan the transmissions. If using Android, Linux, or other embedded system scanners you can use nearly the full 23 bytes.
Keep in mind that anybody in radio range can scan for these advertisements and read the data. Make sure the sensor data are not sensitive enough to warrant a security layer.
I have a surveillance Camera and i want to stream the live feed to multiple clients in the same network using WebRTC. To save compute resource and bandwidth requirement i want to do multicasting on WebRTC feed. Is this possible?
WebRTC doesn't support multicast. You might want to look into tools like webtorrent.
I am developing a solution where, Fixed BLE beacon detects a moving BLE device and sends the relevant data to the server using wifi/ethernet/etc. All the examples I have found have BLE beacons talking to the mobile phone which in my case isnt true. AFIK an embedded systems engineer can configure the fixed beacon to send data to server. BUT is there any ready to use solution that lets the beacon connect to backend? Thanks.
You mention having a "[f]ixed BLE beacon [detect] a moving BLE device". Understand that this is very different from the way an Apple-style BLE iBeacon works, which is a transmit only device. (I mention this because the question is tagged with ibeacon.)
What you are describing is probably better described as either a beacon scanner or a BLE scanner. My company has a Raspberry Pi-based product that can scan for beacons and take programmatic action based on detections. We have a blog post about how to make a beacon turn on a lamp using this device, but you could just as easily make it contact a server when a BLE device is detected.
I would like to detect a beacon and then write a value to some of its GATT characterictics, so other BLE-devices can read it. Is this possible at all? Or some special device is needed for this?
This is not possible with a standard iBeacon because it is a transmit only device.
You might be able to build your own custom device to do this, but making it work on iOS when more than one Bluetooth device is around will be almost impossible. This is because there is no way to correlate detected iBeacon identifiers with as connectable Bluetooth device -- iOS has sandboxed the CoreLocation iBeacon detection APIs and the CoreBluetooth APIs needed to read and write GATT characteristics.
As a result, you can never know for sure if you are writing to the same device you detected.
For a detailed explanation of the sandboxing of the CoreBluetooth and CoreLocation iBeacon APIs, see here.
I have been implementing VOIP in our mobile application. In voice encoding/decoding, I heard that the SPEEX codec is good for improving quality. Eventhough it has good quality, I have afraid to use it because in speex document they mentioned as "Speex is not designed for mobile phones but rather for packet networks and voice over IP (VoIP) applications".
Could any one knows why SPEEX codec is not suitable for mobile applications however it has lot of features rather than G711, G722 ...etc?
Indeed Speex is not designed for mobile phones but it meet all the requirements for mobile devices
Low CPU usage
Effective audio compression
Good voice quality
also there is many success mobile apps using it such Zello and many others