How to set OEM data on movesense device - movesense

I'm unable to find information on setting custom OEM data on a movesense device. Is there a way to set custom OEM data (software version, software name, etc) on a device? If so, how would one go about it?

The App.cpp has macros:
APPINFO_NAME("Sample Plain");
APPINFO_VERSION("1.0.0");
APPINFO_COMPANY("Movesense");
This information is returned from GET /Info/App
Full disclaimer: I work for the Movesense team

Does MDS has some future use of BLE manufacturer data? Currently default is 1, 2, 3, 0. I have added software version as manufacturer data so when scanning devices it is possible to select only correct sensors. By default it could contain firmware version, battery level?

Related

Changing Beacons Minor and Major without specific application

Beacons like Radbeacon, Estimote, Accent and so on have their own application for changing different features of beacons(UUID, minor, major, Tx power), is it possible to change UUID or minor and major via something else dynamically? is it possible to do that via Bluez on raspberry pi or any other library like noble?
While this is in theory possible, but I don't know of any manufacturers that support this with off-the-shelf beacons for a few reasons:
Some manufacturers limit the configurability of beacons over a bluetooth interface to only a short-time interval after you put them in configuration mode (by power-on, double clicking a button, etc,) as #Paulw11 mentions. This is for security reasons.
While some beacons (like Radius Networks' RadBeacon USB) allow you to set the power-on configurability timeout to be forever, this device does not have a publicly available SDK to configure over bluetooth. You have to use the manufacturer's app, which understandably you do not want to do.
There are certainly use cases where this is desirable. With such a setup as you describe, you can have a configuration computer within bluetooth range of all your beacons, and programmatically push identifier changes over the air whenever you want -- either in an ad-hoc manner or at regular intervals to rotate identifiers for anti-spoofing reasons.
There are paid service options from Kontakt.io and Radius Networks to accomplish the above, but to my knowledge their solutions do not allow you to roll your own without paying for the service.
If you do want to roll your own, you could build your own beacons that do this, perhaps using a Raspberry Pi to act as a beacon with BlueZ, Bleno, or AndroidThings, and then another one to be the management device that commands the changes using BlueZ, Noble, or AndroidThings.
Yes you can change major, minor and uuid as per your requirement.
Have a look on this Bleno
It is a Node.js module for implementing BLE.
You can Install it in Raspberry Pi also.
Hope this Helpful.

Is it possible to get connect to Bluetooth Camera?

I need to build an application which display the list of available Bluetooth Cameras and need to paired with them.I have search through the web,but unable to find any useful link.
any Tutorials/Sample code would greatly appreciated. !!
Thanks !!
If you are talking about BLE (Bluetooth Low Energy or Bluetooth 4.0) than the answer is YES. You can easily discover BLE devices in your app.
They identify using a specific UUID which you have to know to discover them. You will act as a so called BLE Central, the camera would be a Peripheral.
I don't know any Bluetooth cameras, but if they support BLE, you can refer to Core Bluetooth framework reference or the Core Bluetooth Programming Guide.
If they don't support BLE, but the old Bluetooth, you would have to be member of the MFi Program. To be a member you would probably be a hardware manufacturer and have already products in stores. I also heard of individuals that got accepted, but you might probably not.
Long story short: BLE - YES, !BLE - NO.

How can I know the operating system of a device

If I know the device's model or vendor. Is there any direct way by which I can know the operating system of this device (e.g through the device driver or something like that? ). For example, I will quote an answer for a previous question I asked in: What is the difference between the firmware and the operating system?
Someone have said:
Hardware vendors commonly use a derivative of linux (e.g. Cisco IOS)
How can I know this. I know a name for one cisco device but I do not have the device and I need to check what is its operating system (even if it is widely known that it is Linux, I need to check this myself). How can I get this piece of information ? I checked the companies site and google, and I can not find any answer.
If the terms of the GNU Public License are complied with, it should be reasonably clear if a device is using any GPL code, including Linux, moreover the source code should be available too.
If the device uses an OS that is not open source, then even if the information were available to you, it is unlikely to be particularly useful except perhaps in respect to applying manufacturer's firmware updates.
Linux is by no means that common in embedded systems in general. It is commonly used in certain types of device, such as routers, STB's and NAS's. Often these devices have a web-server interface through which version information is usually available, but there is no common method of accessing this information, you'd have to access the particular URL for the device and parse the HTML.
You need a serial cable to hack into the device or read the binary from the flash and examine the hexdump. I have a STB in my home. The provider doesn't reveal the OS. There are competitors out there who need such information to take you down.

Bluetooth LE Profile for reading measured data

I read a lot about Bluetooth LE in the past hours, but I do not really understand how profiles work. I want to pair an iPhone with a self-made device over BTLE.
The device should send measured temperature values, humidity or other values over Bluetooth and the iPhone should read that data.
I read about different profiles in the BTLE specs (even about heart measurement), but how does one proceed, when reading CO-emission for example?
Thanks a lot!
Regards, mary
There are two sides to this: the profile you'll define on your device and the code you'll write to communicate with this profile in your iOS application.
On the device, you'll define a profile with specific services for the measurements you want to gather. There are several standard Bluetooth LE profiles which you can find in a list on the main Bluetooth developer site. These include profiles for temperature, heart rate, and walking cadence, among others, so if you are providing measurements in one of these categories you can make your device provide one of those services and it will be usable with any iOS application that reads from that service.
For values that aren't covered by one of the existing services, such as the humidity readings you mention, you'll need to create your own custom service. You'll just have to define the service characteristics (what type of data you'll provide and how you'll provide it) and give this service a unique identifier, because it's one you're creating and not part of the standard ones laid out by the Bluetooth organization.
How you define these services and characteristics will depend on the specific Bluetooth LE hardware you use for your device. I've done most of my work recently on Bluegiga's BLE112 chip, which combines a low-power microcontroller with a Bluetooth LE transmitter. They have very good tools for defining device profiles and creating matching firmware, and it's reasonably straightforward to set this up on their chips. I can't speak for other manufacturers, but they most likely have something similar.
Once you have a profile defined on your hardware, you'll need to look for devices advertising it and be able to connect to them within your iOS application. You'll use Core Bluetooth for this, and I highly recommend starting with one of Apple's sample applications, such as their Temperature Sensor example. That example uses the standard health thermometer profile, but you can tweak it to find your proprietary services in addition to the temperature readings. You can see how they read and process the binary data returned from the LE device in that example.
I highly recommend watching Apple's two WWDC 2012 session videos on the topic, Session 703 - Core Bluetooth 101 and Session 705 - Advanced Core Bluetooth, because they provide a lot of background on the topic and show practical examples of this in use.

Transferring data from a sensor to the iPhone

I have an external device (some kind of sensor) that can do a measurement. This sensor can be connected to a PC via Bluetooth or USB cable, and it also comes with it's own software.
I want to develop an App for iPhone that will analyze the data that this sensor is measuring (for example creating a graph, calculating some equations etc.).
How can I make my iPhone to "recognize" this sensor, so the app will get the data that has been measured from the sensor?
Is there any manual which explains how to code this? Our preferred way of transferring the data is via Bluetooth, so there will be no need of using cables.
Thanks a lot!
You can't use Bluetooth to transfer data unless the device is custom designed in compliance with Apple's MFi program. Only those specially manufactured devices can be recognized by an iOS app.
You can use wifi for high bandwidth data, and perhaps audio for encoding low bandwidth data.
Not sure what kind of sensor you have but PASCO scientific has a Made For iPhone Bluetooth device called AirLink2 that works with their sensors. I don't think that could easily co-opt the device for your purposes ... but it might be possible. I mention this because there's an off chance that this would useful information. I am not trying to peddle hardware here ;-)