Is it possible to detect the signal strength of a connection between two iOS devices by using Multipeer Connectivity Framework?
Unfortunately, it's not possible. I think there is a good reason for this. As you can read in the docs:
The Multipeer Connectivity framework provides support for discovering
services provided by nearby iOS devices using infrastructure Wi-Fi
networks, peer-to-peer Wi-Fi, and Bluetooth personal area networks and
subsequently communicating with those services by sending
message-based data, streaming data, and resources (such as files).
In case of infrastructure Wi-Fi network, there is no direct connection between two iOS devices as they communicate through an access point. Therefore you can't get the signal strength of a connection, because it simply doesn't exist.
If you want to get RSSI, you can use Core Bluetooth framework instead.
Related
I am doing my FYP and for this I need some information:
Is it possible to connect a mobile with a LoRa Network via cellular SIM?
Actually, I want to build a mobile software that will operate with a local LoRa network, and the user can connect to the network using this app via cellular network.
No, LTE/GSM/EDGE/Mobile network is a different transmission method than LoRa and thus can not connect to LoRaWAN networks.
No I don't think you can . But I think you need another module to include in your project to handle the SIM part and that way you can switch between the Lora and SIM
I am able to set up communication between multiple devices using NSNetServices class but only when those all devices are on same wifi network. Is it possible to make all the devices communicate regardless of the network availability, means it shouldn't matter if they are connected to same network or not connected to any network at all, just their wifi and bluetooth is on.
And I don't wanna do it using MultipeerConnectivity framework.
I am using core bluetooth framework in my iOS application project. I have following questions regarding bluetooth low energy-
Is it possible for a single central to connect multiple peripherals in iOS?
Can multiple central device connect with a single peripheral?
Can a single iOS device act as central as well as peripheral at the same time?
If yes, then what will happen if both of 2 such devices try to connect as central to each other?
Can we communicate via BLE when the app is in background?
Is it possible for a single central to connect multiple peripherals in iOS?
Yes.
Can multiple central device connect with a single peripheral?
That completely depends on whether the peripheral supports it (but for most common embedded devices, no).
Can a single iOS device act as central as well as peripheral at the same time?
Yes.
If yes, then what will happen if both of 2 such devices try to connect as central to each other?
They'll generally connect twice. In one connection, one will be central and one will be peripheral. In the other connection, the reverse. This is a pretty unusual way to design a system, but it is legal will often work, despite being illegal (see Youssif's comment below for reference).
Can we communicate via BLE when the app is in background?
Yes, within various restrictions.
Yes, it's possible to connect one Central to multiple Peripherals.
Not confirmed.But single Peripheral can connect only with one Central device and multiple Peripherals can connect with one Central.It means that Central can communicate with multiple Peripherals at the same time.
Yes, a single iOS device can work both as Central and Peripheral at the same time.
It communicates one by one.
Yes, we can communicate via BLE in background mode in iOS device.
how is it possible to send data to an iPhone which acts as an iBeacon?
I am looking for an process as the following:
Search nearby iBeacons
Connect to some iBeacon
Exchange data between the devices
Does anybody know how to put the different bluetooth functions together to make
this possible?
thx in advance
Standard iBeacons are transmit-only devices that can be seen by mobile devices, but don't actually "connect" to them or exchange data.
But you can still do what you are asking if you have an app on all devices as well as a web service to do the data transfer. This would allow devices A and B to detect each other when they are nearby and exchange data. Here's how:
Your app on devices A and B alternates between acting as an iBeacon (advertising its presence with an application-specific identifier and a phone-specific identifier) and ranging for iBeacon signals including the application-specific identifier.
During its ranging cycle, your app on device A will detect an iBeacon transmission from device B, which includes both your application identifier and the device identifier of B.
App A then makes a "write" call to the web service with a source of "A" and a destination of "B", along with any data you want to transfer, like "Device A says hello to device B."
The app would also periodically make a "read" call to the web service. In this example, device B would read any information destined for B, and the web service would return a record that device A had send it a message with the data "Device A says hello to device B."
Because the same process is also running on both phones, this communication can happen both ways.
iBeacon is a proximity technology and isn't designed for data interchange. However, since the Bluetooth stack is going to be active on your iPhone acting as the beacon (so it can advertise its proximity UUID), you can use Core Bluetooth to connect to the beacon and exchange data between the devices.
Does it specifically need to use iBeacon technology? The reason I ask is that from reading your description of the process, you could achieve the same thing using iOS 7's Multipeer Connectivity. It's able to abstract out all the technical complexities of connecting 2 iOS devices together regardless of the interface, be it WiFi or Bluetooth. I've managed to build something similar using MCNearbyServiceBrowser, MCNearbyServiceAdvertiser, and MCSession classes.
Bluetooth and ZigBee devices are working or pairing within its own family devices based on parameters such as network layers, security algorithms, etc... I want to write an application to make a communication between ZigBee and Bluetooth device. Is it possible?
You would need to create a gateway between the two networks. Your application would need to interface with a ZigBee radio and a Bluetooth radio, join each network, and then proxy communications between devices on the networks.
What devices do you plan to bridge? Your application will need to appear as device X on the ZigBee network, and device Y on the Bluetooth network and convert data received to the correct format to send out on the other network.
If it were kept simple, something like this could work. A module that is a Zigbee presence, with a pairable bluetooth node. If a bluetooth-paired device comes near, the Zigbee announces itself as 'present'. When the bluuue tooth paired device is no longer around, the Zigbee device becomes "not present".