Service Solicitation Advertising Data in Bluetooth Low Energy - bluetooth-lowenergy

My question is about Service Solicitation.
In BLE, there is an option of Service Solicitation in Advertising Data Packet.
What is the meaning of Service Solicitation??
In which situation, we include Service Solicitation Data in Advertising Packet?

The idea is that when a device scans an advertising device, having a particular solicited service uuid in its advertising data, and the scanner itself has that service in its own gatt db, the scanner should connect to that device.
So basically it means that it advertises "anyone having this service, please connect to me".
But I don't think anyone actually uses this feature...

Related

Can Scanner know the advertising channel?

As described, BLE Scanner can not know the advertising channel.
How to get BLE advertising channel index number
But, in the link below, at first graph,
the Initiator send the CONNECT_REQ to the Advertiser through Ch.38 which is used to send ADV_IND.
it is something like that the Initiator knows which the advertising channel is used.
https://microchipdeveloper.com/wireless:ble-link-layer-connections
Can Scanner know the advertising channel?
The scanner of course knows which advertising channel is being used. It's just that it's not part of the Bluetooth Specification to expose this information to an application using the Bluetooth stack. In particular, the HCI events for advertisements do not contain such a field. It is possible though that some embedded devices can expose this info to the application, if they have defined a custom API for this.

How in a bluetooth connection can the Peripheral get the Central device name

Is there any way for a Peripheral to get a Central device's name when establishing a bluetooth connection (BLE)? I'm unsure if Bleno has the tools necessary to get this.
Just read the Device Name in the remote GATT server. The peripheral must support GATT client in order to be able to read the device name.

What is difference the service uuids and the service solicitation uuids from bluetooth scan result?

I'm studying for bluetooth advertising data.
If I trigger bluetooth scan on my device, remote device's advertising data will be delivered as a result.
There are service uuids and service solicitation uuids on advertising data.
But, I don't know what is difference two uuids.

MQTT communication for IOT devices with cloud Server

I'm designing a system where there will be 100,000 appliances and user will be able to send/receive data to his appliance over MQTT.
Device to App communication:
There will be a mac address based unique topic and device ID of each appliance . Each appliance will publish its data to topic of the server . The server will send the data to corresponding App over HTTP.
App to Device communication
The App will send data to server over HTTP and server will forward the data to corresponding appliance over MQTT.
Now can you please guide me is this a correct way to do that ? or a better way is server should subscribe to unique topics of all appliances ?
Following is the flow diagram for the above mentioned procedure
IBM Bluemix offers an IoT for electronics service which may be of interest to you. It uses the Watson IoT Platform to connect your smart electronic appliances with the applications that you develop. It also helps you analyze and understand the data from your appliances.
You can send and receive messages with Azure IoT hub that supports MQTT and HTTP protocols, with device-to-cloud and cloud-to-device capabilites.
Azure IoT device SDKs can be used with a broad range of OS platforms and devices. You can build your "device" and "App" with Microsoft.Azure.Devices.Client .
You can deploy MQTT broker in Azure, this and this you can reference.
The throughput varies with the service tier, up to 208,333 messages per minute.

GPS data to a website

There is a GPS device which can send data to IP:Port. I have a website hosted on IP 1.2.3.4
Can I send GPS data from the device to that website? 1.2.3.4:8080? How I will retrieve the data?
This is the device
http://cgi.ebay.com/GSM-GPRS-GPS-Vehicle-Car-Tracking-System-Tracker-Device-/270683202099?pt=AU_Car_Parts_Accessories&hash=item3f05f9e233
Maybe this should be a comment...
To be honest we can't answer that question the device will most likely use its own data format(s) so the service that receives from it will have to implement those. Additionally the device might not support web protocols, it could use raw TCP sockets for example, so you may have to implement a listener service that adheres to those protocols. In fact it looks like the device uses GSM (a mobile telephony standard), so using a web site to receive the data is definately off the cards unless you have a GSM proxy service sitting between the device and the web server.
Assuming that you are allowed to implement your own service it follows that the documentation will include the necessary details and if you are lucky a full SDK that you can use.

Resources