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. 【记录】AutoMapper Project To OrderBy Skip Take 正确写法

    AutoMapper:Queryable Extensions 示例代码: using (var context = new orderEntities()) { return context.Ord ...

  2. C算法编程题系列

    我的编程开始(C) C算法编程题(一)扑克牌发牌 C算法编程题(二)正螺旋 C算法编程题(三)画表格 C算法编程题(四)上三角 C算法编程题(五)“E”的变换 C算法编程题(六)串的处理 C算法编程题 ...

  3. M端总结

    最近在项目开发过程中涉及到了移动端,现在对此进行总结. 在此次M端的开发过程中,遇到了许多问题,在此进行一次总结,希望大家在以后的开发过程中能尽量规避类似的问题,提高开发效率和代码质量.一.布局1.移 ...

  4. EF中的实体类型【Types of Entity in Entity】(EF基础系列篇8)

    We created EDM for existing database in the previous section. As you have learned in the previous se ...

  5. Spring 3.0 AOP (一)AOP 术语

    关于AOP.之前我已写过一个系列的随笔: <自己实现简单的AOP>,它的关注点在于实现.实现语言是C#,实现方式为 自定义实现 RealProxy 抽象类.重写Invoke方法,以便进行方 ...

  6. visual studio 2015 开发android

    转载请注明: http://www.cnblogs.com/sunyl/p/5493249.html http://www.cnblogs.com/sunyl/ 最近有不少新闻, 甲骨文向谷歌索赔93 ...

  7. form表单中enctype="multipart/form-data"的作用

    在我们使用php导入和导出excel表格的时候经常会见到 enctype="multipart/form-data",哪他的作用是什么呢? ENCTYPE="multip ...

  8. HTML5标签与HTML4标签的区别示例介绍_html5教程技巧

    (1)概念的变化: HTML5专注内容与结构,而不专注的表现 <header> <hgroup>导航相关数据</hgroup> </header> &l ...

  9. 安装redis入门

    redis官网:redis.io redis版本用的是redis-3.2.2 $ wget http://download.redis.io/releases/redis-3.2.2.tar.gz $ ...

  10. Java关于Properties用法(二)——替换配置文件中的参数

    上一章讲了配置文件的基本用法,虽然上一章已经可以解决一些需求,但还不些不足之处.假如,配置文件里面的字符串有一部分需要经常变动,另外一些不需要,上一章的方法就不方便了,所以这章主要讲如何在配置文件中使 ...