前言:Windows IoT 是微软为嵌入式开发板设计的一种物联网操作系统,运行Windows UWP(C# 开发),可以设计出丰富的交互界面,驱动GPIO,连接一些传感器做有意思的事,本文详细介绍如何使用它搭建一个环境监控系统,并将数据上传到Microsoft Flow云服务器。

工具:一台Windows 10电脑,树莓派3B/3B+,(8GB(以上)容量SD卡,读卡器。

传感器:DHT11温湿度传感器、BMP180气压计、BH1750FVI光强传感器、MQ-2烟雾传感器、蜂鸣器、若干杜邦线。

系统框架:

实现室内温湿度,光线强度,气压高度的采集,火灾情况的报警,数据的上传到云端。

(全是微软的一套,PowerBi部分没做)

PS:

1. 本系统传感器驱动代码来自 https://github.com/ZhangGaoxing/windows-iot-demo

搬运至码云,加速Clone:https://gitee.com/xKryo/windows-iot-demo

2. DHT11项目代码有一些问题,修改版本网盘下载:https://pan.baidu.com/s/11-EofiscGOnMuSyPgvFO1w 提取码:a2p1

3. 本系统的完整代码:https://pan.baidu.com/s/1gTaC3vrEigzjzqDfF_uA1Q 提取码:quau

4.  Microsoft Flow服务器现在HTTP请求触发需要注册高级账户


正文:

一、开发平台的搭建

1.树莓派安装Windows IoT

下载Windows 10 IoT Core Dashboard 和最新的固件:https://docs.microsoft.com/en-us/windows/iot-core/downloads,下载完成后解压出FFu固件,打开Dashboard并选择固件,设置密码,写入SD卡。

将SD卡插入树莓派,漫长的等待数次重启,中间需要通过鼠标对树莓派进行设置,最后进入系统:

通过仪表盘(Dashboard)的“我的设备”可以扫描到局域网的树莓派,浏览器输入IP:8080,输入用户名Administrator和刚刚设置的密码,进入Windows IoT的管理页面。

2.Visual Studio 2017安装,可以通过下载Visual Studio Installer安装:

二、第一个传感器驱动(DHT11 Demo)

以驱动DHT11为例,讲解将传感器连接树莓派,并编译打包程序并部署到树莓派。

1.DHT11连接树莓派,DHT11和树莓派的引脚定义如图,将DHT11的数据输出引脚连接GPIO4(07号引脚),电源(VCC)和地(GND)就近接入但不要接反。

2.VS 2017打开DHT11 Demo 项目(IDE可能会要求安装一些依赖的组件)

生成解决方案时,可能会出现证书过期:

双击打开项目Package.appxmanifest文件:

在新的窗口中选择打包一栏,弹出的窗口选择配置证书—创建测试证书(任意名称)

重新生成解决方案:

我的VS 2017出现了问题,不能远程调试,如果调试设置出现以下信息,则可以直接远程调试安装应用不用打包部署:

3.打包项目的安装程序包:

右键项目 – 应用商店 – 创建应用程序包 – 创建旁加载包:

选择生成包的路径,勾选合适的体系结构,点击创建,漫长等待生成完成:

进入浏览器后台管理页的Apps Manager选择打包好的应用,点击Install安装:

安装成功:

运行效果:

三、接入所有传感器

下载系统完整代码,用VS2017打开,里面有详细的注释,代码模块较为清晰,这里就不再分析代码功能了。

通过重新设计交互界面,接入BMP180气压计、BH1750FVI光强传感器、MQ-2烟雾传感器。

图中可看到传感器功能都已经实现,关于数据上传部分在后面会讲解。

系统设计的电路图:

对应树莓派引脚的连接图:

实物图如下,先在面包板上调试,再把所有传感器模块焊接在实验板上。

四、Microsoft Flow云服务

系统通过HTTP POST的方式,将数据打包成的JSON文件POST到流,服务器解析后执行流。

推荐先观看此视频:https://b23.tv/av21526828使用Microsoft Flow 快速采集IoT设备数据。

注意:微软Flow的服务器升级后,HTTP请求的触发器已不再支持免费的账户,如果不想注册,则跳过该部分,通过其他的方式上传到所需要的其他服务器。

尽管如此,还是记录一下之前连接Flow的过程。

以视频中的例子为基础,代码中数据封装及HTTP POST部分:

服务器HTTP端触发JSON配置:

1. 进入Microsoft Flow官网,注册免费账户

2. 在“我的流”中新建,选择触发条件,通过搜索框搜索HTTP添加触发条件,填入JSON配置,现在免费账户搜索不到。

添加条件分支,如果发生燃气泄漏情况,推送报警和Outlook发送邮件,最终会将数据插入到Excel(OneDrive)。

具体邮件内容的设置:

3. 制作好带表头的Excel文件,上传到OneDrive,Flow连接OneDrive,可以找到文件,然后关联JSON代码内容:

上传多次数据,可以看到表格中的内容如下:

如图发生r燃气泄漏,Flow会推送邮箱内容:

Microsoft Flow APP在Googe Paly 中下载,通过Flow APP 和OneDrive APP 在移动端查收:

五、总结

树莓派搭载Windows IoT接入传感器,基本的环境数据采集、数据展示、数据上传都已完成。使用微软的一套东西进行开发着实令人崩溃,所以不再深入了,1年前开发的,有些具体的步骤还不够清晰,现在总结起来感觉有点low。

树莓派 + Windows IoT Core 搭建环境监控系统相关推荐

  1. win10 iot core java_Windows 10 IoT Core开发环境

    Windows 10 IoT Core开发环境 Windows 10 IoT Core开发语言主要使用C#,所以我们选择Visual Studio 2017作为主要开发环境. 一.确认操作系统 微软要 ...

  2. 微软物联网解决方案-Windows IoT Core

    Windows IoT Core 作为微软物联网解决方案中前端核心产品,经过几年的发展,取得了很大的进步,虽然仍然有一些BUG,但是从2015年以来,已经取得了长足的进步,况且目前还是免费的,还能奢望 ...

  3. 智慧档案馆十防环境监控系统方案

    智慧档案馆建设要求方案(可做招投标样本) 主要涉及系统: 智慧档案馆温湿度监控系统 智慧档案馆消毒净化系统 智慧档案馆防火监控系统 智慧档案馆防盗监控系统 智慧档案馆漏水监控系统 智慧档案馆空气质量监 ...

  4. 畜禽养殖智能环境监控系统

    一.项目背景 随着社会经济以及科技的发展,现代养殖业也如火如荼开展起来,大型养殖业和农村养殖户不断涌现.殖鸡.鸭.猪.牛的企业和个体户越来越多,如何从养殖业中获取收益,是每个企业都非常关心的问题 除了 ...

  5. 智慧城市地下综合管廊环境监控系统

    目前,智慧城市建设逐渐完善,城市地下综合管廊作为重要组成部分,受到人们的关注.城市地下综合管廊是在城市地下建造市政公用隧道空间,将多种市政管线(电力.通信.燃气.给排水等)集中在一起,实施统一规划.设 ...

  6. 工业物联网网关在机房动力环境监控系统有何作用?

    机房动力环境监控系统是对机房动力环境及图像进行监控的管理系统,主要监控的对象是机房能源动力设备和环境仪表传感器等,如配电柜.UPS.空调.温湿度.门禁.安防.消防等.结合工业物联网网关,可以提升远程监 ...

  7. 动力环境监控系统论文_机房环境论文,关于网络技术在机房动力环境集中监控系统中的应用相关参考文献资料-免费论文范文...

    导读:为您写机房环境毕业论文范文和职称论文提供相关参考文献. 1. 机房动力环境集中监控系统 (一)机房动力环境集中监测系统的必要性 1.网络技术可靠性要求的体现 网络质量是部门发展的关键,稳定的机房 ...

  8. 浅析云计算数据中心动力环境监控系统-Susie 周

    1.动力环境监控系统概述 数据中心是云计算的主要载体,其中动力环境监控系统是数据中心保障通信设备正常.稳定运行的重要基础设施,动力环境监控系统失效,可能会造成数据灾难事故. 1)系统概述 机房动力环境 ...

  9. 不用羡慕BAT,自己手工也能搭建伪基站监控系统

    本文讲的是不用羡慕BAT,自己手工也能搭建伪基站监控系统,编者按:伪基站是个很烦人的东西.基于海量移动终端用户,近两年BAT3在国内搭建了强大的伪基站监控系统,在打击犯罪上贡献不少.这篇文章中,作者将 ...

最新文章

  1. 2019春第六周作业Compile Summarize
  2. 设计模式-行为-职责链
  3. POJ - 1475 Pushing Boxes(bfs套bfs)
  4. STM32F1笔记(七)WWDG窗口看门狗
  5. 美图秀秀 Mac版终于上线 关于美图秀秀 Mac版初体验
  6. log4j2 配置详解及使用范例
  7. EIGRP DUAL算法
  8. 【GIS导论】实验七 地图设计与输出
  9. VC++中的Win32 Application和Win32 Console Application区别
  10. 最新PHP云购源码+带机器人/控制/教程/去授权说明
  11. 网络抖动多少ms算正常_网络延迟多少ms算正常 - 卡饭网
  12. 什么是电影级调色监视器?
  13. 【Github资源大汇总】 - 王朋
  14. 5. C++ 抽象类
  15. 计算机函数if80到90分怎么弄,用EXCEL工作表怎样利用IF函数计算分数等级
  16. Harbor再次安装与使用
  17. 团队协作与团队内部竞争_为什么您的团队可能在协作游戏中失败
  18. 【跟着项目学CSS】第一期-闪动LOGO
  19. 杰奇采集分页 php,修改杰奇1.7模板 给章节内容添加分页
  20. AdminLTE3 Table插件

热门文章

  1. jQuery入门[2]-选择器[转]
  2. 在Ubuntu Linux中获取上次访问的文件时间
  3. windows下使用nginx调试简介
  4. Android 4 +https(如何启动TLS1 1 and TLS1 2)
  5. GPhone、OPhone、UPhone、APhone、IPhone:满城尽带XPhone
  6. fir.im 持续集成技术实践
  7. Xamarin.Android和UWP之MVVM的简单使用(二)
  8. CSharp设计模式读书笔记(10):装饰模式(学习难度:★★★☆☆,使用频率:★★★☆☆)...
  9. JavaWeb 项目启动时,后台开启一个线程的方法
  10. SQL 结合CASE WHEN 实现二维统计