在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于ARM系統(tǒng)的 IoT 停車場系統(tǒng)演示

            基于ARM系統(tǒng)的 IoT 停車場系統(tǒng)演示

            作者: 時(shí)間:2016-07-19 來源:網(wǎng)絡(luò) 收藏

              1). 簡介

            本文引用地址:http://www.biyoush.com/article/201607/294238.htm

              在這篇博文中,我將介紹 停車演示系統(tǒng)以及其所用到的技術(shù)。我會(huì)闡述如何使用 Azure Hub 在 Azure服務(wù)和設(shè)備之間發(fā)送消息,就像我們的演示系統(tǒng)那樣。針對演示中用到的系統(tǒng)模塊,我也會(huì)做簡單的介紹,但是主要還是專注于 Azure Hub 以及如何方便地收發(fā)消息。

              在我們的演示系統(tǒng)有多個(gè)設(shè)備,例如:

              ./ 停車場 1(名為 Stretnor)

              ./ 停車場 2(名為 heater Parkhouse)

              ./ 公告顯示(每個(gè)停車場獨(dú)立設(shè)備)

              每個(gè)停車場包含以下多個(gè)設(shè)備:

              ./ 閘門控制器(Toradex Colibri T30 計(jì)算機(jī)模塊系統(tǒng)(基于nVidia Tegra 3)運(yùn)行 Win10 IoT)

              ./ 停車控制器(Toradex Colibri VF50 運(yùn)行計(jì)算機(jī)模塊系統(tǒng)(基于NXP Vybrid)Windows Embedded Compact 2013)

              ./ 支付終端(Apalis iMX6 ARM計(jì)算機(jī)模塊系統(tǒng)(基于NXP iMX6)運(yùn)行 Linux 和 Qt)

              ./ 公告顯示(Colibri iMX6 ARM計(jì)算機(jī)模塊系統(tǒng)(基于NXP iMX6)運(yùn)行 Windows Embedded Compact 2013)

              

             

              正如你在上面圖片中看到的,所有的通信消息通過 Azure IoT Hub 發(fā)送至應(yīng)用服務(wù)進(jìn)行處理。你也注意到我們在 Azure 運(yùn)行了網(wǎng)頁和數(shù)據(jù)庫,但是這個(gè)篇博文只介紹 Azure IoT Hub 部分。

              2). IoT 停車場演示系統(tǒng)消息流

              由兩個(gè)基本的事件會(huì)觸發(fā)設(shè)備和 IoT Hub 之間的消息流。

              a). 第一個(gè)事件是當(dāng)有車輛抵達(dá)閘門(參考下圖):

              

             

              當(dāng)車輛抵達(dá)閘門時(shí),閘門控制器會(huì)掃描車牌,向 IoT Hub(1)發(fā)送消息。在應(yīng)用服務(wù)確認(rèn)數(shù)據(jù)后,會(huì)向閘門控制器發(fā)送消息,開啟閘門(2)。與此同時(shí),指示停車位的消息也會(huì)發(fā)送至停車控制器(3)。停車控制器會(huì)開啟紅色 LED 燈閃爍,表示該停車位即將被占用。支付終端也將會(huì)收到消息。這個(gè)消息包括車牌號和抵達(dá)時(shí)間(4)。同時(shí),公告顯示器收到關(guān)于該區(qū)域里所有停車位的信息(5)。

              當(dāng)車輛停在停車位時(shí),停車控制器停止紅色 LED 燈閃爍,向 IoT Hub 發(fā)送車輛已經(jīng)??康南?6)。此時(shí),閘門控制器被告知關(guān)閉閘門(7)。

              b). 第二種事件是車輛離開停車位:

              

             

              當(dāng)車輛離開停車場的時(shí)候,司機(jī)首先需要支付停車費(fèi)。在支付終端上,司機(jī)選擇他自己車輛的車牌后支付。請求支付的消息發(fā)送至 IoT Hub(1)。應(yīng)用服務(wù)計(jì)算價(jià)格,并發(fā)送到支付終端(2)。當(dāng)支付終端接收付款后,發(fā)送支付成功的消息至 IoT Hub(3)。應(yīng)用服務(wù)把車輛即將離開停車場的送消息發(fā)送到停車控制器(4)。停車控制器開始閃爍綠色 LED 燈。當(dāng)車輛從停車位上離開后,IoT Hub 收到車輛已經(jīng)離開的消息(5)。停車控制器打開出口閘門。在一段時(shí)間后,閘門關(guān)閉,一個(gè)指示停車位空閑的消息發(fā)送到 IoT Hub。之后,公告顯示上也更新所有停車位的信息(6)。

              3). 例程應(yīng)用

              在下面的例程中,我將向你演示如何方便地于 Azure IoT Hub 通信。你需要基本的 C# 知識來理解這個(gè)例程。如果你想要編譯應(yīng)用,請使用 Visual Studio 2015。

              你同樣也需要 Azure 賬戶來運(yùn)行例程。你可以創(chuàng)建一個(gè)免費(fèi)的 Azure IoT Hub,并在你的 Azure IoT Hub 上創(chuàng)建設(shè)備。使用 device explorer 完成這些任務(wù)。在 這里查看 device explorer 文檔。

              這里我將演示一個(gè)小的服務(wù)器應(yīng)用,從 IoT Hub 獲取消息并處理。代碼是很簡單的,并不適用于生產(chǎn)環(huán)境。這僅僅是向你介紹如何方便地同 Azure IoT Hub 通信。在這個(gè)代碼里,我們只接收來自設(shè)備的信息,并將新的消息發(fā)送至同一個(gè)設(shè)備。

              你需要使用你的連接字符串來修改服務(wù)器端的代碼。

              -----------------------

              private const string CONNECTION_STRING = "";

              -----------------------

              正如你在代碼中看到的一樣,我只調(diào)用了 TDXServerEmulator 類中的 connect 方法

              -----------------------

              TDXServerEmulator ServerEmulator = new TDXServerEmulator();

              ServerEmulator.Connect();

              -----------------------

              這會(huì)處理接收和響應(yīng)消息。

              為了使用客戶端,你需要 Azure IoT 的 URL 替換成你自己的。Device.cs.

              -----------------------

              const string iotHubUrl = "";

              -----------------------

              在客戶端代碼中,創(chuàng)建新的 Device 對象,注冊 OnMessageReceived 事件。這能夠使你的設(shè)備收到來自 Azure IoT Hub 的所有消息。

              -----------------------

              Device client1 = new Device("", "");

              client1.OnMessageReceived += Client1_OnMessageReceived;

              client1.Start();

              -----------------------

              接下來,你可以運(yùn)行例程。兩個(gè)終端串口會(huì)在程序執(zhí)行之后出現(xiàn)。你需要等待服務(wù)器應(yīng)用連接。

              

             

              在服務(wù)器連接后,你可以在應(yīng)用中選擇 “Send Hi” 。

              

             

              在上面的圖片中,你可以看到客戶端發(fā)送“Hi”。服務(wù)器接收到來自客戶端的消息后,用“Hi from IoT Hub” 消息作為響應(yīng)。

              就像你在代碼中看到的一樣,同 Azure IoT Hub 通信和發(fā)送消息是很容易的。對于復(fù)雜的應(yīng)用,還有許多可以改進(jìn)的地方,這當(dāng)然也會(huì)使得代碼變得更加復(fù)雜。

              通過以上的代碼和解釋,你應(yīng)該可以使用 Azure IoT Hub 開發(fā)簡單的應(yīng)用。所有 Toradex ARM計(jì)算機(jī)模塊 均支持 Azure IoT Hub。你可以在 這里了解 Toradex 模塊的支持類型。你也可以下載 WinCE 和 Linux SDK。



            關(guān)鍵詞: ARM IoT

            評論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉