ฉันกำลังพยายามรวบรวมไลบรารี TinyB จาก Intel ฉันพบสคริปต์นี้:
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/
#อัพเดทBlueZ
sudo apt-get อัปเดต
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
น้ำมันดิน xvf bluez-5.39.tar.xz
ซีดี bluez-5.39/
สำเนียง
ส่วนหัวอัตโนมัติ
automake -- บังคับขาด -- เพิ่มขาดหายไป
คอนเฟิร์มอัตโนมัติ
./configure --prefix=/usr --mandir=/usr/share/man --sysconfdir=/etc --localstatedir=/var --enable-experimental --with-systemdsystemunitdir=/lib/systemd/system -- กับ systemduserunitdir=/usr/lib/systemd
./configure --prefix=/usr \
--mandir=/usr/share/man \
--sysconfdir=/ฯลฯ \
--localstatedir=/var \
--เปิดใช้งานการทดลอง \
--enable-maintainer-mode
ทำ
sudo ทำการติดตั้ง
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 เปิดใช้งานบลูทูธ
sudo systemctl daemon โหลดซ้ำ
sudo apt-mark ถือ bluez
sudo nano /lib/systemd/system/bluetooth.service
ExecStart=/usr/local/libexec/bluetooth/bluetoothd --experimental
sudo systemctl daemon โหลดซ้ำ
sudo systemctl รีสตาร์ทบลูทู ธ
บลูทูธctl
เปิดเครื่อง
ตัวแทนบน
สแกน
สแกนออก
ข้อมูล 00:34:40:0A:00:4E
คู่ 00:34:40:0A:00:4E
อุปกรณ์
รายการแอตทริบิวต์ 00:34:40:0A:00:4E
อ่าน
ข้อมูลแอตทริบิวต์
เลือกแอตทริบิวต์ /org/bluez/hci0/dev_00_32_40_08_00_12/service002e/char002f
เขียน 0x3 0x4 0x10 0x20 0x30 0x40
ตัดการเชื่อมต่อ 00:32:40:08:00:12
ล้มเลิก
sudo apt-get install cmake build-essentials ตรวจสอบการติดตั้ง libglib2.0-dev doxygen
โคลนคอมไพล์ https://github.com/intel-iot-devkit/tinyb.git
สร้าง mkdir
สร้างซีดี
cmake -DBUILDJAVA=เปิด ..
ทำ
sudo ตรวจสอบการติดตั้ง
// เพื่อลบ dpkg -r build
java -Djava.library.path=/usr/lib/jni -cp /usr/share/java/RXTXcomm.jar -jar your.jar
แต่สิ่งนี้ไม่เกี่ยวข้องเลย คุณช่วยฉันแก้ไขปัญหานี้ได้ไหม
ประการแรก:
สคริปต์นี้ต้องการคอมไพล์ bluez-5.39 ด้วยแฟล็ก -enable-experimental ตอนนี้จำเป็นจริงหรือ? ฉันสามารถดาวน์โหลดไลบรารีรุ่นล่าสุดได้หรือไม่ หากไม่เป็นเช่นนั้น เมื่อคอมไพล์ BlueZ จะมีคำเตือนมากมายที่ทำให้คอมไพล์เสร็จสมบูรณ์ด้วยแฟล็ก -Werror นอกจากนี้ มีปัญหากับฟังก์ชัน âSIOCGSTAMPâ และฉันไม่รู้ว่าฉันควรใช้ฟังก์ชันใดที่นี่: âSIOCGSTAMP_NEWâ หรือ âSIOCGSTAMP_OLDâ
ที่สอง: sudo systemctl เปิดใช้งานบลูทูธ
ไม่ทำงานเนื่องจาก ไฟล์หน่วย /etc/systemd/system/bluetooth.service ถูกปิดบัง
ฉันควรเปิดโปงหรือไม่
ประการที่สาม: คำสั่งนี้ทำอะไรกันแน่:
sudo nano /lib/systemd/system/bluetooth.service
ExecStart=/usr/local/libexec/bluetooth/bluetoothd --experimental
และทำไมฉันถึงต้องการมัน?
ฉันไม่ได้อ่านสคริปต์เพิ่มเติมเพราะส่วนที่สามดูเหมือนไม่มีความหมายสำหรับฉัน เหตุใดจึงทำซ้ำ ExecStart=/usr/local/libexec/bluetooth/bluetoothd --experimental ที่จุดเริ่มต้นของไฟล์ ฉันหวังว่าจะได้รับความช่วยเหลือจากคุณ
พื้นที่เก็บข้อมูลบางแห่งอาจมีไลบรารี่ tinyB ที่คอมไพล์แล้วจะใช้งานได้หรือไม่