Does Google nearby message API needs Internet connection to work? - google-api

Hi I want to create an app using google nearby message api. I want it to be completely offline.
Is it possible? Does google needs internet connection for using this Nearby api?
I know it uses bluetooth and WIFI things to share the data!
I want to know whether it needs internet connection at its initial stage? since it needs to retrieve some token from the cloud.
Help me in this!
Thanks in advance!

Yes, Nearby Messages requires devices to have internet access. Discovery is accomplished via BLE (Bluetooth Low Energy), WiFi, and audio (using near-ultrasonic frequencies), but the cloud is needed for message delivery after discovery. Nearby doesn't yet provide a pure peer-to-peer solution.

Related

Web page beacon

I would like to send a BLE Eddystone beacon from a web page. My application requires to send SSID info to a BLE listener. My thought is to have a user load a URL on a smartphone that would run JS to send periodic BLE Eddystone-UID beacons with SSID info embedded. I need the web page to work on both Android and iOS phones. Is there a simple way to do this using Javascript?
I looked into physical web but it did not seem to provide this capability.
thanks,
Ian
The current version of the Web Bluetooth API specification allows websites, running in the Central role, to connect to remote GATT Servers over a BLE connection. What you're looking for is a way to run in the Server role to advertise your data.
In your case, I'd recommend you have a look at https://www.npmjs.com/package/#abandonware/bleno

Sonos control api: polling rate & subscription

We are controlling the sonos via a small IOT device. This device will be placed at the homes of our customers.
In our home automation system we need to know the playbackstate + volume of the players/groups.
At which polling rate can we ask these parameters ?
We cannot use a cloud server to handle the subscription events.
I tried to put a https webservice in the IOT device with a self signed certificate but this doesn't work.
After I have posted the subscription I get a request in my webservice but the cloud sonos server disconnects immediately.
Probably because of the certificate is self signed - Or can there be another reason ?
Is there another way to recieve status events ?
During discovery In the players Json object there is a key 'websocketUrl'.
The documentation says "The secure WebSocket URL for the device. See Connect for details".
But I cannot find more info about this.
Can this be used ?
At which polling rate can we ask these parameters?
Consider using subscriptions instead of polling. See this answer for more: https://stackoverflow.com/a/60893119/4902948
We cannot use a cloud server to handle the subscription events...
Or can there be another reason?
Is there another way to [receive] status events?
You must host a service that satisfies a set of requirements to receive events. See this answer for more: https://stackoverflow.com/a/57189717/4902948
Also see Details on API credentials and events in New features in versions 11.1, 11.2 (S1), & 12.0 (S2).
Can [the 'websocketUrl'] be used?
This is not publicly available for use.
It would be a lot easier to use the (undocumented but more useful) UPnP APIs. You could simply Subscribe to the UPnP RenderingControl endpoint, then you will get an event every time the volume changes. To find when the track changes, subscribe to AVTransport endpoint.
You can do this with a local server (this is how every Sonos app works after all) and no special cert requirements either.
UPnP events are described in the UPnP spec.
Your question doesn't provide details about the language you're using, but if the device is powerfull enough to run node, you have a good change with my sonos library.
You can just pull the required information from the device as often as you like. Or use the build-in event subscriptions. If you use the events, it will automatically setup an http listener and automatically subscribe to all the events you're listening for.
Events are instant (as in 50ms-100ms after the event took place on the device).
If you request information it is send directly to the device and the device will respond with the answer. Pulling multiple data points per second has never been a problem to me.
Warning as stated above, this uses the undocumented local UPNP api, but since their own app also uses it, I'm guessing that won't change soon.

Codename one NFC Integration

There's a way from Codename One to provide access to Near Field Communication (NFC) ?
Anything new, out this post codename-one-nfc-beacon?
NFC is an Android only API and even there the availability in devices is "problematic". In iOS it's restricted to payment so there is no access to the underlying hardware. So there is no point in supporting the API in a framework that is designed for cross platform. I'm sure you can create a cn1lib similar to the fingerprint reader API or the SMS intercept API.

BLE: LE Secure Connection with Xamarin

We're talking about BLE. Right now Im using the Plugin.BLE library and it's working quite fine. Now Im in the need of using the LE Secure Connection (with the "just works" method) in order to send/receive encrypted data.
I've read lots of documentation about how the protocol works, but have no idea of how actually implementing it in Xamarin and wasn't able to find anything on this.
With the Plugin.BLE one can take advantage of a very simple APIs to connect to a Device.
Is there any library that provides similar simplicity and enabling an LE Secure Connection?
If not, how can I connect in Android & iOS to a BLE device using a secure channel?
Thank you very much
The pairing is handled by the Bluetooth stack and not by the application, so you can't affect this in any way. However, from Marshmallow and onward, BLE pairing will use Secure Connections as long as the second device supports it. Not sure about iOS.

Sony DSC-QX Remote API via NFC

In Sony DSC-QX cameras is it possible to access to the API via NFC?
I think no, and probably it's a stupid question.
Sorry that is not possible. The Camera Remote API is only accessible over a WiFi connection.

Resources