Flutter MiBand services - flutter

I'm trying to read data from Xiaomi MiBand 5 with Flutter app.
So far I've managed to connect to band and read heart rate.
I found which service and UUID is responsible for heart rate and now I'm trying to find which services are responsible for other values.
After discovering all services, it seems that there are 12 of them :
1800, 1801, 180a, 1530, 1811, 1802, 180d, fee0, fee1, 180f, 1812, 3802
180d is responsible for heart rate and I managed to read data from it.
But how can I read steps count?

The list of Bluetooth SIG adopted services are available at:
https://www.bluetooth.com/specifications/gatt/services/
I suspect some of those are custom services. The Bluetooth Base UUID is
0000xxxx-0000-1000-8000-00805F9B34FB
Examples include:
0x180F -> Battery Service UUID (128-bit UUID: 0000180F-0000-1000-8000-00805F9B34FB)
If the value doesn't follow the base UUID then it will be a custom service.
There are some generic scanning and exploration tools to explore the services being provided by devices.
On mobile phones, the nRF Connect app is a good choice:
https://www.nordicsemi.com/Software-and-tools/Development-Tools/nRF-Connect-for-mobile
On desktops machines, if you have a recent version of the Chrome browser then use the url chrome://bluetooth-internals/#devices to scan and inspect devices.

Related

Application Network Bandwidth Report

I have an application that I have distribute on google play store. Can I check the average network bandwidth data of the application collected from the user? Average KB/s the application usually use?
What I have check but I cannot find such a report
Google Play Console
Firebase Console Performance Monitoring (There are network request data but it is to detail per session per request)
So far I think I can utilize the Firebase data or doing some manual measurement on my device myself, but I think it is inefficient and not accurate enough.
Any idea where can I got report like that in google play console or firebase? Or any other SDK or solution I can use to get network bandwidth report?
For information I use flutter to develop the application.

Movesense low level API

I am planning to connect Movesense to Arduino with BLE Shield.
Where I can get deep protocol description to get position data from the Movesense? Do this information public?
On Android I have library mdslib-1.39.0(1)-release.aar that allows connection to Movesense, but have not able to get code from it, to create Arduino connection to Movesense, based on Android sample.
The "Whiteboard protocol" that MDS implements on top of BLE is quite complicated as well as proprietary, so it is not possible to have that on Arduino (or outside the common environments). However that is not the only way to communicate with the Movesense sensor.
For low level BLE access, you can either define your own GATT service using CustomGATTService, or use one of the existing "out of the box" profiles (HRS or Nordic UART Service. These will be nicer in 2.0).
The new 2.0 comes with a sample that provides any sensor data over GATT (as a binary stream) and we've back ported it to 1.9.4 as well (find it in https://bitbucket.org/suunto/movesense-device-lib/downloads/).
In my opinion if you just want IMU-data, the "gatt_sensordata_app"-sample is by far the easiest way to go.
Full disclosure: I work for the Movesense team

How can I connect a golo4 obd2 device with IBM IoT platform without using a mobile application?

I'm using IBM Bluemix Services to develop a real time application. While developing the application I need to analyse the device data (Golo4 obd2 device) on the IoT platform. Please guide me to the step-by-step information regarding the connection of the device.
I don't have one of those devices but from a quick google it seems the only way to connect it to the web is via a mobile app they provide. Perhaps you can ask the manufacture or check the instruction manual? There is no way to analyze the data in bluemix if you can't get it from the car to bluemix. It is a common architecture for this to be via a phone (bluetooth to the phone and then wifi or mobile network to the WWW). Which is why it becomes important to consider the impact on the phone's battery life and the cost to the user of the amount of data transferred and minimize both.

Device onboarding in IBM Bluemix platform

I have a few questions regarding onboarding a thing in IBM Bluemix IOT. My questions are as follows:
In scenario 1: Let's say I need to connect only one thing to the Bluemix platform, so I configure the device type, device, authentication token, etc., to connect the device to the platform. This is possible in the current situation.
In scenario 2: If I need to connect 50 things to my platform, will I be configuring each and every device to get the device ID, token, etc.?
Does Bluemix provide any discovery mechanism or other ways to configure things automatically?
You can programmatically register devices using bulk/devices operations. https://docs.internetofthings.ibmcloud.com/swagger/v0002.html#!/Bulk_Operations/post_bulk_devices_add
Also, this recipe describes how to register multiple IoT devices.
If you are using a gateway, devices can be auto registered:
look for "Gateway auto-registration"
Here are some other links that may be helpful.
This recipe talks in detail about how to register a device in Watson IoT Platform - https://developer.ibm.com/recipes/tutorials/how-to-register-devices-in-ibm-iot-foundation/
This Java sample shows how one can do bulk addition/deletion - https://github.com/ibm-messaging/iot-platform-apiv2-samples/blob/master/java/api-samples-v2/README.md

How to completely access android bluetooth using progressive web app

I have tried web Bluetooth API to access,but it is only for battery status, heart rate etc.., I need to access complete functionality of Bluetooth. Is there any option or API available
I think there is no other available API for this bluetooth function, The Web Bluetooth API is your only option, but it is not finalized yet.
According to this documentation, until now, the ability to interact with bluetooth devices has been possible only for native apps. The Web Bluetooth API aims to change this and brings it to web browsers as well. Alongside efforts like Physical Web, people can walk up to and interact with devices straight from the web.
And even though it is not finalized yet, the Chrome Team is actively looking for enthusiastic developers to try out this work-in-progress API and give feedback on the spec and feedback on the implementation.
Just take note that Web Bluetooth
API is currently
available to be enabled experimentally on your origin in Origin
Trials, or locally on your machine using an experimental flag. The
implementation is partially complete and currently available on Chrome
OS, Chrome for Android M, Linux, and Mac.
For more information, just read these documentation and video. You can also check the updates of the documents here.