Windows IoT:使用 Windows 10 动手实现 IoT 气象站

∮仗剑ノ天涯 UID.437137
2016-01-04 发表

本帖最后由 newsmanager 于 2016-1-4 22:34 编辑

//Build:动手实现气象站
这个工程是微软”Hack the Home”计划的一部分,这项计划旨在给实践者们提供免费、开源的组件以使其可以轻松接入那些可以最大化利用家庭的设备和服务。

新的”Windows.Devices”命名空间来自 Windows 10 UWP API,这使得开发者可以在使用传感器和执行器和这个世界进行互动的同时权衡系统的功耗。

这个工程使用 Raspberry Pi 2 上的 I2C 总线和 GPIO 端口,借助于 SparkFun 气象开发板来创建一个联网的气象站。

以下提供的指导将会给开发者带来第一手的经验,以便按需设置硬件,同时写入和调试新近推出的 Windows 10 UWP Windows.Devices API。这次的实验也将会证明如何使用”Azure 事件中心”(Azure Event Hub)上易用的”ConnectTheDots”API 收集你的云端数据。

需要的组件:

***附件停止解析***

源代码:https://www.hackster.io/windowsiot/build-hands-on-lab-iot-weather-station-using-windows-10-5b818f

硬件

***附件停止解析***

***附件停止解析***

***附件停止解析***

***附件停止解析***

***附件停止解析***

引脚输出示意图(Raspberry Pi 2 --> SparkFun 气象开发板)
[list]
[*]GND-------(black)------GND
[*]5V----------(red)---------VIN
[*]3V3-------(brown)------5V
[*]GPIO2-----(yellow)----SDA
[*]GPIO3----(orange)----SCL
[*]GPIO5-----(green)-----D8
[*]GPIO6-----(blue)-------D7
[/list]

软件
确认你的计算机名称
这个气象站实际上是两个应用。第一个是一个长期运行的后台任务,它读取传感器信息并扮演气象站服务器的角色。第二个是一个向服务器的50001端口请求数据并把数据显示出来的 UI 。这个 UI 应用是通用的,可以被部署到任何 Windows 设备上——从 Raspberry Pi 2 到 桌面级电脑(这中间的任何设备都可以)。

你需要在”build2015-weather-station”工程的”Mainpage.xaml.cs”文件中找到下列的一行,并在 URL 中使用你自己的 IoT 设备名称替换掉计算机名称”minwinpc”。

[mw_shl_code=csharp,true]//TODO: On the following line, replace "minwinpc" with the computer name of your IoT device (i.e. "http://:50001").

private Uri weatherUri = new Uri("http://minwinpc:50001");[/mw_shl_code]

***附件停止解析***

***附件停止解析***

***附件停止解析***

安装气象站应用
复制链接的库(使用--recursive标志)
[list]
[*]如果你想学习新的 UWP Windows.Devices API 并自己完成代码,选择”Lab"分支(默认)
[*]如果你想补全代码,选择”master”分支
[/list]
在 Visual Studio 2015 中打开”WeatherStation\WeatherStation.sln”。

在”Solution Explorer”窗格中找到”WeatherShield.cs”。

如果你选择”Lab”分支,找到”View >> Other Windows >> Task List”,来查看现存的工作(如上图所示)。

你将会注意到很多注释的细节,来帮助你完成任务。但是,你仍然需要额外的帮助,将会有一个”HINT”来提醒你来通过关注周围的代码来获取帮助(如上图所示)。

一旦”//TODO:”完成,点击”Menu”,并选择”WeatherStation Properties…”。

在”Debug”标签下,在”Start options”部分
[list]
[*]选择”Remote Device”作为”Target device:”
[*]在”Remote machine:”中输入你的 Windows IoT Core 设备的 IP 地址
[/list]
部署你的 Windows IoT 设备

连接并调制应用程序
[list]
[*]在”WeatherStationTask.cs”文件的”PopulateWeatherData”函数中设置断点
[*]当独立的 I2C 业务出现时使用步进
[/list]
或者
[list]
[*]在浏览器窗口中通过 50001端口 Ping 你的 Windows IoT Core 设备的 IP 地址(即:***链接停止解析***)
[/list]
集成 ConnectTheDots

***附件停止解析***

***附件停止解析***

如果你想学习如何使用 ConnectDots 并自己完善代码,选择”lab_ConnectTheDots”分支。

在 Visual Studio 2015 中打开”WeatherStation\WeatherStation.sln”。

在”Solution Explorer”窗格中找到”WeatherStationTask.cs”。

使用”Task List”来跳转到每一个”//TODO:”并编写必要的代码。

”AppSettings”、”ConnectTheDotsSensor”和”ConnectTheDotsHelper”文件都是代码的一部分,它们都是为了帮助你使用 Azure 事件中心的”ConnectTheDots”接口。

AppSettings:保存连接到事件中心的设置。

这条信息能够在你的 Azure 的 Service Bus 中找到。

找到 "*-ns" servicebus instance -> Event Hubs -> ehdevices -> Connection Information -> Look for the SAS "D1"

复制连接字符串,它们大概如下所示(其包含你的 AppSettings 的信息)

[mw_shl_code=csharp,true]"Endpoint=sb://iotbuildlab-ns.servicebus.windows.net/;SharedAccessKeyName=D1;SharedAccessKey=iQFNbyWTYRBwypMtPmpfJVz+NBgR32YHrQC0ZSvId20="[/mw_shl_code]
[list]
[*]服务总线命名空间(比如:"iotbuildlab-ns")
[*]事件中心名称(比如:"ehdevices")
[*]关键字(比如:"D1")
[*]密钥(比如:" iQFNbyWTYRBwypMtPmpfJVz+NBgR32YHrQC0ZSvId20=")
[*]显示名称(比如:"WeatherStation1")
[*]组织(比如:"IoT Build Lab")
[*]位置(比如:"USA")
[/list]
ConnectTheDotsSensor:保存传感器的信息
[list]
[*]引导
[*]显示名称
[*]组织
[*]位置
[*]测量名称
[*]测量单位
[*]创立时间
[*]值
[/list]
ConnectTheDotsHelper:初始化事件中心的帮助函数
[list]
[*]建立连接
[*]创建认证令牌
[/list]
如果你希望在后台设置你自己的事件中心,***链接停止解析***。

一旦你完成了部署,设备应该开始发送数据到事件中心并且这些数据在***链接停止解析***或者你自己的网站上是可见的。

视频教程:

[flash]http://player.youku.com/player.php/sid/XMTQzNDc1ODg2OA==/v.swf[/flash]

标签: Windows Weather

敬告:
为防止不可控的内容风险,本站已关闭新用户注册,新贴的发表及评论;
你现在看到的内容只是互联网用户曾经发表的言论快照,仅用于老用户留存纪念,且仅与科技行业相关,全部内容不代表本站观点及立场;
本站重新开放前已针对包括用户隐私、版权保护、信息安全、国家政策在内的各种互联网法律法规要求,执行了隐患内容的自查、屏蔽和删除;
本站目前所属个人主体,未有任何盈利安排与计划,且与原WFUN.COM所属公司不存在任何关联关系;
如果本帖内容或者相关资源侵犯到您的合法权益,或者您认为存在问题,那么请您务必点此举报或投诉!
全部回复:
KingHowe UID.1225947
2016-01-04 使用 Lumia 930 回复

不错,不过没有相应的硬件,只有树莓派

本站使用Golang构建,点击此处申请开源鄂ICP备18029942号-4联系站长投诉/举报