React Native BLE Manager

React Native BLE Manager เป็นไลบรารีสำหรับ React Native ที่ให้ความสามารถในการสื่อสารกับอุปกรณ์ Bluetooth Low Energy (BLE) ได้ ไลบรารีนี้ทำให้แอปพลิเคชันที่พัฒนาด้วย React Native สามารถเรียกใช้งานฟังก์ชันต่างๆ เกี่ยวกับ BLE ได้ เช่น การสแกนหาอุปกรณ์ BLE ใกล้เคียง, การเชื่อมต่อกับอุปกรณ์, การอ่านและเขียนข้อมูลจาก Characteristics และ Services, และการจัดการกับการแจ้งเตือนจากอุปกรณ์ BLE


คุณสมบัติหลักของ React Native BLE Manager ประกอบด้วย

- การสแกนหาอุปกรณ์: สามารถค้นหาอุปกรณ์ BLE ที่อยู่ในระยะใกล้ได้

- การเชื่อมต่อและการตัดการเชื่อมต่อ: สนับสนุนการเชื่อมต่อหรือตัดการเชื่อมต่อกับอุปกรณ์ BLE

- การอ่านและเขียนข้อมูล: ให้ความสามารถในการอ่านและเขียนข้อมูลไปยัง Characteristics และ Services ของอุปกรณ์ BLE

- การแจ้งเตือน: สามารถตั้งค่าหรือยกเลิกการแจ้งเตือน (Notifications) จาก Characteristics ของอุปกรณ์ BLE เพื่อรับข้อมูลแบบ real-time


ไลบรารีนี้เป็นเครื่องมือที่มีความสำคัญสำหรับนักพัฒนาที่ต้องการสร้างแอปพลิเคชันที่ต้องใช้งานเทคโนโลยี Bluetooth Low Energy บนแพลตฟอร์ม React Native, เช่น แอปพลิเคชันสำหรับการติดตามสุขภาพ, อุปกรณ์สวมใส่ (wearables), หรืออุปกรณ์ IoT ต่างๆ ไลบรารีนี้ช่วยให้การพัฒนาดังกล่าวเป็นไปได้อย่างง่ายดายและมีประสิทธิภาพ


อ้างอิงจาก React Native BLE Manager

การใช้งาน

การใช้งาน React Native BLE Manager สามารถทำได้โดยการติดตั้งและเรียกใช้งานในโปรเจกต์ React Native


ต่อไปนี้คือขั้นตอนพื้นฐานและตัวอย่างการใช้งาน



1. ติดตั้งไลบรารี

ก่อนอื่น, คุณต้องติดตั้งไลบรารีในโปรเจกต์ของคุณโดยใช้ npm หรือ yarn:

npm install react-native-ble-manager 

หรือ

yarn add react-native-ble-manager 


2. การเชื่อมต่อกับอุปกรณ์ BLE

ในการเริ่มใช้งาน, คุณจะต้อง import ไลบรารีและเริ่มการสแกนหาอุปกรณ์ BLE ที่อยู่ในระยะสัญญาณ ต่อไปนี้คือตัวอย่างโค้ดสำหรับการเริ่มต้นการสแกนและการเชื่อมต่อ:

import React, { useEffect } from 'react';
import { View, Text, Button } from 'react-native';
import BleManager from 'react-native-ble-manager';


const BleExample = () => {
  useEffect(() => {
    BleManager.start({ showAlert: false });


    // ตรวจสอบสิทธิ์ (สำหรับ Android 6.0 ขึ้นไป)
    BleManager.checkState();
  }, []);


  const startScan = () => {
    BleManager.scan([], 5, true).then(() => {
      console.log('Scanning...');
      // การสแกนจะหยุดอัตโนมัติหลังจาก 5 วินาที
    });
  };


  // ตัวอย่างการเชื่อมต่อกับอุปกรณ์ BLE โดยใช้ ID หรือ MAC Address
  const connectToDevice = (deviceId) => {
    BleManager.connect(deviceId)
      .then(() => {
        console.log('Connected to ' + deviceId);
        // ทำการเชื่อมต่อกับอุปกรณ์แล้ว คุณสามารถดำเนินการต่อไปได้ เช่น อ่านข้อมูล
      })
      .catch((error) => {
        console.error('Connection error', error);
      });
  };


  return (
    <View>
      <Text>BLE Example</Text>
      <Button title="Start Scanning" onPress={startScan} />
    </View>
  );
};


export default BleExample;


ในตัวอย่างนี้, เมื่อผู้ใช้กดปุ่ม "Start Scanning", แอปจะเริ่มสแกนหาอุปกรณ์ BLE ที่อยู่ในระยะ และคุณสามารถเชื่อมต่อกับอุปกรณ์ได้โดยใช้ฟังก์ชัน connectToDevice พร้อมกับ ID หรือ MAC Address ของอุปกรณ์นั้นๆ



เพิ่มเติม

> ก่อนเริ่มการสแกนหาอุปกรณ์, คุณอาจต้องขอสิทธิ์การเข้าถึงตำแหน่ง (Location Permission) บน Android และตรวจสอบการเปิดใช้งาน Bluetooth บนอุปกรณ์

> การใช้งานไลบรารีนี้อาจต้องมีการตั้งค่าเพิ่มเติมบน iOS และ Android เพื่อให้การทำงานเป็นไปอย่างราบรื่น, เช่นการปรับแต่งไฟล์ Info.plist สำหรับ iOS และ AndroidManifest.xml สำหรับ Android


ลองดูจากลิ้งนี้เพิ่มเติมได้นะครับ สำหรับใครต้องการหาข้อมูลเพิ่มเติม

https://blog.logrocket.com/using-react-native-ble-manager-mobile-app/


0
22