基于ARM系統(tǒng)的 IoT 停車(chē)場(chǎng)系統(tǒng)演示_第1頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、基于arm系統(tǒng)的 iot 停車(chē)場(chǎng)系統(tǒng)演示 1). 簡(jiǎn)介 在這篇博文中,我將介紹 iot 停車(chē)演示系統(tǒng)以及其所用到的技術(shù)。我會(huì)闡述如何用法 azure iot hub 在 azure服務(wù)和設(shè)備之間發(fā)送消息,就像我們的演示系統(tǒng)那樣。針對(duì)演示中用到的系統(tǒng)模塊,我也會(huì)做容易的介紹,但是主要還是專(zhuān)注于 azure iot hub 以及如何便利地收發(fā)消息。在我們的演示系統(tǒng)有多個(gè)設(shè)備,例如:./ 停車(chē)場(chǎng) 1(名為 stretnor)./ 停車(chē)場(chǎng) 2(名為 heater parkhouse)./ 公告顯示(每個(gè)停車(chē)場(chǎng)自立設(shè)備)每個(gè)停車(chē)場(chǎng)包含以下多個(gè)設(shè)備:./ 閘門(mén)控制器(toradex colibri t30

2、 arm計(jì)算機(jī)模塊系統(tǒng)(基于nvidia tegra 3)運(yùn)行 win10 iot)./ 停車(chē)控制器(toradex colibri vf50 運(yùn)行arm計(jì)算機(jī)模塊系統(tǒng)(基于 vybrid)windows embedded compact 2013)./ 支付終端(apalis imx6 arm計(jì)算機(jī)模塊系統(tǒng)(基于nxp imx6)運(yùn)行 和 qt)./ 公告顯示(colibri imx6 arm計(jì)算機(jī)模塊系統(tǒng)(基于nxp imx6)運(yùn)行 windows embedded compact 2013)正如你在上面中看到的,全部的通信消息通過(guò) azure iot hub 發(fā)送至應(yīng)用服務(wù)舉行處理。你也

3、注重到我們?cè)?azure 運(yùn)行了網(wǎng)頁(yè)和數(shù)據(jù)庫(kù),但是這個(gè)篇博文只介紹 azure iot hub 部分。2). iot 停車(chē)場(chǎng)演示系統(tǒng)消息流由兩個(gè)基本的大事會(huì)觸發(fā)設(shè)備和 iot hub 之間的消息流。a). 第一個(gè)大事是當(dāng)有車(chē)輛抵達(dá)閘門(mén)(參考下圖):當(dāng)車(chē)輛抵達(dá)閘門(mén)時(shí),閘門(mén)控制器會(huì)掃描車(chē)牌,向 iot hub(1)發(fā)送消息。在應(yīng)用服務(wù)確認(rèn)數(shù)據(jù)后,會(huì)向閘門(mén)控制器發(fā)送消息,開(kāi)啟閘門(mén)(2)。與此同時(shí),指示停車(chē)位的消息也會(huì)發(fā)送至停車(chē)控制器(3)。停車(chē)控制器會(huì)開(kāi)啟紅色 燈閃耀,表示該停車(chē)位即將被占用。支付終端也將會(huì)收到消息。這個(gè)消息包括車(chē)牌號(hào)和抵達(dá)時(shí)光(4)。同時(shí),公告收到關(guān)于該區(qū)域里全部停車(chē)位的信息(5)

4、。當(dāng)車(chē)輛停在停車(chē)位時(shí),停車(chē)控制器停止紅色 led 燈閃耀,向 iot hub 發(fā)送車(chē)輛已經(jīng)停泊的消息(6)。此時(shí),閘門(mén)控制器被告訴關(guān)閉閘門(mén)(7)。b). 其次種大事是車(chē)輛離開(kāi)停車(chē)位:當(dāng)車(chē)輛離開(kāi)停車(chē)場(chǎng)的時(shí)候,司機(jī)首先需要支付停車(chē)費(fèi)。在支付終端上,司機(jī)挑選他自己車(chē)輛的車(chē)牌后支付。哀求支付的消息發(fā)送至 iot hub(1)。應(yīng)用服務(wù)計(jì)算價(jià)格,并發(fā)送到支付終端(2)。當(dāng)支付終端接收付款后,發(fā)送支付勝利的消息至 iot hub(3)。應(yīng)用服務(wù)把車(chē)輛即將離開(kāi)停車(chē)場(chǎng)的送消息發(fā)送到停車(chē)控制器(4)。停車(chē)控制器開(kāi)頭閃耀綠色 led 燈。當(dāng)車(chē)輛從停車(chē)位上離開(kāi)后,iot hub 收到車(chē)輛已經(jīng)離開(kāi)的消息(5)。停車(chē)控

5、制器打開(kāi)出口閘門(mén)。在一段時(shí)光后,閘門(mén)關(guān)閉,一個(gè)指示停車(chē)位空閑的消息發(fā)送到 iot hub。之后,公告顯示上也更新全部停車(chē)位的信息(6)。3). 例程應(yīng)用在下面的例程中,我將向你演示如何便利地于 azure iot hub 通信。你需要基本的 c 學(xué)問(wèn)來(lái)理解這個(gè)例程。假如你想要編譯應(yīng)用,請(qǐng)用法 visual studio 2015。你同樣也需要 azure 賬戶來(lái)運(yùn)行例程。你可以創(chuàng)建一個(gè)免費(fèi)的 azure iot hub,并在你的 azure iot hub 上創(chuàng)建設(shè)備。用法 device explorer 完成這些任務(wù)。在 這里查看 device explorer 文檔。這里我將演示一個(gè)小的服

6、務(wù)器應(yīng)用,從 iot hub 獵取消息并處理。代碼是很容易的,并不適用于生產(chǎn)環(huán)境。這僅僅是向你介紹如何便利地同 azure iot hub 通信。在這個(gè)代碼里,我們只接收來(lái)自設(shè)備的信息,并將新的消息發(fā)送至同一個(gè)設(shè)備。你需要用法你的銜接字符串來(lái)修改服務(wù)器端的代碼。-private const string connection_string = ""-正如你在代碼中看到的一樣,我只調(diào)用了 tdxserveremulator 類(lèi)中的 connect 辦法-tdxserveremulator serveremulator = new tdxserveremulator();ser

7、veremulator.connect();-這會(huì)處理接收和響應(yīng)消息。為了用法客戶端,你需要 azure iot 的 url 替換成你自己的。device.cs.-const string iothuburl = ""-在客戶端代碼中,創(chuàng)建新的 device 對(duì)象,注冊(cè) onmessagereceived 大事。這能夠使你的設(shè)備收到來(lái)自 azure iot hub 的全部消息。-device client1 = new device("", "");client1.onmessagereceived += client1_onmessagereceived;client1.start();-接下來(lái),你可以運(yùn)行例程。兩個(gè)終端串口會(huì)在程序執(zhí)行之后浮現(xiàn)。你需要等待服務(wù)器應(yīng)用銜接。在服務(wù)器銜接后,你可以在應(yīng)用中挑選 “send hi” 。在上面的中,你可以看到客戶端發(fā)送“hi”。服務(wù)器接收到來(lái)自客戶端的消息后,用“hi from iot hub” 消息作為響應(yīng)。就像你在代碼中看到的一樣,同 azure iot hub 通信和發(fā)送消息是很簡(jiǎn)單的。對(duì)于復(fù)雜的應(yīng)用,還有許多可以改進(jìn)的地方,這固然也會(huì)使得代碼變得越發(fā)復(fù)雜。通過(guò)以上的代碼和說(shuō)明,你應(yīng)當(dāng)可以用

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論