Bluetooth LE GUI Tool for Linux [closed] - linux

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
I'm currently developing on a Bluetooth LE embedded project.
For discovering my BLE peripherals, I currently use some apps for Android 4.3 (e.g. Nordic nRF Toolbox and nRF Master Control Panel) and iOS (LightBlue).
On my desktop PC (running kubuntu 12.04), I currently use hcitool and gatttool from commandline e.g. for viewing and changing the characteristics values of my BLE peripherals.
Did anybody know, if there was a gui tool available for linux, with similar features like the Nordic nRF Android Apps or like LightBlue for iOS?
I want to use the linux GUI tool for:
explore my advertising BLE peripherals
connect them
discover their provided services & characteristics
view & change the characteristics values

Linux currently does not have any GUI based BLE tools. The LightBlue referred to in user1990's answer is actually an old outdated program that does not implement BLE.
Anything short of command-line BlueZ using gatttool, or hcitool to do what you want, you will not find.
This site has a good tutorial for device, characteristic, and service discovery.

LightBlue is avaiable on linux and mac os X. LightBlue

I realize this is an old thread, but maybe it can be helpful to someone anyway.
The company I work for has just released a prerelease version of a new Bluetooth Smart tool. It's available for Linux, OSX and Windows. Note that it requires a development kit from Nordic Semiconductor to operate.

Related

Is there a Raspberry Pi hardware emulator that supports custom ISOs? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 1 year ago.
Improve this question
I have a custom OS built for running on various RPi hardwares (RPi 3, RPi 4, RPi CM3), but developing on real hardware is tedious, expensive and limiting.
Are there any Raspberry Pi hardware emulators out there that will allow me to load my custom ISO? Ideally it would mimic all the hardware outputs and inputs such as IO with PWM, Wifi, graphics. Obviously testing will still be carried out on actual hardware.
I've had a look on my favourite search engine but all the results I've found seem to be focused on retro-games development, or limited to a single OS (i.e. Raspbian).
Thanks!
For most of the complex hardware (i.e. CPU, GPU, RAM, network cards, disks and so on), qemu has you covered, there also seem to be a --machine raspi3b flag that's supposed to be close to a Raspberry Pi 3B but I can't find any information about what is included exactly.
If you want to emulate some other raspi, you can use qemu-system-aarch64 --machine help to list all 64bits ARM devices that can be emulated by qemu (note that as of writing this, qemu has no support for the raspi4).
If the emulation offered by qemu doesn't include some hardware you want, a lot of things can be emulated using dummy kernel modules such as the GPIO mockup driver as explained here and the mac80211_hwsim module. It's probably not as close to the hardware as you'd like though, if you prefer a more hands on approach you could create qemu "hardware" to be a perfect replica of the pi.

Where can I find core Bluetooth specifications? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 1 year ago.
Improve this question
I am trying to leverage bluetooth (GATT, GAP, Security Manager, Pairing, Broadcast etc...) using BlueZ.
To decode BlueZ however I need access to full bluetooth core/protocol specifications. As an individual developer, where can I get hold of these specifications?
The membership to Bluetooth SIG requires me to be part of an incorporated company and I am asked to send them filing details etc...
Is there a way to get hold of Bluetooth Core Specs for individuals and hobby developers?
Importantly does BlueZ fully implement all Bluetooth Core specifications?
The Bluetooth specification should be free to download for everyone. You can find the latest specification at the following link:-
https://www.bluetooth.com/specifications/bluetooth-core-specification/
Make sure to click at the "5.1" link.
BlueZ is fully compliant with the Bluetooth specification, however, it does not support all the available features in the specification.
I hope this helps.

HFP/HSP profile in linux [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 2 years ago.
Improve this question
I have Ubuntu 16.04 and already installed BlueZ 5.37, PulseAudio 10.0, and ofono 1.20 (clone from github).
And I need to use phone like modem for transmitting my phone calls to computer. I paired my telephone with PC, made device trust and connect (all actions are successfully). I think problem with ofono, because I can play music (which use the A2DP) but if i want use hends free or headset profile - I have no sound on PC.
In pacmd (PulseAudio console tool) list-cards I see my bluetooth device, but Headset Audio Gateway HFP/HSP is not avalible. Also I tested it on different devices and computers.
Thank you in advice.
I've solved in this way:
Install ofono
In /etc/pulse/default.pa find the line load-module module-bluetooth-discover and change it to load-module module-bluetooth-discover headset=ofono.
If the user pulse is not a member of group bluetooth, then add it: sudo useradd -g bluetooth pulse
VERY IMPORTANT: add this to /etc/dbus-1/system.d/ofono.conf before </busconfig>:
<policy user="pulse">
<allow send_destination="org.ofono"/>
</policy>
See: https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/Bluetooth/
The good news: Now in pavucontrol I can see that the profile changes automatically from A2DP to HSP / HFP if I make a phone call, and then it magically returns to A2DP!
The bad news: it works only one time per booting (and checking if ofonod is running), then I have to reboot my Debian system.
My Solution:
I just found my solution in Fedora 26, using Plantronics Legend and Pluggable Bluetooth USB, after a lot of searching.
I am going back through my history, and updating threads with my solution where I can. This worked for me, direct from Plugable (which is the USB module I am using).
See this post: plugable-usb-bluetooth-adapter-solving-hfphsp-profile-issues-on-linux
Command Summary per Above Link:
wget https://s3.amazonaws.com/plugable/bin/fw-0a5c_21e8.hcd
sudo mkdir /lib/firmware/brcm
sudo mv fw-0a5c_21e8.hcd /lib/firmware/brcm/BCM20702A0-0a5c-21e8.hcd
sudo cp /lib/firmware/brcm/BCM20702A0-0a5c-21e8.hcd /lib/firmware/brcm/BCM20702A1-0a5c-21e8.hcd
Then reboot.
HSP/HFP Profile not available for Bluetooth headset in Fedora 20, was available in Fedora 19 change the device and test it again
SOLVING HFP/HSP AND A2DP PROFILE ISSUES ON LINUX

Arduino Uno Bluetooth Communication with Mac [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 8 years ago.
Improve this question
I'm trying to create an Arduino bluetooth remote that can connect with my Mac (and potentially other devices) and basically transmit a few distinct signals back and forth at the push of a button (or Arduino pushbutton). I want to create a remote to control a web app I've built, basically a controller for a game.
I have an Arduino Uno Rev3 starter kit, an RN-42 bluetooth module & a 1sheeld from Google Play, and a Macbook Pro.
Could anyone suggest good guides or online tutorials that can help me set up the communication from Arduino to my computer? Or does anyone have experience with this and would be able to give me some tips?
It's relatively straightforward.
bind the arduino bluetooth to your mac bluetooth.
use Serial.* print commands. Normally these go to your computer via USB, but if you have the Bluetooth connected it will go over the Bluetooth connection.
the default baud rate of most bluetooth devices is 9600 baud.
So, develop your code the same way as if you were connected via Serial over USB, and it will work without change when you attach the Bluetooth.
Note: Typically USB and Bluetooth will use the same pins, so you can only use one or the other, not both at the same time.

Linux HID APIS similar to Windows HID APIs [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 4 years ago.
Improve this question
I am looking for corresponding Linux HID APIs similar to what is mentioned on Microsoft this page :
http://msdn.microsoft.com/en-us/library/windows/hardware/jj126202(v=vs.85).aspx
Basically functions corresponding to DataMovement :
Data Movement
The following list identifies HID API that an application can use to move data back and forth between the app and a selected device.
HidD_GetInputReport
HidD_SetFeature
HidD_SetOutputReport
ReadFile
WriteFile
I have two directions currently to :
-> Install the wine framework and try use the Windows Application(utilizing HID Apis)
-> Second to Use the Corresponding Linux HID Apis(dark area for me)
Thanks,
A cross-platform HID API library is HIDAPI (under the hood, it uses the ReadFile/WriteFile stuff for Windows and libusb for Linux). I have never used it so I cannot vouch for it.
If all you need is SetReport and GetReport, then it may be easier to operate on hidraw devices in Linux. I use this technique for ltunify. You can discover which /dev/hidrawX device belongs to a device by querying sysfs (example).
Once you have a device (say, /dev/hidraw0), then you can open it for reading and writing and use the POSIX read() and write() functions. You may hit a permissions issue, but that is solvable by changing the permissions of the device, either manually (setfacl -m u:$USER:rw /dev/hidraw0) or with a udev rule such as 42-logitech-unify-permissions.rules.
Since you need to support both Windows and Linux platforms, I think that you are better off with using the HIDAPI library mentioned before.

Resources