The starting point for IoT-Core is as https://developer.microsoft.com/en-US/windows/iot You take the [Get Started Now] path. The information there cover this in detail so it will only be summarized here.
You can use the Dashboard, as part of option 2, to download the “latest” release image for you by choosing the target system and continuing. The image will be downloaded and setup on your target card. Alternatively you can target a previously downloaded image by selecting Other for the target and browsing to when it was installed. When you download an image you open the downloaded .so and run the .msi there. This places the file in teh CPU’s folder under:C:\Program Files (x86)\Microsoft IoT\FFU
If you want images later than the last release you can get them from https://www.microsoft.com/en-us/software-download/windowsiot
“You need to have a valid Microsoft Account and need to be signed up for the Windows Insider Program to be able to download the Insider Preview. Visit the downloads page here for more details.”
Current there are two on offering:
I used Build 14322 for the Raspberry PI 2/3. My target is a new RPI3.
The Dashboard (option 1) shows the IPAddress of the target. Whilst the RPI3 supports WiFi, you need to initially used a wired network. One option is use a network switch to which the development machine is connected, with a router connected to that providing DHCP and internet access. Another alternative is to use WiFi connectivity to the router from the dev machine (eg a laptop) and use the wired NIC on the dev machine as a direct connection to the target IoT-Core target. You implement Internet Connection Sharing (ICS) on the dev machine’s WiFI via its wired NIC. This also gets around the Dashboard connectivity WiFi issue previously mentioned.
Once the system is up and running, if its a RPI3 and you have at a later build, you can enable WiFI on the target via the web portal (which you access from the Dashboard).
Whilst the WiFI works with RPI 3 its not yet optimised and the wired network is best to use. It is instructional though to get it working. Alternatively there are USB WiFi dongles you can use: https://developer.microsoft.com/en-us/windows/iot/win10/SupportedInterfaces.htm#WiFi-Dongles
On the web portal Networking Tab you see that WiFi adapter is available:
Select a Wi-Fi network, enter its key and connect. In doing so, also select to create a profile:
Connected on Channel 6:
.. with a Profile for later reboots:
And after a [Refresh] the WiFi configuration is available:
PS: Given that there are now 2 NICs, ICS can be configured on the target device. This would be useful where the device is a concentrator for a a number of subordinate, less capable, IOT devices, such as sensors.
This is an app like Remote Desktop. It saves the need to have to lug around a separate monitor (in my case a 40 inch TV). Its probably best to run it over a wired NIC rather than WiFi at this stage. Also video hasn’t yet been optimised so, for example, a mouse cursor can be a bit slow.
It is also available on the Windows 10 phone and can pass back phone sensor information for use on the IoT-Core device.
The app can be downloaded from The Store: here.
You must enable the remote access on that Remote tab in the web portal:
You run the app on the dev machine and either enter the target's IpAddress or or choose it from the Discovered Devices:
And Wala:
Running the UWPIcons app:
The project: Universal Windows 10 SDK App Icons on Codeplex.
Bluetooth on the RPI3 has not yet been enabled. The reader is referred to my previous seminal blogs on using a generic USB Bluetooth dongle with IoT-Core, also on Hackster.IO:Win 10 IoT-Core- Bluetooth Universal Windows Serial App
https://www.hackster.io/DavidJones/generic-serial-bluetooth-with-win-10-iot-core-rpi2-fcc4ca
The Popup class is not supported in Windows 10 IoT-Core. It one of those missing APIs. I guess its something to do with not wanting IoT-Core to be used a general purpose computer with a rich UI. The MessageDialog class is therefore not available in this domain. The original UWPIcons app used MessageDialog instance to provide feedback to the user when the Camera, Flash and Selfie buttons are pressed (“XXX button was pressed.) The alternative is to use the Flyout class which works for all UWP contexts. These, in the example app, are completely coded in XAML as further properties of a button. Each button has its own Flyout that is actioned when the button is pressed.
The Flyout Base is added to Mainpage Grid:
<Grid Name="MainGrid" Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> <FlyoutBase.AttachedFlyout> <Flyout> <Grid Height="100" Width="100"/> </Flyout> </FlyoutBase.AttachedFlyout>
Note: This was added automatically when the Flyouts were added to the buttons.
All of the three buttons’ code were modified to include a Flyout eg:
<Button Grid.Row="0" Grid.Column="1" x:Name="CameraButton" Tapped="buttonCamera_Tapped" IsEnabled="True" HorizontalAlignment="Left" Margin="0"> <Viewbox MaxHeight="40" MaxWidth="40" > <SymbolIcon Symbol="Camera"/> </Viewbox> </Button>
Became
<Button Grid.Row="0" Grid.Column="1" x:Name="CameraButton" IsEnabled="True" HorizontalAlignment="Left" Margin="0"> <Viewbox MaxHeight="40" MaxWidth="40" > <SymbolIcon Symbol="Camera"/> </Viewbox> <Button.Flyout> <Flyout> <Flyout.FlyoutPresenterStyle> <Style TargetType="FlyoutPresenter"> <Setter Property="ScrollViewer.HorizontalScrollMode" Value="Disabled"/> <Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Disabled"/> <Setter Property="IsTabStop" Value="True"/> <Setter Property="TabNavigation" Value="Cycle"/> </Style> </Flyout.FlyoutPresenterStyle> <TextBlock TextWrapping="Wrap" Text="Camera Button Pressed."/> </Flyout> </Button.Flyout> </Button>
Universal Windows 10 SDK App Icons