BluetoothLE-Examples
This repository contains examples for Bluetooth LE in a variety of platforms. They were written for classes at ITP by Tom Igoe, Maria Paula Saba, with contributions by Don Coleman, Sandeep Mistry, Shawn Van Every, Jingwen Zhu and Yining Shi. They span a few technologies, some no longer available.
The examples are divided into the following categories:
ArduinoBLE Library
These examples work with the Arduino MKR1010, Nano 33 IoT and Nano 33 BLE boards, and presumably other boards using the same radios as those boards, using the ArduinoBLE Library. You'll need Arduino 1.8.13 or later. These all should pair well with Yining Shi and Jingwen Zhu's p5ble library for Web Bluetooth.
ArduinoBLEPeripheral Library
These examples work with the Nordic NRF8001 and NRF51822 radios, using Sandeep's Arduino BLE Peripheral library. These examples were written using RedBear Labs' BLE Nano boards and RFDuino's boards. There are also some examples for Punchthrough's LightBlue Bean modules. These may be deprecated, as they have not tested in a few years.
Web Bluetooth Examples
These examples were written the Web Bluetooth framework and p5.js. They're useful for seeing the core Web Bluetooth API, but the p5ble library makes it simpler to do. It can be used without the p5.js framework as well.
Node.js, Noble, Bleno
Written for node.js, using Sandeep Mistry's Bluetooth LE libraries for node.js, specifically noble, bleno, and various libraries he's made deriving from those. For Windows users, Don Coleman's done a nice video explaining how to set up Windows for Bluetooth LE and Node Development using noble.
Cordova
Cordova 4.0 or later. These were written using Don Coleman's BLE Central plugin for Cordova. We've tested the Cordova examples on iOS and Android, though they may be out of date since Cordova.
Bluetooth References
- Make: Bluetooth (book) by Alasdair Allan, Don Coleman, and Sandeep Mistry
- BLEDocs, a repository introducing Bluetooth LE
- LightBlue, a Bluetooth LE diagnostic app for MacOS by Punchthrough Design