本网页已闲置超过3分钟,按键盘任意键或点击空白处,即可回到网页

基于 IoT 的气象站

发布时间:2021-06-25
分享到:

基于 IoT 的气象站

发布时间:2021-06-25
分享到:

该项目使用 Raspberry Pi 2 上可用的 I2C 总线和通用输入/输出 (GPIO) 端口,使用 SparkFun 天气防护罩创建一个连接互联网的气象站。

硬件部分:

(GPIO原理图)

(内轨接线)

(外轨接线)

(左导轨接线)

(右导轨接线)

引脚图:(Raspberry Pi 2 --> Sparkfun 天气防护罩)

  • GND-------(黑色)------GND
  • 5V-----------(红色)---------VIN
  • 3V3-------(棕色)------5V (盾牌破解;不是打字错误)
  • GPIO2----(黄色)----SDA
  • GPIO3----(橙色)----SCL
  • GPIO5-----(绿色)-----D8
  • GPIO6-----(蓝色)-------D7

软件部分:

代码:HTU21D(湿度传感器)mpl3115a2(气压传感器的组件库)、Sparkfun 天气防护罩将点连接(由 MSOpenTech 提供的 Azure 事件中心的接口)

气象站其实就是两个应用!第一个是长期运行(实际上是无限期)后台任务,它读取传感器并充当气象站服务器。第二个是向服务器的端口 50001 发出请求并显示数据的 UI。UI 应用程序是通用的,可以部署在任何 Windows 设备上,从 Raspberry Pi 2 一直到台式 PC - 以及介于两者之间的任何地方!

需要在 build2015-weather-station 项目的Mainpage.xaml.cs文件中找到以下行 ,并将 URL 中的计算机名称“minwinpc”替换为您的 IoT 设备名称。

//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");

(启用“任务列表”显示)

(双击列表中的任何项目并直接跳转到源)

安装气象站应用:

1、复制储存库(使用--recursive 标志)

  • 如果您想学习新的 UWP Windows.Devices API 并自己完成代码,请选择“实验室”分支(默认)
  • 如果需要完整的代码,请选择“ master ”分支

2、在 Visual Studio 2015 中打开“ WeatherStation\WeatherStation.sln ”

3、导航到“解决方案资源管理器”窗格中的“ WeatherShield.cs ”

4、如果您选择了实验室分支,导航到“查看>>其他窗口>>任务列表”,查看剩余的工作。

//TODO:'s 完成后,单击“ Debug ”菜单项,然后选择“ WeatherStation Properties... ”

5、在“调试”选项卡下的“启动选项”部分

  • 选择“远程设备”作为“目标设备:”
  • 在“远程机器:”字段中输入 Windows IoT Core 设备的 IP 地址

6、部署到 Windows IoT Core 设备

与应用程序接口和/或调试应用程序:

  • 在“ WeatherStationTask.cs ”中设置断点,在“ PopulateWeatherData ”函数中
  • 在单个 I2C 事务发生时逐步执行它们

或者

  • 在 Internet 浏览器窗口中的端口 50001 上 Ping Windows IoT Core 设备的 IP 地址

与 ConnectTheDots 集成:

1、选择“ lab_ConnectTheDots ”分支,如果你想学习如何使用ConnectTheDots并自己完成代码

2、在 Visual Studio 2015 中打开“ WeatherStation\WeatherStation.sln ”

3、导航到“解决方案资源管理器”窗格中的“ WeatherStationTask.cs ”

4、使用“任务列表”跳转到每个“ //TODO: ”并编写必要的代码

5、AppSettings、ConnectTheDotsSensor 和 ConnectTheDotsHelper 文件都是为帮助您使用 ConnectTheDots 接口连接到 Azure 事件中心而创建的代码的一部分。

  • AppSettings:保存连接到事件中心的设置
  • 可以在 Azure 中的 ServiceBus 下找到此信息。

6、转到您的“*-ns”服务总线实例 -> 事件中心 -> ehdevices -> 连接信息 -> 查找 SAS“D1”

7、复制应如下所示的连接字符串(它包含您的 AppSettings 的信息):

"Endpoint=sb://iotbuildlab-ns.servicebus.windows.net/;SharedAccessKeyName=D1;SharedAccessKey=iQFNbyWTYRBwypMtPmpfJVz+NBgR32YHrQC0ZSvId20="

  • 服务总线命名空间(例如:  “iotbuildlab-ns”)
  • 事件中心名称(例如:“ehdevices” - 始终使用此名称)
  • 键名(例如:“D1”)
  • 密钥(例如:“ iQFNbyWTYRBwypMtPmpfJVz+NBgR32YHrQC0ZSvId20=")
  • 显示名称(例如:“WeatherStation1” - 这为设备数据提供了一个名称)
  • 组织(例如:“IoT 构建实验室” - 更改为自定义)
  • 位置(例如:“美国” - 更改为自定义)

8、ConnectTheDotsSensor:包含传感器的信息

  • 向导
  • 显示名称
  • 组织
  • 地点
  • 措施名称
  • 测量单位
  • 创建时间
  • 价值

9、ConnectTheDotsHelper:用于初始化事件中心的辅助函数

  • 建立连接
  • 创建身份验证令牌

10、设置事件中心的端操作说明

11、完成设计后,设备向事件中心发送数据,查看数据

项目演示:

 

加入微信技术交流群

技术交流,职业进阶

关注与非网服务号

获取电子工程师福利

加入电路城 QQ 交流群

与技术大牛交朋友

讨论