The Adafruit Bluefruit LE Connect app is an application made by Adafruit that makes it easy to use your phone or tablet to control Adafruit Bluetooth LE devices.
While the app is designed for Adafruit's Bluefruit LE series of boards, most of the functionality uses the standard 'Nordic UART' Bluetooth characteristics, which Espruino also uses for communication with the IDE.
Connect to your Bluetooth Espruino device and upload the following code:
var fruit = require("BluefruitLE").connect();
The fruit
variable will then emit the following events:
button
- A button on the controller is pressed or released: {button,state:1/0}
color
- A color from the color chooser: {r,g,b}
quaternion
- The angle of the phone: {x,y,z,w}
acc
- The phone's accelerometer in newtons: {x,y,z}
gyro
- The phone's gyro: {x,y,z}
mag
- The phone's magnetometer: {x,y,z}
location
- The phone's location from GPS: {lat,long,alt}
For instance if you want to turn an LED on or off based on button 1 in the 'Controller' section of the app, just do:
var fruit = require("BluefruitLE").connect();
fruit.on('button',function(e) {
if (e.button==1) LED.write(e.state);
});
The BluefruitLE
module will detect whether the IDE or Bluefruit app is
connecting and will only enable itself if the app is connecting, so you can
still connect as normal with the IDE.
Once you've uploaded your code:
Controller
Control Pad
, then in the control pad menu pressing the 1
button will control LED1
The Bluefruit app also supports UART mode, which will communicate directly
with Espruino's REPL without needing the BluefruitLE
module.
UART
LED.set()
and click SEND
So you can just enter JavaScript commands directly and they will be executed.
If you want to interpret the commands yourself you can do:
// when a device first connects, move the REPL out the way
NRF.on('connect', function(addr) {
LoopbackA.setConsole();
});
// Handle data from Bluetooth
Bluetooth.on('data', function(d) {
if (d=="\x03") {
// probably a Ctrl-C sent by the IDE - move the console back
Bluetooth.setConsole();
return;
}
// Handle the command here
});
Other Bluefruit LE modes could be used as most of them still rely on the UART,
but the BluefruitLE
module doesn't support them.
This page is auto-generated from GitHub. If you see any mistakes or have suggestions, please let us know.