This example shows how to create a transparent connection with other Bluetooth module, getting RSSI of the connection.
Required Materials
1 x Waspmote
1 x Battery
1 x Coin battery
1 x Bluetooth module Pro
1 x Bluetooth module antenna
1 x Expansion board (if socket 1 is used)
1 x SD card
Notes
- Do not confuse Bluetooth sleep mode and Waspmote sleep modes.
- Socket 1 will be used to connect Bluetooth module (using expansion board)
- Socket 0 can also be used, plugging module directly.
- It is recommended to set RTC time to your actual time.
- SD card must be inserted to allow saving discovered devices.
- Never unplug module while Waspmote is turned ON.
- Bluetooth module antenna should be connected.
- The battery must be connected in ANY example.
- This example can be executed in Waspmote v12 and Waspmote v15
Code
/* * --------------- [BT PRO_10] - Creating a transparent connection -------- * * Explanation: Create a transparent link with a remote Bluetooth module. * * Copyright (C) 2016 Libelium Comunicaciones Distribuidas S.L. * http://www.libelium.com * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Version: 1.1 * Design: David Gascón * Implementation: Javier Siscart */#include"WaspBT_Pro.h"// Variable to store Mac address of remote Bluetooth modulechar mac[18] ="00:07:80:4b:2c:8d";voidsetup(){USB.println(F("BT_PRO_10 Example"));// Turn On Bluetooth moduleBT_Pro.ON(SOCKET1);}voidloop(){// 1. Make an scan for specific device.USB.print(F("Scan for device:"));USB.println(mac);if (BT_Pro.scanDevice(mac,10,TX_POWER_6) ==1) {// 2. If found, make a transparent conenction.USB.println(F("Device found. Now connecting.."));if (BT_Pro.createConnection(mac) ==1) {// 3. Connection success.USB.println(F("Connected."));// 4. Stay connected 10 seconds.USB.println(F("Stay connected 10 seconds."));for (int i=0; i<10; i++) {USB.print(F(".")); delay(1000); }// 5. Get Link received signal strength indicator (RSSI)BT_Pro.getRSSI(); USB.print(F("Link RSSI: "));USB.println(BT_Pro.linkRSSI);// 6. End connecitonif (BT_Pro.removeConnection() ==1) {USB.println(F("Connection removed")); }else {USB.println(F("Not removed")); } }else {USB.println(F("Not conencted")); } }else {USB.println(F("Device not found")); }USB.println();}
Output
H#
BT_PRO_10 Example
Scan for device:00:07:80:4b:2c:8d
Device found. Now connecting..
Connected. Now sending data..
Data sent
Stay connected 10 seconds.
..........Link RSSI: -38
Connection removed