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.
Related
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.
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.
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 5 years ago.
Improve this question
I need to install a VM of an operating systems that is not based on Linux/Unix, Windows or Mac.
I tried to use NetBSD and FreeBSD, but both seem to be too simple, since I need to run applications and write something about the system's characteristics (like, if it's a time sharing, distributed or network system and run some commands on its terminal to see basic system properties).
Is there a good OS, not based in Linux (like BSD) that has a simple installation and it's easy to use (preferably with a "graphics package" and not just terminal, since I need to run applications)?
Feel free to ask for more details and thanks in advance for all the answers.
I would suggest looking into Haiku OS, a direct descendent of BeOS. It has many interesting features:
A micro-kernel implemented entirely in C++
Very elegant API design
A filesystem with a clear metadata structure
Plenty of opportunities for developers to collaborate and learn
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.
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
Not sure if this is a Stack Overflow question (if anyone knows a more apropiate section of StackExchange I'll be happy) but all questions on NFC Readers seamed to be here so, here I go:
I want to use NFC-Tags for a project and need a reader. While more and more phones are capable of reading such tags, any older phone is not. These phones do however usually have Bluetooth. So what I am looking for is a NFC Reader that can connect to a phone via Bluetooth.
I thought this would be a common device but to my surprise I did not find much. Readers usually connect via usb (as these do). There is at least one device that does use Bluetooth, the Blueberry UHF, but I could not find any retailer that sells it.
So, my question would be this: Is there a reason that there are almost no such devices or am I just looking at the wrong places?
I know I am late answering this questions, but maybe my response will help others who are searching for the same thing. What you are looking for is available from Serialio. There are multiple Bluetooth NFC readers available. The BlueBerry is re-branded with the Scanfob brand.
Here is a link to the updated Scanfob NFC page (the above link posted earlier no longer works): https://serialio.com/products/rfid/readerwriters/scanfob%C2%AE-nfc-bb2
There are multiple apps available that interface with the readers. This really depends on what you want to do with data from your reads.
Heres' an example of attendance managment solution using an NFC reader on Android:
https://serialio.com/products/mobile/software/MobileGrid/Android/use/TimeTrack/MG_TimeTrack_Android.php
There's a lot more. I just don't have the reputation to add more links yet.
The type of device you refer to is available here: https://serialio.com//store/index.php?cPath=89&osCsid=nep7av4i0431r39eqdl23oh2i7.
The reason you struggle to find a Bluetooth enabled device is because the peripheral market for NFC/RFID readers are targeted at the desktop embedded market where USB/RS232 cable options are cheaper/easier/stable offerings people are familiar with. The driver stack provided with a cabled device can also do a lot of the hard work in dealing with the incoming data.
There are however a few companies on the market producing RS232 to Bluetooth bridges which means you can try and port peripherals across to this using Bluetooth. Although you'll be able to pair the devices, you'll then need to write the software that can interrupt in the incoming payload over the Bluetooth serial port connection so it'll be a lot more work to get a platform like this up and running - especially with older devices. However it is possible if required.
What possible problem would a NFC reader that connects to a phone via bluetooth solve? The phone is not going to know anything about NFC, it does not have the required software or stack.
Sure, you could write that software (possibly) but to what end? The unit you linked to is what you are after, sure, but it's for a very specialised purpose (i.e. you have to write the s/w at the other end).
It's likely to be cheaper (in time and money) to just buy a phone that supports NFC rather then trying to upgrade a unit that does not.