RFduino - Sending and Receiving Data Via BLE
by yhtomitsy in Circuits > Arduino
33036 Views, 38 Favorites, 0 Comments
RFduino - Sending and Receiving Data Via BLE
Nowadays it is easy for one to integrate bluetooth capability to his or her project. This is thanks to Bluetooth Low energy boards such as the RFduino. I got an RFduino board recently and thought of sharing a simple tutorial on sending and receiving data between the RFduino BLE board and my phone.
Requirements
-RFD22102 BLE Module
-RFD22121 USB shield
-BLE enabled Phone
-Android BLE serial app
Hardware Connection
Mount the RFduino BLE module onto the USB shield then connect the USB shield to one of the USB ports of your computer
Code
You need to download the RFduino library and install it as shown in this link
Upload the following codes to perform the sending function and receiving function.
Sending Data From the RFduino
#include "RFduinoBLE.h"
void setup() {
RFduinoBLE.advertisementData = "CouDow"; // shouldnt be more than 10 characters long RFduinoBLE.deviceName = "Timer"; // name of your RFduino. Will appear when other BLE enabled devices search for it RFduinoBLE.begin(); // begin
}
void loop() {
RFduinoBLE.send(1); // send number 1 to connected BLE device
delay(3000); // delay for 3 seconds
}
Receiving Data With the RFduino
#include "RFduinoBLE.h"
void setup() {
Serial.begin(9600);
RFduinoBLE.advertisementData = "CouDow"; // shouldnt be more than 10 characters long RFduinoBLE.deviceName = "Timer"; // name of your RFduino. Will appear when other BLE enabled devices search for it
RFduinoBLE.begin(); // begin
}
void loop() {
}
void RFduinoBLE_onReceive(char *data, int len) {
// display the first recieved byte
Serial.println(data[0]);
}
Explanation
When you upload the first code, the RFduino will send the number 1 infinitely every 3 seconds. You will be able to view this with your phone using a BLE serial app. You can find an example app that you can use in this link.
When you upload the second code, the RFduino will display the first byte of any incoming data on the arduino serial monitor. For instance, if your send 34 from the app, 3 will be displayed on the serial monitor.
There are many things that you can do with the RFduino. I will be posting a full tutorial of a project i am working on with it. Meanwhile, you can check out the full tutorial of this article here.