Discover devices which have app installed - bluetooth

Without connecting to the other devices, please suggest/tell how can I discover devices which have my app installed. I don't want to register MAC address, IMEI numbers in my database, so please suggest some other way.

Related

Bluetooth Firmware Update

I have a BLE module that i'm trying to update the firmware in, but having a lot of problems connecting the recommended update software (ISupdater). All I get is 'connect failed' message. There seems to be no troubleshooting information available, so I hope that someone has run into the same issues and solved it.
For the hardware setup, I'm connecting to a PC via a USB-USART serial adapter board. I have the 3.3V, GND, reset switch, mode switch, USART connection from the RN4870 BLE module connected as per the microchip connection diagrams (https://microchipdeveloper.com/ble:rn4870-app-example-fw-upgrade). I have verified many many many times that my connections are correct.
Connection Diagram
To test the BLE connection and data transfer I have mobile devices (iOS and Android) with the recommended apps (SmartData, mBIoT). I can see the BLE broadcast in the bluetooth lists, and I can connect to it to use the apps.
For the RN4870 module, I'm able to connect to CoolTerm software to test that I'm getting communication between the terminal and a mobile device. I'm able to send and receive data on the CoolTerm terminal, and on the mobile device apps, so that suggests to me that the USART adaptor is working correctly, and so is the BLE module.
In CoolTerm, I'm able to enter the CMD mode for the RN4870 module to set and read settings of the module, so I can check and set the baudrate to the default 115200.
If I use a BM70 module (which is the same hardware as RN4870 but different firmware), i can't enter any CMD mode, or do any sort of reset. The data is still able to be sent and received, so that confirms the baud rate is correct.
When I attempt to connect to either BLE module using the ISUpdate software that is recommended in the update steps to use as the firmware updater, I'm not able to connect to the module to update the firmware. I've tried many times to get the software to connect, many different ways, without success, and it's frustrating to no end.
I've updated the MCP2200 drivers to the latest ones from the microchip website, as well as using the latest versions of the CoolTerm and ISupdater. I've also tried previous versions, but still they all have 'connect failed'
ISupdater Image
has anyone got any solutions to the issue?
PC: Windows 10, 64-bit
BLE Modules: RN4870, BM70
CoolTerm Version: v1.8.0 (build 861)
ISUpdater Version: v4.0.0.207
IS187x_102_BLEDK3v1.11_UIv1.01 for Windows 10
Mobile Apps: SmartData, LightBlue for iOS, LightBlue for Android, mBIoT
Hmm, well it turns out that the USB-USART serial adaptor (although confirmed to be working correctly) seemed to be the problem.
At first, I only had the 1 adaptor, and I had to borrow a different adaptor. After swapping this FTDI232 USB-USART Serial adaptor, the connection was made first try, and I was able to update the firmware. I have now purchased a new adaptor.
So, if you are having the same trouble, try using a different adaptor.

Can I find out what type of mobile phone is connected via Bluetooth to a Linux PC?

Is it an Android phone or IOs? Of course on the PC side. I want to implement different behavior of my code depending on the OS on the connected phone.
Thanks!
From Bluetooth Perspective, you cannot find which OS version/OS/model is connected. This information can be modified in a phone (by changing name, service records etc.).
If you have your own application running on the phone, that is connected to the PC, then it is possible for your application to read the information(from the phone) and send it through Bluetooth Serial port (or) object exchange profile (or) by registering a record in the bluetooth service discovery database of the phone. If you can register a SDP record with the model and os information through your app, then it is possible to know the model , without establishing a active connection.

Connecting to a custom device via Bluetooth when its SDK is unavailable

I am building an Android app in which I need to connect to an custom device over classic Bluetooth (preferably). My problem is SDK for that device is not created to facilitate the connection. Now I am stuck onto the part where I need to create a Socket which will be opened by the custom device which is acting as a server and other Android devices will act as clients and connect to it.
I am stuck at the part where we need to have identical UUIDs at both client and server for the socket connection to work. I am following the BleutoothChatApp as reference for this but I cannot always make sure that both my app and custom device will have identical UUIDs. Because I may or may not be able to hard code the UUID in custom device.
What can I do in such case.?
Also when I try to use BLE and search for services, I discover only one service which has no description or anything.
What can I do in such cases. What will be the best approach to create a connection to that device.?
You get multiple UUIDs for the same device because the devices offer multiple services. Base UUID for Bluetooth is "00000000-0000-1000-8000-00805F9B34FB".
If you find this UUID in a device, it means it supports Bluetooth Service. Use the UUID for connecting to the device.

I am using Sample App of Bluetooth Chat.I want to search only those devices on which "BluetoothChat" is installed

I am using Sample App of Bluetooth Chat.I Have one problem I want to search only those devices on which "BluetoothChat" is installed. Please help I am new in android.
It can't be done. All you can do is try connecting them all, if the connection is refused, you will know that this device is not running your app.
That is not possible.because you did not check package name of your application in another device before connectivity via bluetooth.If you want to connect only tab or mobile device then this can easily possible.

Is there a Novatel Wireless Modem Emulator or something similar?

Novatel Wireless provides their NovaCore SDK for developers wishing to interface with their line of modems. I'm currently developing an open source managed wrapper for it, but I'm having difficulties with testing. I own a Novatel MiFi and have mobile broadband service through Sprint, but that can only get me so far. The device is already activated, thus I can't test the network activation features of the NovaCore SDK. There are also certain features only available for HSPA modems, which I am not able to get in my area.
Is there an emulator capable of emulating a Novatel Wireless modem so that I can test my library without physical hardware and an actual data connection? If not, do you have any other suggestions that might help in this situation?
I've contacted Novatel Wireless via email and their developer forum, but have not received a response.
Thanks!

Resources