react-native-bt-oe

Component implementation for Bluetooth Mesh SDK of [OE](www.oecore.com)

Usage no npm install needed!

<script type="module">
  import reactNativeBtOe from 'https://cdn.skypack.dev/react-native-bt-oe';
</script>

README

React Native Bluetooth OE

npm version npm downloads npm licence Platform

Component implementation for Bluetooth Mesh SDK of OE .

Install

For RN >= 0.60

npm i --save react-native-bt-oe

For RN < 0.60

npm i --save react-native-bt-oe@1.0.x

For RN >= 0.60 , just in android/settings.gradle

include ':csrmeshlibrary'
project(':csrmeshlibrary').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-bt-csr/android/libs')
include ':luckysdk'
project(':luckysdk').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-bt-oe/android/libs')

For RN < 0.60, need files edited below:

In android/app/build.gradle

dependencies {
    implementation project(':react-native-bt-oe')
}

In android/app/src/main/java/com/YourProject/MainApplication.java

import com.oe.luckysdk.framework.OeBtPackage;
...
    new OeBtPackage(),

In android/build.gradle

buildscript {
    dependencies {
        // maybe need it
        classpath 'org.javafxports:jfxmobile-plugin:1.0.10-SNAPSHOT'
    }

In android/settings.gradle

include ':csrmeshlibrary'
project(':csrmeshlibrary').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-bt-csr/android/libs')
include ':luckysdk'
project(':luckysdk').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-bt-oe/android/libs')
include ':react-native-bt-oe'
project(':react-native-bt-oe').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-bt-oe/android')

Usage

import React from 'react';
import { View } from 'react-native';
import meshModule from 'react-native-bt-oe';

export default class MeshModuleExample extends React.Component {
    constructor(props) {
        super(props);
        meshModule.passthroughMode = {
            oe: [
                10240,
                10337,
            ],
            sllc: [
                30848,
            ],
        };
    }

    componentDidMount() {
        meshModule.addListener('leScan', this.onLeScan);
        meshModule.doInit();
    }

    onLeScan = data => console.warn(data)

    render() {
        return (
            <View/>
        );
    }
}

Donate

To support my work, please consider donate.

  • ETH: 0xd02fa2738dcbba988904b5a9ef123f7a957dbb3e