Class library targeted to .NET Micro Framework for BLE support (both central and peripheral profiles).
BLE Class Library for BLE (aka Bluetooth Low Energy, aka Bluetooth 4.0) support targeted to .NET Micro Framework
- Covers both central and peripheral profiles
- Different APIs for several stack layers: from packets/frames manipulation up to GATT client/server interfaces
- Specialized drivers for specific use cases, such as iBeacon scanning
- Fully async/event driven APIs
- Peripheral profile GATT server driver allows definition of one or more GATT services, each containing one or more characteristics whose values can be read, written or notified through type-safe methods/events
- Central profile driver is able to establish several connections to BLE peripherals at the same time
- Full unit-test coverage both for packet/frame/message level APIs validation and for most high-level use cases
- Samples available for both central profile (showing how to interact with TI KeyFob, TI SensorTag, Polar T6/T7 heart rate sensor, etc) and peripheral profile (showing how to define a custom/standard GATT database, how to respond to GATT characteristic read/write
requests and how to raise value change notifications)
- Peripheral profile GATT server driver has been successfully tested with several GATT client apps, both for iOS and for BLE-enabled Android devices (at this time, best GATT clients are no doubt Nordic nRF Master Control Panel app, running on any Android
BLE-enabled device, and LightBlue, running on iOS BLE-enabled devices).
Although every BLE chip available on the market can be driven through HCI API, it turns out that a remarkable part of such API is vendor specific, so several library "flavors" should be developed in order to provide true BLE chip independence. Currently,
this library provides support only for TI CC254x BLE chips (with BLE Stack firmware version 1.4) driven through UART interface. In order to take advantage of this library you have to get one of compliant hardware boards/modules (plenty available on ebay, alibaba,
etc) and flash/program the "right" firmware image (there are different images for central and peripheral profiles and also for specific pinout configurations matching targeted hardware board/module, since TI CC254x chips have 2 UART ports each allowing
several alternate pinouts for same functions).
Despite I'll try to provide images target to any TI CC254x-based module/board, the easiest way to get your application running will be getting one of these modules I specifically designed for that purpose:
Please contact me (maiorfi at gmail dot com) if you are interested in using BLE library in a real-world/commercial project and/or review BLEforNETMF library in order to get a free "ready-to-run" BLE Gadgeteer module.
New showcase (Sept. 27, 2014) : https://www.youtube.com/watch?v=GTq5uSHH2UU