Difference between revisions of "SW Service/IoTCore"

From ESS-WIKI
Jump to: navigation, search
(Add contents)
m (Edit the index number of the steps)
 
(5 intermediate revisions by the same user not shown)
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.
+
# [https://msdn.microsoft.com/library/windows/apps/xaml/dn706236.aspx Enable developer mode] of your PC.
# [https://msdn.microsoft.com/library/windows/apps/xaml/dn706236.aspx Enable developer mode]
+
# Install  the latest version of kits and tools that are needed; <br/>refer to the table below.
  
 
{| class="wikitable"
 
{| class="wikitable"
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>
 
|-
 
|-
 
| Developing apps ||  
 
| Developing apps ||  
Windows SDK [[https://msdn.microsoft.com/en-US/windows/hardware/dn913721(v=vs.8.5).aspx link]]<br/>
+
Windows SDK [[https://dev.windows.com/en-us/downloads/windows-10-sdk 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://www.microsoft.com/zh-tw/download/details.aspx?id=49989 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 ||  
Windows WDK [[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/hh852365.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://www.microsoft.com/zh-tw/download/details.aspx?id=49989 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/hh852365.aspx link]]<br/>
 
+
Windows 10 IoT Core OS Packages [[https://msdn.microsoft.com/en-us/subscriptions/downloads/default.aspx#searchTerm=Windows%2010%20IoT%20Core%2C%20Version%201511%20(x86%2C%20ARM)%20-%20DVD%20 link]]
 
|}
 
|}
  
 
==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,
+
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.]]
 
# Launch command prompt with Administrtor permission.
 
# Launch command prompt with Administrtor permission.
 
# Use diskpart to know which index number is the desired disk to flash image into. <span style="color:IndianRed">Beware that do not mistaken the index number!</span>
 
# Use diskpart to know which index number is the desired disk to flash image into. <span style="color:IndianRed">Beware that do not mistaken the index number!</span>
 
# Execute command:
 
# Execute command:
<pre>
+
<code>
 
"C:\Program Files (x86)\Microsoft IoT\dism\dism.exe" /Apply-Image /ImageFile:"{PATH_OF_IMAGE_FILE}" /ApplyDrive:\\.\PHYSICALDRIVE{INDEX_NUMBER_OF_DISK} /SkipPlatformCheck
 
"C:\Program Files (x86)\Microsoft IoT\dism\dism.exe" /Apply-Image /ImageFile:"{PATH_OF_IMAGE_FILE}" /ApplyDrive:\\.\PHYSICALDRIVE{INDEX_NUMBER_OF_DISK} /SkipPlatformCheck
</pre>
+
</code>
 +
 
 
<nowiki>* </nowiki>Note that <span style="background:Gainsboro">{PATH_OF_IMAGE_FILE}</span> is the path of the image file (*.ffu), and <span style="background:Gainsboro">{INDEX_NUMBER_OF_DISK}</span> is the index number of the disk that get in step 2.
 
<nowiki>* </nowiki>Note that <span style="background:Gainsboro">{PATH_OF_IMAGE_FILE}</span> is the path of the image file (*.ffu), and <span style="background:Gainsboro">{INDEX_NUMBER_OF_DISK}</span> is the index number of the disk that get in step 2.
  
==App developement==
+
==App/Driver developement==
===UWP app===
+
===App===
===Console app===
+
:;UWP app sample
 +
::[http://ms-iot.github.io/content/en-US/win10/samples/HelloWorld.htm Hello World(C#)]
 +
::[[SW_Service/IoTCore#Sample_code|Other]]
 +
 
 +
:;Console app sample
 +
::[http://ms-iot.github.io/content/en-US/win10/samples/ConsoleApp.htm Memory Status(C++)]
 +
 
 +
:;Deploying an App via Visual Studio
 +
:* [http://ms-iot.github.io/content/en-US/win10/AppDeployment.htm#csharp C# App Deployment]
 +
:* [http://ms-iot.github.io/content/en-US/win10/AppDeployment.htm#cpp C++ App Deployment]
 +
:* [http://ms-iot.github.io/content/en-US/win10/AppDeployment.htm#python Python App Deployment]
 +
 
 +
===Driver===
 +
:;Driver sample
 +
::[http://ms-iot.github.io/content/en-US/win10/samples/DriverLab.htm GPIO universal driver for MBM(C++)]
  
 
==App installation==
 
==App installation==
There are 2 ways to do this, your device must have net accessibility.
+
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
 +
 
:2. Switch to the '''Apps''' page
 
:2. Switch to the '''Apps''' page
 
:3. Select the following files to deploy
 
:3. Select the following files to deploy
::: ''appx'' or ''appxbundle'' files to <code> AppX </code>
+
::: ''appx'' or ''appxbundle'' files to <code> App package </code>
 
::: ''cer'' files to <code> Certificate </code>
 
::: ''cer'' files to <code> Certificate </code>
::: The files under the Dependencies folder, and other dependence to <code> Dependencies </code>
+
::: The files under the Dependencies folder, and other dependence to <code> Dependency </code>
:4. The message at 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 106: Line 122:
  
 
==System Management==
 
==System Management==
 +
This section introduces the ways to remotely connect and configure a device running Windows IoT Core.
 +
===PowerShell Connection===
 +
Refer to [http://ms-iot.github.io/content/en-US/win10/samples/PowerShell.htm Micorsoft's website] for the details.
  
===PowerShell Connection===
 
 
===SSH Connection===
 
===SSH Connection===
 +
You can use a SSH client, like PuTTy, to control and configure Windows IoT Core. Refer to [http://ms-iot.github.io/content/en-US/win10/samples/SSH.htm Micorsoft's website] for the details.
 +
 
===Web management===
 
===Web management===
 +
Microsoft provides a Device Portal that allows users to do basic configuration and device management. Refer to [http://ms-iot.github.io/content/en-US/win10/tools/DevicePortal.htm 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 [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#])

Latest revision as of 03:56, 15 March 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. Enable developer mode of your PC.
  3. Install the latest version of kits and tools that are needed;
    refer to the table below.
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]
Windows 10 IoT Core OS Packages [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!
  3. 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++)