Never one to back down from a challenge, I decided to try to get the MAC address from my Raspberry Pi running Windows 10 IoT Core. It was clear to me from doing some searching that Windows Universal Apps cannot get the MAC address, but all of that advice might just be wrong. Conventional wisdom is that we don’t need to know the MAC address because it is just a unique number, and we can get a UUID associated with our system – but that is to ignore the reasons why we might want the MAC address, which include but are not limited to: 1. We have a tradition of identifying systems using the MAC address of the on board Ethernet port, so changing it now would create unnecessary work. 2. We need to show the user the MAC address so they can set up their router with a static IP for the device. 3. Manufacturing needs a way to confirm the MAC address Th ...
Read the rest of entry »
A list of links to various Window 10 developer resources.
I had a problem in Windows 10, which meant I couldn’t blog for 4 days: After some updates and other changes, my Windows 10 Start Menu wouldn’t work. Not hardware as Window-L worked and if I login as another user on same machine, there were no issues. It must have been something in my user directory. This is what I tried and what worked. Includes how to remove and restore a user on Windows 10.
Recently I had a query with respect to getting the Sparkfun Bluetooth Mate by a person from China. I wondered if there are any shipping embargos. I enquired at Sparkfun and this is the reply:
There is currently no support for FTDI USB Serial with Windows 10 IoT although I suggested that the FTDI Surface 2 D2XX ARM driver might work. Jark has developed a Universal (UWP) app along with installation instructions using this idea. He has been able to make it work which I originally couldn’t do .. I now can! …Solved. FTDI now works on RPI2.
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.
This blog discusses a UWP (Universal) app that enumerates the drivers on a Windows 10 system (including IoT). Its like the Windows Device Manager app. Full source code is available.
As promised here is some more info on QP running on WEC2013.
I published all the source code including two of the classic state machine examples: The “blinky” example
and the “Dining Philosopher Problem” on the Codeplex site.
The following are the graphical models of the state machine constructed for the examples with the QM tool.
Blinky:
DPP:
After creating the model you can press the “generate code” button to get the C/C++ output files which can then be compiled with
Visual Studio.
See my BSP project site for WEC2013 demo image and SDK which are also needed if you plan on deploying to the BeagleBone Black target. (Note: the examples also run the PC and the VS solution targets both platforms.)
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”