这篇文章主要译:
https://msdn.microsoft.com/magazine/mt694090 有很多都是胡说,随便喷,但我不会理。
https://blogs.msdn.microsoft.com/lucian
今天的科技行业最常用的短语之一就是“物联网”,物联网可以让每个设备使用云而智能。使用云,设备可以分享数据和控制别的设备。我们可以远程控制相机,远程收集分析数据。
虽然在MSDN杂志有很多文章说如何收集和分析数据,尚未有任何从硬件和布线的角度讨论。转IOT开发需要电子设计、电工、焊接等硬件。开发者一般都是活在虚拟的世界不太想去弄现实的。好像我就是这个样子,在二次元。当然这句话原文没有说。很多开发者难以知道自己该如何做硬件,跨接电缆和电阻。为了解决这问题,本文章介绍了win10 iot如何让开发者不使用硬件。不使用硬件是不可能,但是我们能让开发者很大的不理解硬件就做出好的。
可编程的硬件已经有了很久,在硬件写程序需要对硬件了解, Raspberry Pi 2 Model B可以运行win10,自然和我们电脑的win10不一样。win10系统可以在Iot的可以到dev.windows.com/iot下载, Raspberry Pi 2可以运行UWP。
这文章作者将会创建UWP在Raspberry Pi 2虽然这是一个使用天气API根据他闪灯。作者将会介绍Iot概念,如何使用C#。这里的作者自然不是我,作者:Frank La Vigne 。
检测霜
春天他们会有霜,我们想要检测如果有霜我们就告诉,告诉使用亮灯。除了软件我们还需要硬件。我需要Raspberry Pi 2 Model B ,MicroSD card,LED light,无焊料的电路试验板,很多线。
Raspberry Pi 2 Model B的介绍可以看下面的博客。我就发一张图,因为翻译不好。
MicroSD Card 可以做Raspberry Pi 2 Model B硬盘,里面安装系统,我们的uwp。因为作者现在有4G的MicroSD Card,就使用了,建议还是8G。MicroSD Card大小根据需求。
无焊料的电路试验板、线 连接Raspberry Pi 2组件。虽然我可以使用随意连接,最快的方式是无焊料的电路试验板。如同名称我不需要焊接。我需要把线连接,使用30行10列。注意列有两个五组,”a-e”,”f-j”,很容易就知道怎么弄。
Led 电阻 我将会连接led到Raspberry Pi 2 ,电压5V,会让LED坏,所以我们需要电阻。
以太网电缆,USB鼠标和键盘,HDMI监视器 Raspberry Pi 2有4个USB我们可以连接键盘,以太网,HDMI,我们可以把Raspberry Pi 2当做电脑。
下载windows10 可以在iot跑,可以到https://developer.microsoft.com/zh-CN/windows/iot/Downloads.htm#Win8
开始项目有点难,很多开发者移动代码不一定适合硬件,为了这个例子我做了一个很简单的LED闪动,实时从网上下载数据。需要下面这些硬件:led灯,无焊料的电路试验板,电缆。
Raspberry Pi 2 Model B 有很多GPIO ,GPIO 是General Purpose Input/Output,如果想知道可以百度,当然我是觉得google才是比较好,具体我就不说,相信大家github host很快就可以干了百度。有一些接口是保留我们不能编程,那么不能使用的有标出来,可以看上面的图有哪些被引出不能够编程。
设计电路
Led需要的电路可以看下图,电流动从pin1,标着3.3V的见上图的接口,3.3V对Led太大,所以我们需要一个电阻,然后电流流GPIO 5,根据引脚,从上面图我们可以看到是pin29。这个接口是可以编程让led变得“smart“,通过接口高电压和低电压,led亮一下暗一下。
现在作者将会开发来显示上面图的让led暗一下亮一下,作者合并开关连接 Raspberry Pi 2 pin29。作者选择e列7行然后把led长的接到a列8行,短的到a列7行。这里翻译都是在胡说,因为我没有真的弄。
作者把电阻连在c列8行和c列15行,我把正极连在a列15行,负极连在pin1,可以看下面,我也不知道翻译是不是。
作者把Windows IoT Core安装在MicroSD card,插Raspberry Pi 2,连接。启动设备看到下面
硬件设置好,我们开始写软件,首先打开神器,新建一个iot。我们需要新建一个UWP项目,我们把它命名WeatherBlink
打开扩展Windows IoT Extensions for the UWP
在MainPage.xaml.cs
,我们需要使用Windows.Devices.Gpio
using Windows.Devices.Gpio
我们可以很容易使用pin,下面是我们使用pin电压高,好像电压高不是翻译电压
var gpioController = GpioController.GetDefault()
gpioPin = gpioController.OpenPin(5)
gpioPin.Write(GpioPinValue.High)
下面代码获取pin电压
var currentPinValue = gpioPin.Read();
整个app需要 GPIO pins,我们把他写成员
private GpioPin gpioPin;
private GpioPinValue gpioPinValue;
我们在构造
private void InitializeGPIO()
{
var gpioController = GpioController.GetDefault();
gpioPin = gpioController.OpenPin(5);
gpioPinValue = GpioPinValue.High;
gpioPin.Write(gpioPinValue);
gpioPin.SetDriveMode(GpioPinDriveMode.Output);
}
我们可以使用win10 全部控件,我感觉微软这个没有什么好。很多iot没有好看的界面,对于一个渣,没有界面实在不好,所以我们需要做一个界面。这些话都是我自己的,还没有去弄就觉得把重点放到了一个我们不用的。
我们弄一个简单的UI,如果我们能连接鼠标,使用压缩来更新天气。
作者需要下载天气信息从网上,我的天气可以从openweathermap.org/api接收的是json,温度是k,我们可以使用
private async void LoadWeatherData()
{
double minTempDouble = await GetMinTempForecast();
if (minTempDouble <= 276.483)
{
Blink(500);
txtStatus.Text = "Freeze Warning!"
}
else
{
Blink(2000);
txtStatus.Text = "No freezing weather in forecast."
}
}
如果天气不好我们就很多开始警报,看到的函数就是我们的警报
private void Blink(int interval)
{
blinkingTimer = new DispatcherTimer();
blinkingTimer.Interval =
TimeSpan.FromMilliseconds(interval);
blinkingTimer.Tick += BlinkingTimer_Tick;
}
private void BlinkingTimer_Tick(
object sender, object e)
{
var currentPinValue = gpioPin.Read();
if (currentPinValue == GpioPinValue.High)
{
gpioPin.Write(GpioPinValue.Low);
}
else
{
gpioPin.Write(GpioPinValue.High);
}
}
我们需要在PC部署,我们需要改变编译ARM
在运行选择远程,我们能看到
我们可以使用我的 Raspberry Pi 2,我听到有一些大神连接不了,如果连接不了自己写ip,一般可以,如果还是不可以不用找我我自己没有去
连接了我们就可以看到我的led在闪,我还没有去弄,作者没有图,我就没法弄一个,随便找一个觉得和这个不合
Iot是一个新的挑战,开发需要运行环境,需要电源和网,大多挑战来自于想要如何,如增加一个防风雨的室外场景的容器,我的iot需要显示,很多挑战决定我的代码。如果我的设备有4G网络,我需要考虑数据传输,他的意思是他需要钱,需要优化设备数据发送。
虽然我们的天气没有使用云,很多iot都是要网络,我们可以做一个简单的可以发送邮件的应用。Iot可以用很多地方,所以有空可以去玩。
代码:https://github.com/ms-iot/samples
中文好的博客:
http://edi.wang/post/2016/3/26/windows-10-iot-gy-30-light-sensor
http://edi.wang/post/2016/3/28/windows-10-iot-moisture-sensor-raspberry-pi3
http://edi.wang/post/2016/4/2/windows-10-iot-hc04-ultra-sonic-distance
http://edi.wang/post/2016/4/3/windows-10-iot-sound-light
http://edi.wang/post/2016/4/4/windows-10-iot-stepper-motor
http://edi.wang/post/2016/4/10/windows-10-iot-azure-remote-light
<script type="text/javascript">
$(function () {
$('pre.prettyprint code').each(function () {
var lines = $(this).text().split('\n').length;
var $numbering = $('<ul/>').addClass('pre-numbering').hide();
$(this).addClass('has-numbering').parent().append($numbering);
for (i = 1; i <= lines; i++) {
$numbering.append($('<li/>').text(i));
};
$numbering.fadeIn(1700);
});
});
</script>
相关推荐
Win10 IoT(Internet of Things)核心版是微软为物联网设备设计的操作系统,它提供了轻量级、安全的平台,让开发者能够利用Windows 10的功能在小型硬件上构建应用程序。这个开发例子针对的是树莓派这样的单板计算机...
使用VS2015社区版编写的UWP应用,运行在Win10 Iot系统上,可以实现WIFI的扫描以及连接,感兴趣的朋友可以看看。这个可以正常运行,我测试过了。我想赚点积分,哈哈。如有任何问题以及建议,请与我联系。
2. 使用Visual Studio创建UWP项目,并配置远程调试到Win10IoT设备。 3. 引用Windows IoT扩展SDK进行GPIO编程。 4. 初始化GPIO引脚,设置输入/输出模式。 5. 控制GPIO引脚读取和写入数据,实现硬件交互。 以上就是...
标题中的“dotnet-菜鸟也玩IoT教你借助Win10手机制作Arduino蓝牙遥控小车”揭示了这个项目是关于初学者如何利用.NET框架,尤其是针对Windows 10平台,来构建一个通过手机蓝牙控制的Arduino小车。IoT(物联网)技术在...
项目的文档“generic-serial-bluetooth-with-win-10-iot-core-rpi2-fcc4ca.pdf”可能详细阐述了这些步骤,包括可能出现的问题和解决方案,以及调试技巧。 总之,这个项目展示了如何利用Windows 10 IoT Core和通用...
标题中的“WindowsIoT_SPIADC”指的是在Windows 10 IoT核心版中使用SPI(Serial Peripheral Interface)协议与ADC(Analog-to-Digital Converter)设备交互的技术。这通常涉及到嵌入式开发,其中Windows 10 IoT核心...
在本文中,我们将深入探讨如何使用Visual Studio 2019 (VS 2019) 在Windows IoT平台上开发应用程序,特别关注在Raspberry Pi 3这样的设备上进行部署和调试。Windows IoT(物联网)是微软提供的一个轻量级操作系统,...
**使用Raspberry Pi 2构建家庭自动化系统:Windows 10 IoT核心版** Raspberry Pi 2是一款功能强大的微型计算机,常被用作各种DIY项目的核心,包括家庭自动化。结合Windows 10 IoT核心版,我们可以创建一个智能且...
这些版本在功能、许可证限制和服务方面有所不同,以下是Win10系统7个主要版本的区别: 1. **家庭版 (Home)**:这是面向普通消费者的基础版,包含了大部分日常使用的功能,如Cortana(小娜)语音助手、Windows Hello...
Windows 10提供了通用Windows平台(UWP)API,支持BLE设备的连接、扫描和数据交换。开发者可以利用`Windows.Devices.Bluetooth`命名空间中的类来实现这些功能。 5. **低功耗蓝牙通信的步骤**: - **扫描**:首先,...
#UWP使用.NET 技术来建立在所有Windows 装置上的Universal Windows Platform 通用应用程式,这些Windows 装置可能是手机、平板或笔记型电脑、桌上的PC、Xbox、HoloLens、Surface Hub 、以及IoT 装置如Raspberry Pi ...
与Windows 10应用程式(桌上型电脑,行动装置,Xbox One和IoT)相容。 还使用链接的程序集与Windows 8.1兼容(尽管仅使用通用的API)。 安装 克隆此存储库并进行构建,以便您可以引用.dll或在您的应用程序中添加...
本书中的IoT部分将介绍如何为各种IoT设备开发UWP应用。这包括如何与传感器和其他硬件组件交互,以及如何处理来自这些设备的数据。 #### 五、HoloLens开发 HoloLens是一款混合现实头戴式显示器,用户可以通过它与...
1. **C++/WinRT 支持**:这个版本的WDK加强了对C++/WinRT的支持,这是一种现代化的C++语言绑定,用于编写Windows运行时组件,简化了UWP和Win32驱动程序的开发。 2. **改进的性能和兼容性**:Windows 10 版本 2004...
- **Azure IoT Development**:强化了物联网(IoT)开发工具,便于创建针对各种物联网设备的应用程序。 - **Holographic Development**:为了支持Windows Holographic(如HoloLens设备),提供了HoloLens开发工具...
"win10"和"windows 10 iot core"标签表明Foodie项目选择了Windows 10 IoT Core作为Raspberry Pi 2的操作系统。Windows 10 IoT Core是一款精简版的Windows系统,专为物联网设备设计,提供了安全性和易用性,支持各种...
无论是对于初学者还是有经验的开发者,这都是一个深入了解物联网、UWP应用开发和Windows 10 IoT平台的好起点。通过实践这个项目,你可以学习到如何利用这些工具构建智能硬件应用,为日常生活或商业场景带来更多的...
"win10 windows 10 iot core"标签强调了该项目基于Windows 10 IoT Core操作系统,这是一个轻量级的操作系统版本,特别适用于嵌入式设备和物联网解决方案。它支持C#编程语言,这正是项目代码文件使用的语言,便于...
Windows 10引入了通用Windows平台(UWP)蓝牙API,使得开发者可以方便地访问蓝牙功能。在这个示例中,可能会使用到如`Windows.Devices.Bluetooth`、`Windows.Devices.Bluetooth.GenericAttributeProfile`等命名空间...
其次,Windows操作系统开发涵盖了从Win32 API到更现代的Universal Windows Platform (UWP)的各种技术。开发者可以学习如何创建原生的Windows应用,利用Microsoft Store分发,同时了解如何适配不同的设备和屏幕尺寸。...