Wintel物联网平台-Windows IoT新手入门指南
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 第二代开发板主页:
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 第二代开发板主页:
5. Galileo开发板主页:http://www.intel.cn/content/www/cn/zh/education/higher-education/galileo-development-board.html
Wintel物联网平台-Windows IoT新手入门指南的更多相关文章
- NLP新手入门指南|北大-TANGENT
开源的学习资源:<NLP 新手入门指南>,项目作者为北京大学 TANGENT 实验室成员. 该指南主要提供了 NLP 学习入门引导.常见任务的开发实现.各大技术教程与文献的相关推荐等内容, ...
- Flume NG Getting Started(Flume NG 新手入门指南)
Flume NG Getting Started(Flume NG 新手入门指南)翻译 新手入门 Flume NG是什么? 有什么改变? 获得Flume NG 从源码构建 配置 flume-ng全局选 ...
- OKR新手入门指南 (第一部分)
什么是OKR? OKR(目标和关键结果)是Google和其他公司使用的目标系统.这是一个简单的工具,围绕可衡量的目标进行调整和互动. OKR:Google的目标设定方法 与传统的规划方法有何不同? O ...
- 《Windows IoT 应用开发指南》
物物互联的时代已经到来,智能家居.智慧校园.智慧交通.可穿戴.无人机.全息投影,各种各样的新名词.黑科技层出不穷.当我们为五年前能够通过手机控制家电而欣喜若狂的时候,可曾憧憬过当前使用增强现实设备完成 ...
- 物联网操作系统HelloX开发人员入门指南
HelloX开发人员入门指南 HelloX是聚焦于物联网领域的操作系统开发项目,能够通过百度搜索"HelloX".获取具体信息. 当前开发团队正在进一步招募中,欢迎您的了解和添加. ...
- yii2实战教程之新手入门指南-简单博客管理系统
作者:白狼 出处:http://www.manks.top/document/easy_blog_manage_system.html 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文 ...
- Windows IOT 开发入门(准备工作)
终于抽出空来了,将最近研究的东西记录下来,物联网,万物皆可联网.然后可以做到智能家居,智能生活,智能城市....一大堆.吹牛的就不说了. 在实际应用中都是一个个小的传感器在收集数据,同时把数据直接或者 ...
- Vue的理解:Vue.js新手入门指南----转
最近在逛各大网站,论坛,以及像SegmentFault等编程问答社区,发现Vue.js异常火爆,重复性的提问和内容也很多,楼主自己也趁着这个大前端的热潮,着手学习了一段时间的Vue.js,目前用它正在 ...
- Windows IOT 开发入门(硬件入门)
接上文,在准备工作完成之后.接下来应该要熟悉硬件和架构了. 以下是一个简易物联网架构设计图 关于微软云这里就不说太多了.有兴趣的朋友可以去这里了解更多https://www.azure.cn/. 在上 ...
随机推荐
- C/C++,彩色图像小游戏。
这里声明,这个游戏是由本人,在大一暑假自作的第二个小游戏,转载请注明原帖地址,谢谢! 所有图片都是我一个人用ps搞出来的,比较简单.........毕竟不是学图像制作的,请体谅!另外,图片 不放出来了 ...
- PHP中MySQL操作
本次使用的demo是MySQL的示例数据库employees,点击下载地址,注意在导入的时候,在employees.sql文件中,将source改成你当前的目录. PHP中的demo代码可以在ideo ...
- Apple的LZF算法解析
有关LZF算法的相关解析文档比较少,但是Apple对LZF的开源,可以让我们对该算法进行一个简单的解析.LZFSE 基于 Lempel-Ziv ,并使用了有限状态熵编码.LZF采用类似lz77和lzs ...
- Android APP压力测试(三)之Monkey日志自动分析脚本
Android APP压力测试(三) 之Monkey日志自动分析脚本 前言 上次说要分享Monkey日志的分析脚本,这次贴出来分享一下,废话不多说,请看正文. [目录] 1.Monkey日志分析脚本 ...
- Linux中解析json---jq
遇到要在Linux上处理json的请求,换了熟悉的环境就抓瞎了,需要用心学习基础知识. jq官网:https://stedolan.github.io/jq 1.install yum ins ...
- Hive UDF初探
1. 引言 在前一篇中,解决了Hive表中复杂数据结构平铺化以导入Kylin的问题,但是平铺之后计算广告日志的曝光PV是翻倍的,因为一个用户对应于多个标签.所以,为了计算曝光PV,我们得另外创建视图. ...
- How PhoneGap & Titanium Works
转载自 http://www.appcelerator.com/blog/2012/05/comparing-titanium-and-phonegap/ How PhoneGap Works As ...
- ActiveX(二)Js 监听 ActiveX中的事件
在上一篇随笔:ActiveX(一)第一个简单的Demo 中,已经可以实现 js 单向调用 ActiveX 中的方法,在很多情况下ActiveX中的方法的执行时相对耗时.耗性能的.在这样的情况下.Act ...
- 初入网络系列笔记(1)TCP/IP基础
一.借鉴说明,本博文借鉴以下博文 1.BlueTzar,TCP/IP四层模型, http://www.cnblogs.com/BlueTzar/articles/811160.html 2.叶剑峰,漫 ...
- Oracle数据库优化的经验总结
个人理解,数据库性能最关键的因素在于IO,因为操作内存是快速的,但是读写磁盘是速度很慢的,优化数据库最关键的问题在于减少磁盘的IO,就个 人理解应该分为物理的和逻辑的优化, 物理的是指oracle产品 ...