React Native i bluetooth

De wikijoan
La revisió el 16:21, 6 juny 2021 per Joan (discussió | contribucions) (Es crea la pàgina amb «He provat dos codis. <pre> 1. Exemple que funciona però no he aconseguit veure els dispositius que tinc vinculats. https://github.com/innoveit/react-native-ble-manag...».)
(dif) ← Versió més antiga | Versió actual (dif) | Versió més nova → (dif)
Salta a la navegació Salta a la cerca

He provat dos codis.

1. Exemple que funciona però no he aconseguit veure els dispositius que tinc vinculats.

https://github.com/innoveit/react-native-ble-manager
https://www.npmjs.com/package/react-native-ble-manager

recordar: dues pestanyes de la consola
$ echo $PWD
/home/joan/react-native-ble-manager
en les dues pestanyes fem:
$ export PATH=/home/joan/Baixades/jdk-11.0.11+9/bin:$PATH

recordar que necessitem la versió 11 de java:
$ java --version
openjdk 11.0.11 2021-04-20
OpenJDK Runtime Environment AdoptOpenJDK-11.0.11+9 (build 11.0.11+9)
OpenJDK 64-Bit Server VM AdoptOpenJDK-11.0.11+9 (build 11.0.11+9, mixed mode)

git clone https://github.com/innoveit/react-native-ble-manager.git
$ cd react-native-ble-manager/
npm i --save react-native-ble-manager
npx react-native link


npm install --save react-native -> crea la carpeta node-modules/, que ja hi era. Si cal l'esborrem i es torna a crear de nou
npx react-native run-android

La meva versió de la Android API és la 29
console.log(Platform.Version);
ACCESS_FINE_LOCATION

Per tal de què funcioni l'aplicació, només he de fer en el fitxer index.js:

//import App from './App';
import App from "./example/App"; 

i funciona bé, però no hi ha manera de què trobi el dispositiu que tinc aparellat.

recordem el que he fet. He creat un projecte react-native de zero (amb init, i comprovar que funciona), i he copiat la carpeta exemple. I en el fitxer index.js he dit que apunti a l'exemple de bluetooth

Al final sí que troba els dispositius . La 'Mi Smart Band 4' sí que la troba, però els auriculars Aeropex (tot i que estan connectats) no hi ha manera que els trobi.
I una cosa important: la localització ha d'estar engegada (important)
I en canvi, en la configuració bluetooth del meu dispositiu, el Aeropex el veig com a connectat, i en canvi el Mi Band no m'apareix. És com una mica inestable.


========
https://blog.bam.tech/developer-news/make-your-first-iot-react-native-application-with-the-bluetooth-low-energy

npm i --save react-native-ble-plx


Finalment la solució:
I went to Settings > Apps and notifications > App permissions > Location Permissions and my app was turned off for some reason. Turning it on resolved the problem.
Aplicacions > Permisos > Permisos > Ubicació > Permet mentre s'utilitza l'aplicació

i si dic 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
vol dir que el GPS també ha d'estar arrencat.


creat per Joan Quintana Compte, juny 2021