Încerc să compilez biblioteca TinyB de la Intel. Am gasit acest script:
https://gist.github.com/StevenRudenko/b6c032c3c1fdfb5c641ff95883e6cd02
https://github.com/intel-iot-devkit/tinyb
https://mcuoneclipse.com/2016/12/19/tutorial-ble-pairing-the-raspberry-pi-3-model-b-with-hexiwear/
# Actualizați BlueZ
sudo apt-get update
sudo apt-get install git build-essential autoconf cmake libtool libglib2.0 libdbus-1-dev libudev-dev libical-dev libreadline-dev
wget http://www.kernel.org/pub/linux/bluetooth/bluez-5.39.tar.xz
tar xvf bluez-5.39.tar.xz
cd bluez-5.39/
aclocal
autoheader
automake --force-missing --add-missing
autoconf
./configure --prefix=/usr --mandir=/usr/share/man --sysconfdir=/etc --localstatedir=/var --enable-experimental --with-systemdsystemunitdir=/lib/systemd/system -- with-systemduserunitdir=/usr/lib/systemd
./configure --prefix=/usr \
--mandir=/usr/share/man \
--sysconfdir=/etc \
--localstatedir=/var \
--enable-experimental \
--enable-maintainer-mode
face
sudo make install
sudo cp attrib/gatttool /usr/local/bin
sudo sed -i '/^ExecStart.*bluetoothd\s*$/ s/$/ --experimental/' /lib/systemd/system/bluetooth.service
sudo ln -s /lib/firmware /etc/firmware
sudo systemctl activa bluetooth
sudo systemctl daemon-reload
sudo apt-mark hold bluez
sudo nano /lib/systemd/system/bluetooth.service
ExecStart=/usr/local/libexec/bluetooth/bluetoothd --experimental
sudo systemctl daemon-reload
sudo systemctl reporniți bluetooth
bluetoothctl
aprinde
agent activ
scanează
scanare dezactivată
info 00:34:40:0A:00:4E
pereche 00:34:40:0A:00:4E
dispozitive
list-attributes 00:34:40:0A:00:4E
citit
atribute-info
select-attribute /org/bluez/hci0/dev_00_32_40_08_00_12/service002e/char002f
scrie 0x3 0x4 0x10 0x20 0x30 0x40
deconectați 00:32:40:08:00:12
părăsi
sudo apt-get install cmake build-essentials verificați-instalați libglib2.0-dev doxygen
clona git https://github.com/intel-iot-devkit/tinyb.git
mkdir build
CD build
cmake -DBUILDJAVA=ON ..
face
sudo checkinstall install
// pentru a elimina dpkg -r build
java -Djava.library.path=/usr/lib/jni -cp /usr/share/java/RXTXcomm.jar -jar your.jar
dar asta este un pic irelevant. M-ați putea ajuta să repar asta?
In primul rand:
Acest script dorește să compileze bluez-5.39 cu indicatorul -enable-experimental. Este chiar necesar acum? Pot să descarc doar cea mai nouă versiune a bibliotecii? Dacă nu, atunci când compilați BlueZ, există multe avertismente care completează compilarea cu steag-ul -Werror. De asemenea, există o problemă cu funcția âSIOCGSTAMPâ și nu știu ce funcție ar trebui să folosesc aici: âSIOCGSTAMP_NEWâ sau âSIOCGSTAMP_OLDâ?
Al doilea: sudo systemctl activa bluetooth
nu merge, datorita Fișierul unității /etc/systemd/system/bluetooth.service este mascat.
Ar trebui să-l demasc?
În al treilea rând: ce face exact această comandă:
sudo nano /lib/systemd/system/bluetooth.service
ExecStart=/usr/local/libexec/bluetooth/bluetoothd --experimental
si de ce am nevoie de el?
Nu am trecut mai departe prin scenariu, pentru că partea a treia mi se pare lipsită de sens. De ce se duplica ExecStart=/usr/local/libexec/bluetooth/bluetoothd --experimental la începutul fișierului? sper in ajutorul tau.
Poate că un depozit are deja o bibliotecă tinyB compilată care va funcționa?