This article reworks the previous few articles that use BT Serial and the connectivity so that USB virtual serial is used for communication. It covers in detail USB Serial connectivity between a UWP app and an Arduino devices as well as with a Windows 10 IoT-Core device (eg RPI).
Read the rest of entry »
This blog presents a Universal Windows App that connects to an embedded Bluetooth device over the Bluetooth Serial Profile using a genetic Bluetooth USB dongle. This app will run on both a Windows 10 IoT-Core devices such as a Raspberry PI2 and a Windows 10 Desktop. The blog covers in detail the key issues with pairing including where a passkey is required with a RPI2 as well as a Bluetooth primer. Update 1.2: One bug fix (was writing send text twice) and and one code improvement (menu returns DeviceInformation so no need to requery for it.)
There are currently 2 reserved GPIO pins on the RPI2 that ordinarily are SOC (I call native) serial. A future Tx and Rx but not at the moment. Serial is achieved on the RPI2 with Win 10 IoT Core via a USB-Serial device connected to a Host USB port on the RPI2. There are though limitations in that the widely used FTDI chipset is not supported by Microsoft, although we have a solution. An alternative is over Bluetooth but there is an issue there.
In my previous blog Windows 10 (including IoT) USB HID device identification was covered in detail. This included an app that takes the relevant IDs for an HID device and checks whether it is present on the system. Two of the IDs could be looked up via a menu as they come an HID Usage table. The menu data was loaded from a JSON (text) file and translated using Linq to a list that is the Xaml data source binding for the menu. This blog demonstrates the mechanism for loading JSON data from a text file into an Xaml ComboBox.
Human Interface Devices (HID) are supported in the “headful/headed” (viz. headless) version of Windows 10 IoT. Anything that takes users input for an app is an HID device, and can include devices such as screens that provide feedback to the user. Traditional HID devices are the mouse and keyboard, whereas gaming devices such as joystick, XBox controller and steering wheel are also HID devices. A barcode scanner or credit scanner are also be HID devices, A system with just a few push buttons to control it has those pushbuttons as a trivial HID. Technically the HID protocol was developed as a protocol for the USB-HID class such that devices that conform to that class do not need a specific driver.
Whilst the Raspberry Pi 2 has extensibility through GPIO, I2C, SPI and Single wire, the main interface for adding off-the-shelf peripherals is via USB. Unlike the desktop, there is though only a limited set of USB peripherals that can be used on the RPI2 running Windows 10 IoT in the first release. This series of articles looks at what is available and what the overarching issues are. The first Article is “Connected Devices”