×

适用于Windows 10 IoT Core的Adafruit入门包创建开源项目

消耗积分:0 | 格式:zip | 大小:0.08 MB | 2022-12-29

刘润生

分享资料个

描述

该项目在 Raspberry Pi 套件组件上使用适用于 Windows 10 IoT Core 的 Adafruit 入门包来创建一个项目,该项目使用传感器读取温度、气压、湿度和高度。这适用于较旧的 Raspberry Pi 2 套件或带有 Raspberry Pi 3 的较新版本。

注意:此项目假定您拥有 BME280 传感器随附的套件版本。

此项目源自Microsoft 创建的原始Weather Station V 2.0项目。

硬件

根据本项目“原理图”部分的接线图中的布局连接 Raspberry Pi 2、面包板和 BME280 传感器。

软件

首先,您需要安装 Visual Studio 2015,转到“新建 -> 项目”并创建一个新的“空白应用程序(通用 Windows)”应用程序模板以从一个新的空白 UWP 应用程序开始。

逐步编码

1. 如上所述创建一个新的空白 UWP 应用程序。

2. 添加对“UWP 的 Windows IoT 扩展”Windows 通用扩展的引用。

 
poYBAGOrrv6ASkYrAAKG8vPfgo0758.png
 

3.将对 BuildAzure.IoT.Adafruit.BME280 Nuget 包的引用添加到 UWP 应用程序。

 
poYBAGOrrwOAMxp_AADIM3isVqk867.png
 

4. 添加一个变量来保存对 MainPage 类的 DispatcherTimer 的引用。

5. 添加以下设置代码以使用 OnNavigatedTo 的覆盖在 MainPage 类中设置 DispatcherTimer 和 Tick 事件处理程序:

DispatcherTimer _timer;
public MainPage()
{
 this.InitializeComponent();
}
protected override async void OnNavigatedTo(NavigationEventArgs e)
{
 base.OnNavigatedTo(e);
 _timer = new DispatcherTimer();
 _timer.Interval = TimeSpan.FromSeconds(5);
 _timer.Tick += _timer_Tick;
 _timer.Start();
}
private void _timer_Tick(object sender, object e)
{
}

6. 在 MainPage 类中,添加一个变量以保存对 BME280Sensor 对象的引用以及“_timer”变量。

BuildAzure.IoT.Adafruit.BME280.BME280Sensor _bme280;

6. 在“OnNavigatedTo”方法中,添加代码以在“_timer.Start()”方法调用之前某处初始化 BME280Sensor 对象。

_bme280 = new BuildAzure.IoT.Adafruit.BME280.BME280Sensor();
await _bme280.Initialize();

7. 在MainPage 类中,添加常量、浮点变量来保存表示海平面的压力值。

const float seaLevelPressure = 1022.00f;

8. 在“_timer_Tick”处理程序中,添加以下代码以从 BME280 传感器读取温度、湿度、压力和高度值:

var temp = _bme280.ReadTemperature();
var humidity = _bme280.ReadHumidity();
var pressure = _bme280.ReadPressure();
var altitude = _bme280.ReadAltitude(seaLevelPressure);

9. 接下来,添加代码以将 BME280 传感器读数写入调试控制台:

Debug.WriteLine("Temp: {0} deg C", temp);
Debug.WriteLine("Humidity: {0} %", humidity);
Debug.WriteLine("Pressure: {0} Pa", pressure);
Debug.WriteLine("Altitude: {0} m", altitude);

10. 您的应用程序已准备好部署到 Raspberry Pi!

预期产出

温度:24.46189摄氏度

湿度:54.372%

压力:99738.73帕

海拔:205.1726米

PS 您可以从该项目的代码部分查看/下载完整代码。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !