win10 uwp iot

來源:互聯網
上載者:User

標籤:

這篇文章主要譯:
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();  // 38F/3.3C = 276.483 Kelvin  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需要顯示,很多挑戰決定My Code。如果我的裝置有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

win10 uwp iot

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.