GNU/Linux >> Belajar Linux >  >> Linux

Cara melakukan pemindaian hemat energi bluetooth melalui perpustakaan BlueZ C

Contoh pada jawaban lain tidak berfungsi untuk saya, berhenti di Memindai...

Tautan berikutnya berfungsi untuk bahasa c, tetapi mengalami kesalahan saat mentransmisikan byte yang memiliki informasi tentang sinyal rssi.https://github.com/glock45/intel-edison-playground/blob/master/scan.c

baris 121 ini:

printf("%s - RSSI %d\n", addr, (**char**)info->data[info->length]);

seharusnya:

printf("%s - RSSI %d\n", addr, (**int8_t**)info->data[info->length]);

Saya menemukan ini dengan melihat ke dalam bluez-version/monitor/*.c , di mana program btmon berada. Anda dapat melihat tipe data dan struct, hcidump.c sangat berguna dan packets.c , dan main.c juga, tetapi ada banyak hal yang perlu dipelajari tentang soket hci


Pemrograman BLE dengan BlueZ di Galileo atau Edison mirip dengan platform x86 lainnya.

Edison (dan Galileo) biasanya dilengkapi dengan pustaka BlueZ yang sudah diinstal sebelumnya. Anda hanya perlu menautkannya dengan kode C Anda, dan program serupa dengan platform x86 lainnya.

Untuk contoh kode C lengkap pemindaian bluetooth dengan BlueZ, lihat tautan ini.

Silakan lihat contoh ini untuk pemindaian BLE

Dan API HCI di sini.


Linux
  1. Cara Memasang Pustaka Ncurses Di Linux

  2. Bagaimana Cara Scp Melalui Mesin Menengah??

  3. Cara Melakukan Packet Sniffing Menggunakan Libpcap dengan Kode Contoh C

  1. Cara menginisialisasi perpustakaan bersama di Linux

  2. Cara memasukkan pustaka statis di makefile

  3. Perpustakaan Bluetooth untuk BlueZ (Windows)

  1. Bagaimana Membuat Iphone Sebagai Mouse Melalui Bluetooth?

  2. Bagaimana cara memeriksa apakah perpustakaan diinstal?

  3. Cara SSH langsung ke target via jumphost menggunakan SSH Config tanpa tambahan perintah ssh