Difference between revisions of "SW Service/IoTCore"

From ESS-WIKI
Jump to: navigation, search
(Add contents)
(Fix grammer problem)
Line 1: Line 1:
Windows 10 IoT Core is a version of Windows 10 that is optimized for smaller devices with or without a display. For more detail information about IoTCore, refer to [http://ms-iot.github.io/content/en-US/IoTCore.htm Learn about Windows 10 IoT Core]
+
Windows 10 IoT Core is a version of Windows 10 that is optimized for smaller devices with or without a display. For more detail information about IoT Core, refer to [http://ms-iot.github.io/content/en-US/IoTCore.htm Learn about Windows 10 IoT Core].
  
 
==Hardware Reqirement==
 
==Hardware Reqirement==
Line 18: Line 18:
  
 
==BIOS settings for Advantech devices==
 
==BIOS settings for Advantech devices==
 +
To be able to boot into Windows IoT Core on Advantech devices, make sure the settings of the BIOS is correct. Following settings are neccesary for booting up.
 
{|
 
{|
 
|-
 
|-
Line 34: Line 35:
  
 
==Development Environment==
 
==Development Environment==
To start the developement for IoTCore, there are some kits and packages to install:
+
To start the developement for IoT Core, there are some operations to do in advance:
# The latest version of Windows 10.
+
# Install the latest version of Windows 10.
# The latest version of kits and tools that are needed; refer to the table below.
+
# Install  the latest version of kits and tools that are needed; refer to the table below.
 
# [https://msdn.microsoft.com/library/windows/apps/xaml/dn706236.aspx Enable developer mode]
 
# [https://msdn.microsoft.com/library/windows/apps/xaml/dn706236.aspx Enable developer mode]
  
Line 43: Line 44:
 
! Task !! What kits and tools you will need
 
! Task !! What kits and tools you will need
 
|-
 
|-
| Flashing IoTCore image ||  
+
| Flashing IoT Core image ||  
 
Windows 10 IoT Core for MinnowBoard Max [[http://ms-iot.github.io/content/en-US/Downloads.htm link]]<br/>
 
Windows 10 IoT Core for MinnowBoard Max [[http://ms-iot.github.io/content/en-US/Downloads.htm link]]<br/>
 
<span style="color:Silver">(This is a package that include flashing and control tools)</span>
 
<span style="color:Silver">(This is a package that include flashing and control tools)</span>
 
|-
 
|-
| Controling IoTCore system ||  
+
| Controling IoT Core system ||  
 
Windows 10 IoT Core for MinnowBoard Max [[http://ms-iot.github.io/content/en-US/Downloads.htm link]]<br/>
 
Windows 10 IoT Core for MinnowBoard Max [[http://ms-iot.github.io/content/en-US/Downloads.htm link]]<br/>
 
<span style="color:Silver">(This is a package that include flashing and control tools)</span>
 
<span style="color:Silver">(This is a package that include flashing and control tools)</span>
Line 54: Line 55:
 
Windows SDK [[https://msdn.microsoft.com/en-US/windows/hardware/dn913721(v=vs.8.5).aspx link]]<br/>
 
Windows SDK [[https://msdn.microsoft.com/en-US/windows/hardware/dn913721(v=vs.8.5).aspx link]]<br/>
 
Visual Studio 2015 Update 1 [[https://msdn.microsoft.com/en-US/windows/hardware/dn913721(v=vs.8.5).aspx link]]<br/>
 
Visual Studio 2015 Update 1 [[https://msdn.microsoft.com/en-US/windows/hardware/dn913721(v=vs.8.5).aspx link]]<br/>
IoTCore Project Templates [[https://visualstudiogallery.msdn.microsoft.com/55b357e1-a533-43ad-82a5-a88ac4b01dec link]]
+
IoT Core Project Templates [[https://visualstudiogallery.msdn.microsoft.com/55b357e1-a533-43ad-82a5-a88ac4b01dec link]]
 
|-
 
|-
 
| Developing drivers ||  
 
| Developing drivers ||  
Line 60: Line 61:
 
Visual Studio 2015 Update 1 [[https://msdn.microsoft.com/en-US/windows/hardware/dn913721(v=vs.8.5).aspx link]]<br/>
 
Visual Studio 2015 Update 1 [[https://msdn.microsoft.com/en-US/windows/hardware/dn913721(v=vs.8.5).aspx link]]<br/>
 
|-
 
|-
| Developing IoTCore ||  
+
| Developing IoT Core ||  
 
Windows ADK [[https://msdn.microsoft.com/en-US/windows/hardware/dn913721(v=vs.8.5).aspx link]]<br/>
 
Windows ADK [[https://msdn.microsoft.com/en-US/windows/hardware/dn913721(v=vs.8.5).aspx link]]<br/>
 
Windows WDK [[https://msdn.microsoft.com/en-US/windows/hardware/dn913721(v=vs.8.5).aspx link]]
 
Windows WDK [[https://msdn.microsoft.com/en-US/windows/hardware/dn913721(v=vs.8.5).aspx link]]
Line 67: Line 68:
  
 
==Flash image==
 
==Flash image==
You can flash the IoTCore image into harddisk, USB disk or SD card.
+
You can flash the IoT Core image into harddisk, USB disk or SD card.
  
 
For how to do this,[[File:IoTCore diskpart.png|thumb|upright=1|alt=Use diskpart to get the index number of the desired disk.|Use diskpart to get the index number of the desired disk.]]
 
For how to do this,[[File:IoTCore diskpart.png|thumb|upright=1|alt=Use diskpart to get the index number of the desired disk.|Use diskpart to get the index number of the desired disk.]]
Line 99: Line 100:
  
 
==App installation==
 
==App installation==
There are 2 ways to do this, your device must have net accessibility.[[File:IoTCore_AppInstallationviaDevicePotal.png|thumb|upright=1.1|alt=Method(b): Use web management tool to install an app.|Method(b): Use web management tool to install an app.]]
+
There are 2 ways to do this, your device must have accessibility of network.[[File:IoTCore_AppInstallationviaDevicePotal.png|thumb|upright=1.1|alt=Method(b): Use web management tool to install an app.|Method(b): Use web management tool to install an app.]]
  
;Method(a) :Use script to install an app, app will be installed at next boot up: [http://ms-iot.github.io/content/en-US/win10/samples/AppInstall.htm see here for detail]
+
;Method(a) :Use scripts to run installation process for an app. The scripts will be run at next boot up, i.e. the app will be installed at next boot up: [http://ms-iot.github.io/content/en-US/win10/samples/AppInstall.htm see here for detail]
  
;Method(b) :Use web management tool to install an app, app will be installed right away:
+
;Method(b) :Use web management tool to install an app, the app will be installed right away:
 
:1. Connect to [http://ms-iot.github.io/content/en-US/win10/tools/DevicePortal.htm Windows Device Portal] through your browser
 
:1. Connect to [http://ms-iot.github.io/content/en-US/win10/tools/DevicePortal.htm Windows Device Portal] through your browser
  
Line 111: Line 112:
 
::: ''cer'' files to <code> Certificate </code>
 
::: ''cer'' files to <code> Certificate </code>
 
::: The files under the Dependencies folder, and other dependence to <code> Dependency </code>
 
::: The files under the Dependencies folder, and other dependence to <code> Dependency </code>
:4. The message at the bottom of the page will show the installing status; when it shows "Done", you should be able to find it in the list of installed app.
+
:4. The message at the bottom of the page will show the installing status; when it shows "Done", you should be able to find the app in the list of installed app.
 
==Headed/Headless mode==
 
==Headed/Headless mode==
Windows IoT Core can be configured for either headed or headless mode. For more information, and how to switch the mode, refer to [http://ms-iot.github.io/content/en-US/win10/HeadlessMode.htm Headed/Headless mode].
+
Windows IoT Core can be configured for either headed or headless mode. For more information, and how to switch between the modes, refer to [http://ms-iot.github.io/content/en-US/win10/HeadlessMode.htm Headed/Headless mode].
  
 
;headed mode
 
;headed mode
Line 122: Line 123:
  
 
==System Management==
 
==System Management==
This section introduce the ways to remotely connect and configure a device running Windows IoT Core.  
+
This section introduces the ways to remotely connect and configure a device running Windows IoT Core.  
 
===PowerShell Connection===
 
===PowerShell Connection===
 
Refer to [http://ms-iot.github.io/content/en-US/win10/samples/PowerShell.htm Micorsoft's website] for the details.
 
Refer to [http://ms-iot.github.io/content/en-US/win10/samples/PowerShell.htm Micorsoft's website] for the details.
Line 133: Line 134:
  
 
==File Access==
 
==File Access==
To transfer/access files between IoTCore devices and your local machine, using Windows file sharing. The file sharing server on the Windows IoT Core device starts automatically on boot by default. To connect to it, you will need the IP address of your device. Refer to [http://ms-iot.github.io/content/en-US/win10/samples/SMB.htm Microsoft's website] to more details.
+
To transfer/access files between IoT Core devices and your local machine, using Windows file sharing technique. The file sharing server on the Windows IoT Core device starts automatically on boot by default. To connect to it, you will need the IP address of your device. Refer to [http://ms-iot.github.io/content/en-US/win10/samples/SMB.htm Microsoft's website] to more details.
 
==Common command line utils==
 
==Common command line utils==
 
Refer to Microsoft [http://ms-iot.github.io/content/en-US/win10/tools/CommandLineUtils.htm Windows 10 IoT Core Command Line Utils] for more information.
 
Refer to Microsoft [http://ms-iot.github.io/content/en-US/win10/tools/CommandLineUtils.htm Windows 10 IoT Core Command Line Utils] for more information.
  
 
==Sample code==
 
==Sample code==
Refer to Microsoft [http://ms-iot.github.io/content/en-US/win10/StartCoding.htm Docs and Samples] for more sample code.
+
Refer to Microsoft [http://ms-iot.github.io/content/en-US/win10/StartCoding.htm Docs and Samples] for more sample codes.
 
===UWP app===
 
===UWP app===
 
* Hello, World! ([http://ms-iot.github.io/content/en-US/win10/samples/HelloWorld.htm C#])
 
* Hello, World! ([http://ms-iot.github.io/content/en-US/win10/samples/HelloWorld.htm C#])

Revision as of 11:00, 5 February 2016

Windows 10 IoT Core is a version of Windows 10 that is optimized for smaller devices with or without a display. For more detail information about IoT Core, refer to Learn about Windows 10 IoT Core.

Hardware Reqirement

Component Reqirement
Processor 400 MHz or faster

(x86 requires PAE, NX and SSE2 support)

RAM 256 MB or more for Headless mode

512 MB or more for Headed mode

(More RAM may be required depending on resolution and video implementation)

Storage 2 GB or more

BIOS settings for Advantech devices

To be able to boot into Windows IoT Core on Advantech devices, make sure the settings of the BIOS is correct. Following settings are neccesary for booting up.

Advanced
Boot option filter [UEFI and Legacy]
Video [UEFI]
Boot
Boot option #1 [Windows Boot Manager]
Boot option #2 [Your disk]

Development Environment

To start the developement for IoT Core, there are some operations to do in advance:

  1. Install the latest version of Windows 10.
  2. Install the latest version of kits and tools that are needed; refer to the table below.
  3. Enable developer mode
Task What kits and tools you will need
Flashing IoT Core image

Windows 10 IoT Core for MinnowBoard Max [link]
(This is a package that include flashing and control tools)

Controling IoT Core system

Windows 10 IoT Core for MinnowBoard Max [link]
(This is a package that include flashing and control tools)

Developing apps

Windows SDK [link]
Visual Studio 2015 Update 1 [link]
IoT Core Project Templates [link]

Developing drivers

Windows WDK [link]
Visual Studio 2015 Update 1 [link]

Developing IoT Core

Windows ADK [link]
Windows WDK [link]

Flash image

You can flash the IoT Core image into harddisk, USB disk or SD card.

For how to do this,
Use diskpart to get the index number of the desired disk.
Use diskpart to get the index number of the desired disk.
  1. Launch command prompt with Administrtor permission.
  2. Use diskpart to know which index number is the desired disk to flash image into. Beware that do not mistaken the index number!
  1. Execute command:

"C:\Program Files (x86)\Microsoft IoT\dism\dism.exe" /Apply-Image /ImageFile:"{PATH_OF_IMAGE_FILE}" /ApplyDrive:\\.\PHYSICALDRIVE{INDEX_NUMBER_OF_DISK} /SkipPlatformCheck

* Note that {PATH_OF_IMAGE_FILE} is the path of the image file (*.ffu), and {INDEX_NUMBER_OF_DISK} is the index number of the disk that get in step 2.

App/Driver developement

App

UWP app sample
Hello World(C#)
Other
Console app sample
Memory Status(C++)
Deploying an App via Visual Studio

Driver

Driver sample
GPIO universal driver for MBM(C++)

App installation

There are 2 ways to do this, your device must have accessibility of network.
Method(b): Use web management tool to install an app.
Method(b): Use web management tool to install an app.
Method(a) 
Use scripts to run installation process for an app. The scripts will be run at next boot up, i.e. the app will be installed at next boot up: see here for detail
Method(b) 
Use web management tool to install an app, the app will be installed right away:
1. Connect to Windows Device Portal through your browser
2. Switch to the Apps page
3. Select the following files to deploy
appx or appxbundle files to App package
cer files to Certificate
The files under the Dependencies folder, and other dependence to Dependency
4. The message at the bottom of the page will show the installing status; when it shows "Done", you should be able to find the app in the list of installed app.

Headed/Headless mode

Windows IoT Core can be configured for either headed or headless mode. For more information, and how to switch between the modes, refer to Headed/Headless mode.

headed mode
UI stack is available for fully interactive apps.
headless mode
The UI stack is disabled and apps are not interactive. This reduces the amount of system resources used. Devices that don’t need UI functionality can be set to headless mode.

System Management

This section introduces the ways to remotely connect and configure a device running Windows IoT Core.

PowerShell Connection

Refer to Micorsoft's website for the details.

SSH Connection

You can use a SSH client, like PuTTy, to control and configure Windows IoT Core. Refer to Micorsoft's website for the details.

Web management

Microsoft provides a Device Portal that allows users to do basic configuration and device management. Refer to Micorsoft's website for the details.

File Access

To transfer/access files between IoT Core devices and your local machine, using Windows file sharing technique. The file sharing server on the Windows IoT Core device starts automatically on boot by default. To connect to it, you will need the IP address of your device. Refer to Microsoft's website to more details.

Common command line utils

Refer to Microsoft Windows 10 IoT Core Command Line Utils for more information.

Sample code

Refer to Microsoft Docs and Samples for more sample codes.

UWP app

  • Hello, World! (C#)
  • IoT Core Default App (C#)
  • IoT Browser Sample (C#)
  • Digital Signage Sample (C#)
  • AllJoyn Connectivity(C#/Javascript)

Console app

Driver

  • GPIO universal driver for MBM (C++)