1. 引言

近期,微软跟进物联网的速度也在不断加速,除了微软手环,。NET MicroFramework,还有一个叫做Windows IoT的项目。该项目早在今年4月份的Build大会上就提出来了,7月份收集初期的开发者和用户。目前虽然还是处于Developer Program的状态,但是已经在软件和硬件上拿得出手了。关于Windows IoT的资源,主要可以参考下面几个链接:

1. Windows Developer Program for IoT 主页:http://dev.windows.com/en-us/featured/Windows-Developer-Program-for-IoT

2. GitHub主页:http://ms-iot.github.io/content/WhatsNew.htm

3. Building Apps for Windows主页:http://blogs.windows.com/buildingapps/

目前,Windows IoT运行在英特尔Galileo 平台上。该平台已经发布了第一代和第二代开发板。第二代开发主板是基于英特尔Quark SoC X1000 应用处理器的微控制器板,它也是一个 32 位英特尔奔腾品牌的片上系统 (SoC)。它是第一款基于英特尔架构且设计为与用于 Arduino Uno R3的防护实现硬件和软件引脚兼容的板。此平台支持 Microsoft Windows、Mac OS 和 Linux 主机操作系统,因此让英特尔架构开发简单易行。它还简化了 Arduino 集成开发环境 (IDE) 软件。

关于Galileo平台,可以参考一下资源:

1. Galileo 第二代开发板主页:

http://www.intel.cn/content/www/cn/zh/embedded/products/galileo/galileo-overview.html?_ga=1.201686033.105208985.1416798644

2. Galileo开发板主页:http://www.intel.cn/content/www/cn/zh/education/higher-education/galileo-development-board.html

2. 开发环境搭建

2.1 设置PC环境(参考链接为Link)

2.1.1

使用LiveID登陆Windows Developer Program for IoT,链接地址为Microsoft Connect.

2.1.2

然后下载Visual Studio插件:WindowsDeveloperProgramforIOT.msi,该插件位于Microsoft Connect上,必须登陆以后才能下载。然后安装。

安装结束以后,增加了一个Galileo Watcher软件,如下图:

2.1.3

启用Telnet客户端:具体位于控制面板->程序->启用或关闭Windows功能,选中Telnet客户端,如下图。

然后重启PC。

2.2 设置Intel Galileo

2.2.1 创建一个包含Windows IoT系统的MicroSD卡

硬件上,需要一个容量为16G或者更大的MicroSD卡,同时需要有USB接口的读卡器,方便和PC连接。

在Connect上下载apply-BootMedia.cmd文件,以及对应Galileo板子对应的系统镜像,要注意的是,一代伽利略和二代伽利略的镜像是不一样的,按需下载:

然后就是把操作系统镜像写入SD了。首先,把microSD卡格式化为FAT32格式,使用管理管方式打开命令行,

在命令行中进入apply-BootMedia.cmd文件所在的路径,然后输入命令:

cd /d %USERPROFILE%\Downloads apply-bootmedia.cmd -destination {YourSDCardDrive} -image {.wimFile downloaded above} -hostname mygalileo -password admin

以我的为例,具体命令如下:

F:\Software\Develop\WindowsIoT>apply-bootmedia.cmd -destination I: -image 9600.16384.x86fre.winblue_rtm_iotbuild.140925-1000_galileo_v2.wim -hostname mygalileo-password admin

如果是在Windows 7下操作,还需要做如下链接的操作:Link

然后就开始写操作系统镜像,整个过程大约需要15分钟左右,需要耐心等待。命令行截屏信息如下:

注意,一定要等到“正在应用映像”结束以后才算是成功。

2.2.2 启动Galileo的Windows

首先,将SD卡插入到板子上,然后,给板子上电,同时,将PC的网口和板子的网口通过网线连接。如下图所示。

上电以后,板子的电源指示灯亮起。SD卡对应的LED灯闪烁。启动系统大概需要2分钟的时间。启动完毕以后,SD卡对应的LED灯就熄灭了。

然后,可以看到Galileo Watcher软件上出现板子的信息:

2.2.3 与Galileo进行TelNet通信

我们需要使用Telnet客户端与Galileo进行通信,从而判断其连接是否正常,同时,需要通过Telnet客户端来关闭Galileo。

在“运行”中,输入“telnet mygalileo”,如下图所示。

在弹出的验证窗口中输入如下用户名和密码信息:

Username: Administrator

Password: admin

当出现如上所示的信息以后,才表示PC与Galileo正确连接,下面就可以使用Visual Studio进行调试了,如果没有做这一步,那么是无法进行Visual Studio调试的。

2.2.4 关闭Galileo

在上述的telnet mygalileo命令行中,输入以下指令:shutdown /s /t 0。

当Galileo关闭以后,其microSD卡的指示灯会停止闪烁。注意,每次关闭电源之前最好使用指令关闭Galileo。因为不然的话,下一次启动时间会比较长,需要经过Check Disk的过程,和PC上一样。

3. Hello Blinky工程

打开Visual Studio,新建项目,选择File -> New Project and Select Templates -> Visual C++ -> Windows for IoT -> Galileo Wiring app。如下图所示。

其Main.cpp文件代码如下:

// Main.cpp : Defines the entry point for the console application.

//

#include "stdafx.h"

#include "arduino.h"

int _tmain(int argc, _TCHAR* argv[])

{

return RunArduinoSketch();

}

int led = 13; // This is the pin the LED is attached to.

void setup()

{

// TODO: Add your code here

pinMode(led, OUTPUT); // Configure the pin for OUTPUT so you can turn on the LED.

}

// the loop routine runs over and over again forever:

void loop()

{

// TODO: Add your code here

digitalWrite(led, LOW); // turn the LED off by making the voltage LOW

Log(L"LED OFF\n");

delay(1000); // wait for a second

digitalWrite(led, HIGH); // turn the LED on by making the voltage HIGH

Log(L"LED ON\n");

delay(1000); // wait for a second

}

其代码结构如下:

4. 测试硬件准备

需要一个面包板,一个电阻,一个LED灯,两根导线,连接方式如下图所示:

5. 调试结果

编译以后,点击部署,在弹出的对话框中,输入

Username: mygalileo\Administrator

Password: admin

如下图所示:

部署成功以后,可以看到LED灯闪烁。如下图所示。

参考链接:

1. Windows Developer Program for IoT 主页:http://dev.windows.com/en-us/featured/Windows-Developer-Program-for-IoT

2. GitHub主页:http://ms-iot.github.io/content/WhatsNew.htm

3. Building Apps for Windows主页:http://blogs.windows.com/buildingapps/

4. Galileo 第二代开发板主页:

http://www.intel.cn/content/www/cn/zh/embedded/products/galileo/galileo-overview.html?_ga=1.201686033.105208985.1416798644

5. Galileo开发板主页:http://www.intel.cn/content/www/cn/zh/education/higher-education/galileo-development-board.html

Wintel物联网平台-Windows IoT新手入门指南的更多相关文章

  1. NLP新手入门指南|北大-TANGENT

    开源的学习资源:<NLP 新手入门指南>,项目作者为北京大学 TANGENT 实验室成员. 该指南主要提供了 NLP 学习入门引导.常见任务的开发实现.各大技术教程与文献的相关推荐等内容, ...

  2. Flume NG Getting Started(Flume NG 新手入门指南)

    Flume NG Getting Started(Flume NG 新手入门指南)翻译 新手入门 Flume NG是什么? 有什么改变? 获得Flume NG 从源码构建 配置 flume-ng全局选 ...

  3. OKR新手入门指南 (第一部分)

    什么是OKR? OKR(目标和关键结果)是Google和其他公司使用的目标系统.这是一个简单的工具,围绕可衡量的目标进行调整和互动. OKR:Google的目标设定方法 与传统的规划方法有何不同? O ...

  4. 《Windows IoT 应用开发指南》

    物物互联的时代已经到来,智能家居.智慧校园.智慧交通.可穿戴.无人机.全息投影,各种各样的新名词.黑科技层出不穷.当我们为五年前能够通过手机控制家电而欣喜若狂的时候,可曾憧憬过当前使用增强现实设备完成 ...

  5. 物联网操作系统HelloX开发人员入门指南

    HelloX开发人员入门指南 HelloX是聚焦于物联网领域的操作系统开发项目,能够通过百度搜索"HelloX".获取具体信息. 当前开发团队正在进一步招募中,欢迎您的了解和添加. ...

  6. yii2实战教程之新手入门指南-简单博客管理系统

    作者:白狼 出处:http://www.manks.top/document/easy_blog_manage_system.html 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文 ...

  7. Windows IOT 开发入门(准备工作)

    终于抽出空来了,将最近研究的东西记录下来,物联网,万物皆可联网.然后可以做到智能家居,智能生活,智能城市....一大堆.吹牛的就不说了. 在实际应用中都是一个个小的传感器在收集数据,同时把数据直接或者 ...

  8. Vue的理解:Vue.js新手入门指南----转

    最近在逛各大网站,论坛,以及像SegmentFault等编程问答社区,发现Vue.js异常火爆,重复性的提问和内容也很多,楼主自己也趁着这个大前端的热潮,着手学习了一段时间的Vue.js,目前用它正在 ...

  9. Windows IOT 开发入门(硬件入门)

    接上文,在准备工作完成之后.接下来应该要熟悉硬件和架构了. 以下是一个简易物联网架构设计图 关于微软云这里就不说太多了.有兴趣的朋友可以去这里了解更多https://www.azure.cn/. 在上 ...

随机推荐

  1. Oracle管理磁盘空间和资源

    1.可恢复的空间分配 2.可移动表空间 3.Oracle段收缩功能 4.Oracle数据库资源管理 Reference 1.可恢复的空间分配 1.1 了解可恢复的空间分配 一般情况,我们发出一个大型数 ...

  2. Oracle数据库全球化

    一.自定义数据库和各个会话的语言相关行为 1.1 全球化功能 1.2 使用全球化支持功能 二.使用数据库和NLS字符集 2.1 语言排序与选择 2.2 Locale Builder 2.3 使用时区 ...

  3. 1Z0-053 争议题目解析25

    1Z0-053 争议题目解析25 考试科目:1Z0-053 题库版本:V13.02 题库中原题为: 25.You enabled Flashback Data Archive on the INVEN ...

  4. 1Z0-053 争议题目解析700

    1Z0-053 争议题目解析700 考试科目:1Z0-053 题库版本:V13.02 题库中原题为: 700.Which two statements are true about a duplica ...

  5. 初识openstack

    <1>虚拟化技术的功能和特点 多个虚拟机运行在一台物理服务器上,虚拟机之间共享物理资源,虚拟机可以分别安装不同的操作系统,应用程序相互隔离. 虚拟化技术的优势:虚拟机的操作系统和应用程序不 ...

  6. 对jquery的ajax进行二次封装以及ajax缓存代理组件:AjaxCache

    虽然jquery的较新的api已经很好用了, 但是在实际工作还是有做二次封装的必要,好处有:1,二次封装后的API更加简洁,更符合个人的使用习惯:2,可以对ajax操作做一些统一处理,比如追加随机数或 ...

  7. LINQ to SQL语句(16)之对象标识

    对象标识 运行库中的对象具有唯一标识.引用同一对象的两个变量实际上是引用此对象的同一实例.你更改一个变量后,可以通过另一个变量看到这些更改. 关系数据库表中的行不具有唯一标识.由于每一行都具有唯一的主 ...

  8. [转]Teach Yourself Programming in Ten Years——用十年教会自己编程

    作者:Peter Norvig 译者:刘海粟 本文原文为:http://norvig.com/21-days.html 该翻译文档的PDF版可以在这里获得:http://download.csdn.n ...

  9. python处理空格脚本

    博客园上传代码时拷贝vs里面的代码不能直接粘贴,否则空格会不符合要求 去掉空格代码 # -*- coding: utf-8 -*- '''打开delSpace.txt文本并删除每行开头的八个空格''' ...

  10. nginx.conf

    #user nobody;worker_processes 4; #nginx进程数,建议设置为等于CPU总核心数 #error_log logs/error.log;#error_log logs/ ...