Coder Social home page Coder Social logo

ble-shield's Introduction

BLE-Shield

The MIT License (MIT) Copyright (c) 2012-2015 Dr. Michael Kroll

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Content

This repository contains the eagle design files as well as the firmware source code and precompiled hex files. Moreover I added the Arduino Sketches from my blog to this repository.

Latest Version

The Latest version of the BLE-Shield is v3.0.0 as illustrated in the image below.

Services and Characteristics of the BLE-Shield v3.0.0

The new BLE-Shield supports some new services and haracteristics. The RX and TX characteristics are not combined into one indicating Data characteristic Moreover the Bluegiga OTA Service is supported enabling you to update the BLE-Shield over the air using e.g. the iOS App BLExplr.

BLE-Shield Service v3.0.0 (B4BDB998-8F4A-45F6-A407-6B48D79CFC2F)
Bluetooth Device Address Characteristic (B4BDB998-8F4B-45F6-A407-6B48D79CFC2F)

This characteristic is read only and used to retrieve the Bluetooth Device Address of the BLE113-M256k module.

Baudrate Characteristic (B4BDB998-8F4C-45F6-A407-6B48D79CFC2F)

This characteristic is read and write and used to set the BLE-Shields baudrate. The default baudrate is 9600 baud It is a one byte characteristic. The following baudrates are suported and can be set using the following byte set to the characteristic:

Baudrate Configuration Byte
9600 0x00
14400 0x01
19200 0x02
28800 0x03
38400 0x04
57600 0x05
115200 0x06
Enable Connect LED characteristic (B4BDB998-8F4D-45F6-A407-6B48D79CFC2F)

This characteristic is used to control the connection LED on the BLE-Shield. The LED is per default off. In order to change it's behavior write e.g. 0xff the the characteristic to make it lit on the next connection.

LED State Configuration Byte
OFF 0x00
ON 0xff
Data characteristic (B4BDB998-8F4E-45F6-A407-6B48D79CFC2F)

The new BLE-Shield v3.0.0 uses a Data characteristic to send and receive data. In order to support this the characteristic is a write and indicate characteristic. On BLExplr it is no longer necessary to switch between RX and TX characteristics. You can stay on the same screen to see data which is recevied while you are transmitting data.

Bluegiga OTA Service (1d14d6ee-fd63-4fa1-bfa4-8f47b42119f0)

This is the implementation of Bluegiga's OTA Service to update the firmware over the air.

Data characteristic (f7bf3564-fb6d-4e53-88a4-5e37e0326063)

Bluegiga OTA Control Characteristic

Data characteristic (984227f3-34fc-4045-a5d0-2c581f81a153)

Bluegiga OTA Data Characteristic

Links

Notes:

  • The Eagle design files are created using Eagle v5.11.0 - v7.1 depending on the version of the BLE-Shield. BLE-Shield v3.0.0 was designed with Eagle v7.1.0
  • The Firmware v1.0.0 and v1.0.1 for the BLE112 module on the BLE-Shield was created and compiled for the Bluegiga BLE112 SDK v1.0.3 Build 43
  • The Firmware v3.0.0 was developed using Bluegiga's BLE SDK v1.3.2 Build 122.
  • The Arduino Sketches have been tested with Arduino 1.0.1
  • the Arduino Sketched vor BLE-Shield v3.0.0 has been tested with Arduino v1.0.6 on OSX
  • The .NETMF Sample has been tested with Microsoft Visual C# Express 2010, .NET Micro Framework SDK v4.2 and the Netduino SDK v4.2.2.0 (32-bit) running on a NetDuino2

.NETMF support

The latest addition to this repository is .NETMF support. With a little help of Thomas Amberg @tamberg I added a sample project for the NetDuino2 board available at http://www.netduino.com which shows how use the BLE-Shield with this platform.

BLE-Shield iPhone App for the BLE-Shield v1.0.0

The iPhone App was part of the BLE-Shield Kickstarter campaign https://www.kickstarter.com/projects/rowdyrobot/arduino-ble-shield-connecting-the-ios-and-the-ardu and only supports the BLE-Shield v1.0.0 The BLE-Shield app provides access to the BLE-Shield Service and their characteristics. It's user interface is implemented like a chat application. The chart partners are the BLE-Shield and the iPhone, illustrated by small icons.

Once the BLE-Shield is connected, the application will automatically enable notifications on the RX characteristic. So whenever the BLE-Shield's 16 byte buffer is filled completely, the buffer will be notified to the iPhone.

The app was developed using Xcode 4.5.2, iOS6 SDK and tested on an iPhone4S and iPhone5 running iOS6.0.1

Screenshots

.

.

.

.

.

.

Used third party components

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.