I'm running a programm on a Raspberry Pie which is based on QT and uses a bluetooth adapter to connect to some peripheral devices as a central role.
I also have another device, which only can act as a Central bluetooth device and needs to be connected to my Raspberry.
Is it possible with QT to first build a connection to my second device by advertising itself and acting as a peripheral, and afterwards swaping to central mode, to connect to the other devices?
I didn't find any evidence for or against this. So i hope you guys can help me out.
What you want to do is not related to Qt/software, but rather something that depends on the hardware, specifically the version of Bluetooth of your hardware. A device can advertise (act as a peripheral) and scan/connect (act as a central) at the same time if it supports the "LE Dual Mode Topology", which was added in Bluetooth v4.1 (please see figure below).
Therefore, if this is a Raspberry Pi 3 Model B or B+, then it has Bluetooth v4.1 or v4.2 (respectively) built-in and it should be capable of acting as both central and peripheral. If it is an older Raspberry Pi then this depends on the Bluetooth dongle that you attach to it.
I hope this helps.
Related
I have bought an HC-12 module, but as much as I have investigated I have not found a way that a Raspberry Pi with a bluetooth detector called bluelog can detect it.
What do I have to do so that HC-12 wired to a Arduino can be detected with the bluetooth scanner?
How to set HC-12 in 'discoverable' mode?
Thank you
HC12 is a 433MHz transceiver. Bluetooth operates at 2.4GHz
What you're trying to do is impossible and doesn't make any sense.
There are other modules like HC05 or HC06 that communicate via Bluetooth. Your HC12 does not. You'll need a second of those transceivers to establish a connection between the Arduino and Raspberry PI.
This will give you up to 1km of range at lower bandwidth while Bluetooth only works across several meters.
So pick whatever suits your requirements best. A HC12 alone won't do much.
Maybe you should spend a few minutes on researching how radio transmission works befor you buy any equipment.
I have been trying to set the limit of pairing the Bluetooth device HC-05(interface by Arduino controller) with my smartphone.
I have tried making this solution work with AT command
AT+INQM=<Param>,<Param2>,<Param3>
Example: AT+INQM=1,9,48\r\n
But instead of converting AT commands using serial.h with embedded C, I am looking for any dedicated library which helps to work this kind solution in using Arduino.
Basically, with the help of Bluetooth device connect to Arduino Nano, I want to send the altimeter sensor data to my smartphone.
During the connection, HC-05 should be responding any one device at a time, if another smartphone tries to pair then the error will be shown.
Please share your advice on this.
Yes there are some libraries in arduino but these are only meant for connection and pairing and low energy connections. We don't have any dedicated library from where we can control the mode of operation of HC05 or any bluetooth module. like bypassing or accessing GAP and GATT services of bluetooth. However there is a way to flash HC-05. But we can only use it for updating the firmware of this device. This github repo is dedicated for this purpose . Hope it helps you
I got a Microchip RN4871 BLE Module and want it to act as beacon.
So, I connected over UART and executed the following commands:
SS,20
SC,2
NB,09,656667
I am able to scan and connect to it using hcitool and gattool command. Now I want to verify whether the beacon functionality is working or not. I mean the device is periodically broadcasting Beacon packets or not..
How can I verify that.. Is there any android application which can help or can i do with raspberry pi 3 as it has in built Bluetooth Chip
There are some really nice apps from nordic for free available. I like the nrF connect app. I guess it will help you.
When a physical device is connected with Bluetooth Developer Studio (BDS), BDS treats it as GATT server and itself behaves like a client. But what if I want to check the client role on physical device.
I'm trying HID over GATT (HOGP) and my physical device works as HID Host role. I wanted to emulate BDS as HID Device but I didn't find any way to make it as HID Device while connected to a physical device as HID Host.
Is there any way or any plugin need to install to host services on BDS when it is connected to a phycial device?
I was looking for the same functionality in BDS, but after looking into it I found that it only supports interfacing with a physical peripheral device and not central devices. I follow the Bluetooth SIG webinars and updates on the roadmap for the tool as well, and this functionality is not listed in their future roadmap for releases.
BDS plugins are only supported for source code generation (at least up to version 1.1).
I would like to use a standalone GSM Module that can interface with other systems like TV, AC, Fridge, etc.. via an SMS or a Call
For example:
1. If the GSM Module is hooked up to a Smoke Sensor, when there is an alert the GSM Module should be able to send as SMS.
I think there needs to a hardware component (that connects to the Smoke Sensor and GSM Module) where I can install program to send a SMS message when there is a signal from Smoke Sensor.
I would like to know on what this hardware component can be, what programming languages can be used and how the hardware component can interface with various devices.
Thanks!
An easy way to get a programmable GSM module is to get a cheap Android smart phone. For connectivity, you will need to build your own solutions unless the sensors already have some interface. You may want to look into Arduino microcontrollers for that. You can interface to the Android device using Wifi, Bluetooth, USB (newer devices support USB host mode, the cheap ones may not) or the audio jack.
Best solution depends on your resources and how many devices you need.
If you have big budget and hardware and software designers, then you could use naked GSM/UMTS module from some m2m module vendor like Cinterion or Telit. And own MCU for controlling it.
But if you need only few devices, then you could use some programmable GSM/UMTS terminal module, which contain all needed stuff: case, sim-holder, antenna connector, some GPIOs and modem.
For example Cinterion TC65T is this kind of terminal module. It can run a java (J2ME) program. Java programs of TC65T have access to GPIOs, which can be connected to smoke sensor for example. Java programs can also send SMS messages.
The Cinterion TC65T terminal was a 2G cellular device with a Java Virtual Machine to allow you to run J2ME 3.2 applications. Now days you could use a Terminal such as the Cinterion EHS6T-USB which is a 2G and 3G device with Java.
You might find it easier to get hold of a Cinterion "concept board" which has a Java enabled 2G and 3G cellular module on there along with an interface for Arduino style shields.
http://www.gemalto.com/m2m/development/cinterion-concept-board
It runs from a USB lead, plugged into you laptop or PC and need no other external power supply for development. I used one of these connected to a battery, and an Arduino relay board plugged in, to be able to switch our Christmas tree lights on and off via SMS.