Difference between revisions of "SW Service/IoTCore"
Linda.chou (talk | contribs) (Add contents) |
Linda.chou (talk | contribs) m (Edit the index number of the steps) |
||
(6 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 | + | 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 6: | Line 6: | ||
! Component !! Reqirement | ! Component !! Reqirement | ||
|- | |- | ||
− | | Processor || 400 MHz or faster | + | | align="center" | Processor || 400 MHz or faster |
(x86 requires PAE, NX and SSE2 support) | (x86 requires PAE, NX and SSE2 support) | ||
|- | |- | ||
− | | RAM || 256 MB or more for Headless mode | + | | align="center" | RAM || 256 MB or more for Headless mode |
512 MB or more for Headed mode | 512 MB or more for Headed mode | ||
(More RAM may be required depending on resolution and video implementation) | (More RAM may be required depending on resolution and video implementation) | ||
|- | |- | ||
− | | Storage || 2 GB or more | + | | align="center" | Storage || 2 GB or more |
|} | |} | ||
− | ==BIOS settings== | + | ==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 IoT Core, there are some operations to do in advance: | ||
+ | # Install the latest version of Windows 10. | ||
+ | # [https://msdn.microsoft.com/library/windows/apps/xaml/dn706236.aspx Enable developer mode] of your PC. | ||
+ | # Install the latest version of kits and tools that are needed; <br/>refer to the table below. | ||
+ | |||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! Task !! What kits and tools you will need | ||
+ | |- | ||
+ | | Flashing IoT Core image || | ||
+ | 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> | ||
+ | |- | ||
+ | | Controling IoT Core system || | ||
+ | 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> | ||
+ | |- | ||
+ | | Developing apps || | ||
+ | Windows SDK [[https://dev.windows.com/en-us/downloads/windows-10-sdk link]]<br/> | ||
+ | Visual Studio 2015 Update 1 [[https://www.microsoft.com/zh-tw/download/details.aspx?id=49989 link]]<br/> | ||
+ | IoT Core Project Templates [[https://visualstudiogallery.msdn.microsoft.com/55b357e1-a533-43ad-82a5-a88ac4b01dec link]] | ||
+ | |- | ||
+ | | Developing drivers || | ||
+ | Windows WDK [[https://msdn.microsoft.com/en-us/windows/hardware/hh852365.aspx link]]<br/> | ||
+ | Visual Studio 2015 Update 1 [[https://www.microsoft.com/zh-tw/download/details.aspx?id=49989 link]]<br/> | ||
+ | |- | ||
+ | | Developing IoT Core || | ||
+ | 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/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 | + | 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: | ||
− | < | + | <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 | ||
− | </ | + | </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== |
− | === | + | ===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 | + | 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 | + | ;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> App package </code> |
− | ::: '' | + | ::: ''cer'' files to <code> Certificate </code> |
− | ::: The files under the Dependencies folder, and other dependence to <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 | + | :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 | + | 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 74: | 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. | ||
− | |||
===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. | ||
+ | |||
==Sample code== | ==Sample code== | ||
− | ===UWP=== | + | Refer to Microsoft [http://ms-iot.github.io/content/en-US/win10/StartCoding.htm Docs and Samples] for more sample codes. |
+ | ===UWP app=== | ||
+ | * Hello, World! ([http://ms-iot.github.io/content/en-US/win10/samples/HelloWorld.htm C#]) | ||
+ | * IoT Core Default App ([http://ms-iot.github.io/content/en-US/win10/samples/IoTDefaultApp.htm C#]) | ||
+ | * IoT Browser Sample ([http://ms-iot.github.io/content/en-US/win10/samples/IoTBrowser.htm C#]) | ||
+ | * Digital Signage Sample ([http://ms-iot.github.io/content/en-US/win10/samples/DigitalSignage.htm C#]) | ||
+ | * AllJoyn Connectivity([http://ms-iot.github.io/content/en-US/win10/AllJoyn.htm C#/Javascript]) | ||
+ | |||
===Console app=== | ===Console app=== | ||
+ | * Memory Status ([http://ms-iot.github.io/content/en-US/win10/samples/ConsoleApp.htm C++]/[http://ms-iot.github.io/content/en-US/win10/samples/Nodejs.htm Node.js]) | ||
+ | |||
+ | ===Driver=== | ||
+ | * GPIO universal driver for MBM ([http://ms-iot.github.io/content/en-US/win10/samples/DriverLab.htm C++]) |
Latest revision as of 02: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.
Contents
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:
- Install the latest version of Windows 10.
- Enable developer mode of your PC.
- 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] |
Controling IoT Core system |
Windows 10 IoT Core for MinnowBoard Max [link] |
Developing apps |
Windows SDK [link] |
Developing drivers | |
Developing IoT Core |
Windows ADK [link] |
Flash image
You can flash the IoT Core image into harddisk, USB disk or SD card.
For how to do this,- Launch command prompt with Administrtor permission.
- Use diskpart to know which index number is the desired disk to flash image into. Beware that do not mistaken the index number!
- 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(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
- appx or appxbundle files to
- 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++)