基于树莓派的Azure物联网实践(一)

借鉴了MSP 李桑郁关于Win10 IoT 的设置和在Azure上通信的实例,设计了在Win10 IoT 下局域网内与Win 10 PC的互联,并基于此设计了室内外温度的监控程序。

首先是在树莓派3B上安装Win 10 IoT, 最新的版本是10.0.16299.15 可以在微软官网下载 Windows 10 IoT Core Dashboard 自动化部署系统,也可以在下载 ISO 文件使用FFU 手动部署,链接
https://developer.microsoft.com/en-us/windows/iot/Downloads

相关部署步骤可以借鉴MSP 李桑郁的这盘文章
https://mp.weixin.qq.com/s?__biz=MzU0NjAzODIxMA==&mid=2247483676&idx=1&sn=221b2a5139e8a1da9062c0da177ba54a&chksm=fb6289b1cc1500a798035f3d12f6f79c5be7b13be356b549e79f0e76d4d6d9e7b44245489590&scene=0#rd

完成部署后在电脑端的Windows 10 IoT Core Dashboard可以检测到树莓派,如下图所示

这里写图片描述

之后在PC端的 Microsoft Store 上下载 Windows IoT Remote Client
这里写图片描述

或者也可以通过SSH或者POWER SHELL 连接,使用微软自带的远程桌面应用也可以做到远程打开,不过在做这些前记得先接入显示屏打开Raspi的远程桌面,否则会出现访问失败的情况。

ok,出现这步的时候就是连接成功了,现在我们可以开始设置树莓派GPIO口了

先打开VS 新建 IoT项目
这里写图片描述

新建的项目初始代码 C#
这里写图片描述

具体实现代码节选

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net.Http;
using Windows.ApplicationModel.Background;

// The Background Application template is documented at http://go.microsoft.com/fwlink/?LinkID=533884&clcid=0x409

namespace BackgroundApplication1
{
    public sealed class StartupTask : IBackgroundTask
    {
        public void Run(IBackgroundTaskInstance taskInstance)
        {
            //初始化Pins
            var pins = new DHT22[] { new DHT22(DHT.W, 10), new DHT22(DHT.T, 3), new DHT22(DHT.S, 10) };
            //循环
            while (true)
            {
                //依次操作LED
                foreach (var pin in pins)
                {
                    InitDHT22();
                    // 初始化DHT22温湿度传感器
                    pin.Read();
                    //读取DHT22的IO口信息
                    SendMsg(pin.DHT.ToString());
                    //发送到Azure/PC上
                    Task.Delay(TimeSpan.FromSeconds(pin.Interval)).Wait();
                    //延迟 
                    pin.Close();
                }
            }
            // 
            // TODO: Insert code to perform background work
            //
            // If you start any asynchronous methods here, prevent the task
            // from closing prematurely by using BackgroundTaskDeferral as
            // described in http://aka.ms/backgroundtaskdeferral
            //
        }
    }
}

然后将其加载到到树莓派的Win 10 IoT上就可以开始运行了,在Azure上通过监控IP来获取其本地位置,并借助中国天气网的API获取到本地数据,以Web形式显示出来(这些会在下一篇文章中介绍到)

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值