Testing Microchip RN4871 BLE Module with Raspberry Pi 3 - bluetooth-lowenergy

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.

Related

Create the Pairing limitation on HC-05 sensor

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

QT Bluetooth Peripheral and Central role possible?

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.

Prevent Raspberry Pi 3 from automatically connecting to bluetooth le device

I have a TI SensorTag bluetooth le device. It is not paired with my raspberry Pi. I installed bluez, but I don't have any applications of my own running. The second I power on the device, something on the Pi instantly connects to it. If I disable bluetooth on the Pi, the device becomes available for connections.
This is a problem for me because my own application can't connect to the device because something on the Pi has aggressively connected to it.
I am not sure what the reason is but this worked for me. Try following steps.
Go to terminal and type bluetoothctl.
Then type disconnect <device_address>

Pairing with CSR BLE 4.0 dongle

I have a CSR4.0 BLE dongle I am using in Raspberry Pi. I am using Bluez stack in the Pi and can make the dongle up & running. Now, when I use some iOS app (LightBlue) to find out nearby BLE devices, most of the time it can't find the CSR device.
A few times the app can find the CSR device, but when I press CSR name in the app, the app tries to connect to the CSR dongle but fails. Then the dongle becomes invisible.
Any thought on why this happens? How can I reliably find the CSR dongle? And how can I connect to it? Do I need to write some BLE application code to run on the Raspberry Pi?
You'll need to advertise a BLE service on the Pi so LightBlue can discover it from your iPhone.
One way to do this is to create a service on the Raspberry Pi using Bleno. Try the battery-service example.

Programming GSM Module to send SMS

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.

Resources