GithubHelp home page GithubHelp logo

gbraad / microbit-web-bluetooth-js Goto Github PK

View Code? Open in Web Editor NEW

This project forked from antefact/microbit.js

0.0 2.0 0.0 6.21 MB

A javascript library to interact with BBC micro:bit using web bluetooth API

Home Page: https://antefact.github.io/microBit.js/

License: GNU Lesser General Public License v2.1

JavaScript 100.00%

microbit-web-bluetooth-js's Introduction

microBit.js

A javascript library to interact with BBC micro:bit using web bluetooth API. lars the iceberg

Usage

To use the library, download and upload this firmware on your BBC micro:bit board.

The firmware was produced by bittysoftware.

Keep in mind that web bluetooth API are still experimental and your OS and browser might not support the feature. Read more about this here.

This Library allows you to read and write the values of all the BLEcharacteristic exposed by the microBit board using simplified API's.

For more info about all micro:bit ble services please refer to the official documentation.

The example folder provided contains several examples for interacting with the device.

Constructor

  • microBit=new uBit()

Properties

  • microBit.connected

Functions

  • microBit.searchDevice()

    Search for ble devices in range.

  • microBit.setButtonACallback(callbackFunction)

    Register a callback function to be invoked when Button A is pressed.

    example:

    microBit.setButtonACallback(function(){
      console.log("buttonA pressed");
    });
    
  • microBit.setButtonBCallback(callbackFunction)

    Register a callback function to be invoked when Button B is pressed.

    example:

    microBit.setButtonBCallback(function(){
      console.log("buttonB pressed");
    });
    
  • microBit.onConnect(callbackFunction)

    Register a callback function invoked when the microBit connects

    example:

    microBit.onConnect(function(){
      console.log("connected");
    });
    
  • microBit.onDisconnect(callbackFunction)

    Register a callback function invoked when the microBit disconnects

    example:

    microBit.onDisconnect(function(){
      console.log("disconnected");
    });
    
  • microBit.onBleNotify(callbackFunction)

    Register a callback function invoked every time the value of characteristic changes and it is notified by the device.

    example:

    microBit.onBleNotify(function(){
      document.getElementById("buttonA").innerHTML=microBit.getButtonA();
    }
    
  • microBit.writeMatrixIcon(icon)

    Updates the led matrix on the microbit. The icon passed to the function must be 5x5 matrix. 0=led off; 1=led on;

    example:

    var ledMatrix = [
      ['0', '0', '0', '0', '0'],
      ['0', '1', '0', '1', '0'],
      ['0', '0', '0', '0', '0'],
      ['1', '0', '0', '0', '1'],
      ['0', '1', '1', '1', '0']
    ]
    
    microBit.writeMatrixIcon(ledMatrix);
    
    
  • microBit.writeMatrixText(text)

    Updates the led matrix of the microbit with a scrolling text.

    example:

    microBit.writeMatrixText("ciao microBit")
    
  • writeMatrixTextSpeed(speed)

    set the speed of the scrolling text on the matrix example:

    microBit.writeMatrixTextSpeed(10)
    
  • microBit.getAccelerometer()

    Returns the value of the accelerometer as a object.

    example:

    acceleration=microBit.getAccelerometer();
    acc_x=acceleration.x;
    acc_y=acceleration.y;
    acc_z=acceleration.z;
    
    
  • microBit.getTemperature()

    Returns the value of the temperature measured on the processor in celsius.

    example:

    temperature=microBit.getTemperature();
    
    
  • microBit.getBearing()

    Returns the value of magnetometer bearing from 0 to 360. 0= pointing nord

    example:

    bearing=microBit.getBearing();
    
    

Examples

Check the examples folder for working examples.

Basic example

Connect your microbit to a webpage, visualize the data and change the animations on the led matrix.

Try it here

web ble demo

basic p5.js example

Learn how to interact with the microbit from a p5.js sketch, rotate a cube on the canva reading the accelerometer.

Try it here

Lars the iceberg

Use the microBit to control Lars the iceberg. Don't let it melt! Developed using p5.js and p5.play library.

Try it here

microbit-web-bluetooth-js's People

Contributors

fishandchipsing avatar lorenzoromagnoli avatar

Watchers

 avatar  avatar

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.