• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      Dragonboard 410C開發(fā)板在物聯(lián)網(wǎng)設(shè)計(jì)中的應(yīng)用

      2019-12-04 04:16:01李偉吳瓊
      關(guān)鍵詞:令牌開發(fā)板代碼

      李偉 吳瓊

      摘要:本文設(shè)計(jì)和實(shí)現(xiàn)了一種基于Dragonboard 410C開發(fā)板的物聯(lián)網(wǎng)實(shí)驗(yàn)平臺(tái)。該平臺(tái)通過采用微信客戶端、微信公眾平臺(tái)、新浪云應(yīng)用SAE和OneNET物聯(lián)網(wǎng)平臺(tái)相配合。利用互聯(lián)網(wǎng)傳輸協(xié)議,通過微信指令控制Dragonboard 410C開發(fā)板連接的硬件資源。該方案可以有效降低學(xué)生開發(fā)物聯(lián)網(wǎng)項(xiàng)目的難度,有助于學(xué)生了解物聯(lián)網(wǎng)體系接結(jié)構(gòu)。

      關(guān)鍵詞:Dragonbaord 410C;微信公眾號(hào);OneNET云平臺(tái);云應(yīng)用SAE

      中圖分類號(hào):TP368 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2019)08-0139-03

      0 引言

      隨著智能農(nóng)業(yè)、智能交通、智能家居等的快速發(fā)展,應(yīng)用物聯(lián)網(wǎng)技術(shù)的產(chǎn)品也快速的走進(jìn)了千家萬(wàn)戶。要組建一個(gè)具有通信和交互功能的物聯(lián)網(wǎng)產(chǎn)品,需要由終端設(shè)備、網(wǎng)關(guān)、物聯(lián)云平臺(tái)等構(gòu)成[1-3]。傳統(tǒng)的終端設(shè)備需要由底層開始開發(fā),難度比較大,對(duì)于剛進(jìn)入物聯(lián)網(wǎng)專業(yè)學(xué)習(xí)的學(xué)生來(lái)說(shuō),不易理解物聯(lián)網(wǎng)的體系結(jié)構(gòu),而Dragonbaord 410C開發(fā)板作為一體的物聯(lián)網(wǎng)終端設(shè)備,可以較好的應(yīng)用在教學(xué)實(shí)踐以及創(chuàng)新設(shè)計(jì)中,能較好的幫助學(xué)生理解物聯(lián)網(wǎng)體系的應(yīng)用層、網(wǎng)絡(luò)層,感知層的體系結(jié)構(gòu)。

      1 Dragonboard 410C開發(fā)板簡(jiǎn)介

      Dragonboard 410C開發(fā)板作為本系統(tǒng)的硬件主體平臺(tái) 它的尺寸僅有信用卡那么大。作為由高通公司開發(fā)的最前沿的物聯(lián)網(wǎng)硬件開發(fā)平臺(tái),DragonBoard 410c開發(fā)板具有非常強(qiáng)大的性能。Dragonboard 410C開發(fā)板是首款采用Snapdragon 410處理器的硬件平臺(tái),板載資源包括1GB LPDDR3 RAM、8GB eMMC 4.51 Flash、WiFi/BT/GPS/FM功能、60pin高速擴(kuò)展接口、40pin低速擴(kuò)展接口以及16pin模擬擴(kuò)展接口等[4]。用戶通過將鍵盤、鼠標(biāo)、顯示器等和開發(fā)板一起連接,便可構(gòu)成一部卡片式計(jì)算機(jī)。該開發(fā)板不僅可以運(yùn)行Linux系統(tǒng),還可運(yùn)行Android系統(tǒng),對(duì)于物聯(lián)網(wǎng)產(chǎn)品的開發(fā)非常便利。該開發(fā)板如圖1所示。

      2 基于Dragonboard 410C的實(shí)驗(yàn)系統(tǒng)設(shè)計(jì)

      基于微信控制Dragonboard 410C開發(fā)板的物聯(lián)網(wǎng)應(yīng)用設(shè)計(jì)系統(tǒng)包括微信公眾號(hào)的開發(fā)、新浪云應(yīng)用SAE的開發(fā)、OneNET云平臺(tái)的開發(fā)及Dragonboard 410C平臺(tái)的開發(fā)及配置。實(shí)驗(yàn)系統(tǒng)設(shè)計(jì)的主要思路為創(chuàng)建一個(gè)微信公眾號(hào)并進(jìn)行微信公眾號(hào)的后臺(tái)服務(wù)器配置,當(dāng)用戶關(guān)注了該公眾號(hào)之后即可使用命令與后臺(tái)配置的服務(wù)器進(jìn)行信息交互。當(dāng)微信公眾號(hào)后臺(tái)的服務(wù)器收到用戶的相應(yīng)指令并解析后,發(fā)送相應(yīng)的數(shù)據(jù)到OneNET平臺(tái)所創(chuàng)建項(xiàng)目中。Dragonboard 410C開發(fā)板通過OneNET 設(shè)備接入?yún)f(xié)議和OneNET 云平臺(tái)進(jìn)行信息交互,根據(jù)獲取到的數(shù)據(jù)來(lái)控制Dragonboard 410C開發(fā)板上的硬件資源,整體流程圖如圖2所示。本文以微信控制Dragonboard 410C開發(fā)板的GPIO口所連接的LED燈為例,當(dāng)用戶發(fā)送開指令時(shí)連接在Dragonboard 410C開發(fā)板上的LED燈點(diǎn)亮,當(dāng)用戶發(fā)送關(guān)指令時(shí)LED燈變滅,以此模擬微信對(duì)Dragonboard 410C開發(fā)板的硬件控制。

      3 基于微信控制的Dragonboard 410C的物聯(lián)網(wǎng)系統(tǒng)開發(fā)

      3.1 微信公眾號(hào)平臺(tái)開發(fā)

      首先需要申請(qǐng)微信公眾平臺(tái),在微信公眾平臺(tái)上注冊(cè)賬號(hào),在注冊(cè)賬號(hào)的過程中選擇訂閱號(hào),并按照對(duì)應(yīng)的提示完善信息。完成微信公眾平臺(tái)注冊(cè)并登錄后,可以見到設(shè)置、開發(fā)等選項(xiàng)。進(jìn)入設(shè)置選項(xiàng)中的公眾號(hào)設(shè)置可以設(shè)置所創(chuàng)建的公眾號(hào)的名稱、微信公眾號(hào)的簡(jiǎn)介等信息。其中最為重要的是開發(fā)選項(xiàng),開發(fā)選項(xiàng)中的基本配置是微信公眾平臺(tái)開發(fā)最為關(guān)鍵的一步,其中最重要的是設(shè)置服務(wù)器配置。服務(wù)器配置中有幾個(gè)關(guān)鍵的參數(shù),服務(wù)器地址、令牌和消息加解密密鑰,服務(wù)器地址是開發(fā)者用來(lái)接收微信消息和事件的接口地址,在本文中設(shè)置為所創(chuàng)建的新浪云應(yīng)用SAE的地址。令牌可以任意填寫,用作生成簽名,該令牌需要和服務(wù)器地址中的令牌進(jìn)行比對(duì),從而驗(yàn)證信息的安全性。同時(shí)用戶可以選擇消息加解密方式,默認(rèn)的為明文方式。一旦設(shè)置好服務(wù)器地址及令牌并提交信息后,可以驗(yàn)證服務(wù)器地址的有效性,微信服務(wù)器會(huì)發(fā)送GET請(qǐng)求到填寫的服務(wù)器地址上并返回參數(shù)進(jìn)行驗(yàn)證,若返回相應(yīng)參數(shù)信息則接入有效,否則為接入失敗。

      3.2 新浪云應(yīng)用SAE的創(chuàng)建

      通過注冊(cè)一個(gè)賬號(hào)后登陸新浪云應(yīng)用服務(wù)器,進(jìn)入新浪云的網(wǎng)站后在頂部“控制臺(tái)”菜單下選擇下拉菜單“云應(yīng)用SAE”,并創(chuàng)建一個(gè)新的云應(yīng)用,并進(jìn)行相應(yīng)的配置。創(chuàng)建的新應(yīng)用的開發(fā)語(yǔ)言選擇為Python,運(yùn)行環(huán)境選擇為共享環(huán)境,該環(huán)境僅支持Python2.7的版本。代碼管理方式有SVN和Git兩種模式,選擇SVN模式可以同時(shí)管理多個(gè)版本的代碼,本文中選擇SVN模式。二級(jí)域名和應(yīng)用名稱由用戶自己輸入,二級(jí)域名前綴由字母數(shù)字構(gòu)成,應(yīng)用名稱可以由中英文構(gòu)成。創(chuàng)建的云應(yīng)用默認(rèn)版本為1,默認(rèn)的二級(jí)域名為http://1.輸入的二級(jí)域名前綴.applinzi.com。點(diǎn)擊云應(yīng)用的管理選項(xiàng)后選擇代碼管理,點(diǎn)擊在線編輯可以修改代碼。

      可以看到默認(rèn)的代碼文件是config.yaml和index.wsgi構(gòu)成。config.yaml 是新浪云SAE 的項(xiàng)目配置文件,在config.yaml中配置代碼主要是配置一些對(duì)應(yīng)的庫(kù)文件,利用- name:webpy以及version:"0.36"配置webpy包,利用-name:lxml以及version: "2.3.4"配置lxml包,從代碼中以分析出云應(yīng)用的服務(wù)中即將要調(diào)用webpy和lxml包。

      index.wsgi 就是wsgi接口的應(yīng)用的定義文件,擴(kuò)展名為.wsgi,實(shí)質(zhì)為普通的Python文件。根據(jù)新浪云SAE的環(huán)境要求,需要定義一個(gè)為應(yīng)用的可調(diào)用對(duì)象,在index.wsgi中配置代碼主要為導(dǎo)入os、sae以及web包,然后調(diào)用新創(chuàng)建的Interface.py文件中的所定義的服務(wù)類程序,代碼urls = ('/weixin','Interface1')和新浪云應(yīng)用SAE中的二級(jí)域名共同構(gòu)成微信公眾號(hào)服務(wù)器的地址。即得微信服務(wù)器的地址為http://1.db410.applinzi.com/weixin。

      從微信公眾平臺(tái)開發(fā)文檔中可以看到微信公眾平臺(tái)回復(fù)微信的消息有很多種方式,文本消息、語(yǔ)音消息等,在本文中選擇最簡(jiǎn)單的文本消息的回復(fù)。根據(jù)微信公眾平臺(tái)給出的.xml文件代碼進(jìn)行修改,實(shí)現(xiàn)特定的消息返回給用戶。因此需要在云應(yīng)用的代碼管理中新創(chuàng)建一個(gè)名為templates的文件夾,并在該文件夾中創(chuàng)建名為reply_text.xml的文件。使用$def with(toUser,fromUser,create Time,content)完成模板回復(fù)功能的封裝,xml相關(guān)的代碼在微信在微信公眾號(hào)開發(fā)平臺(tái)有說(shuō)明。

      最后在云應(yīng)用的代碼管理中創(chuàng)建一個(gè)名為Interface.py的文件,該文件用來(lái)進(jìn)行令牌驗(yàn)證及根據(jù)不同的指令做出不同的回應(yīng)。在該文件中利用GET方法完成和微信公眾平臺(tái)的令牌驗(yàn)證,只要在該文件中的令牌和微信公眾平臺(tái)的令牌驗(yàn)證一致,就可以互相通信。使用str_xml = web.data()獲得post來(lái)的數(shù)據(jù),并根據(jù)微信發(fā)過來(lái)的不同指令的內(nèi)容做出不同的響應(yīng),做出不同的回應(yīng)并回復(fù)特定消息給用戶,回復(fù)特定消息給用戶的語(yǔ)句為return self.render.reply_ text(fromUser, toUser, int(time.time()),"回復(fù)給用戶的文字") ,當(dāng)指令無(wú)法識(shí)別時(shí)同樣利用上述代碼回復(fù)給用戶一個(gè)提示信息。

      3.3 OneNET云平臺(tái)

      OneNET云平臺(tái)是由中國(guó)移動(dòng)開發(fā)的物聯(lián)網(wǎng)開放云平臺(tái),包括應(yīng)用域、平臺(tái)域和設(shè)備域。該平臺(tái)具有多協(xié)議接入、豐富的API支持、數(shù)據(jù)安全存儲(chǔ)等優(yōu)點(diǎn)。各類終端可以使用OneNET平臺(tái)提供的多種通信協(xié)議接入網(wǎng)絡(luò),實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)傳輸、數(shù)據(jù)管理等。OneNET的接入?yún)f(xié)議包括HTTP、EDP、MQTT、TCP透?jìng)鞯?,按照不同的?shù)據(jù)協(xié)議,OneNET云平臺(tái)將接收到的數(shù)據(jù)解包存儲(chǔ),開發(fā)應(yīng)用是通過Rsetful API 的方式實(shí)現(xiàn)和OneNET平臺(tái)進(jìn)行交互對(duì)接[5-7]。如圖3所示。

      完成在OneNET物聯(lián)網(wǎng)平臺(tái)的的注冊(cè)以后,進(jìn)入開發(fā)者中心即可創(chuàng)建自己的產(chǎn)品,其中最重要的信息為“設(shè)備接入?yún)f(xié)議”的選擇、數(shù)據(jù)流的創(chuàng)建以及APIKEY。在本文中設(shè)備接入?yún)f(xié)議選擇”HTTP”協(xié)議,創(chuàng)建的設(shè)備的ID、數(shù)據(jù)流名稱、APIKEY及設(shè)備的URL地址需一致。在使用Python2.7云應(yīng)用完成的SAE的服務(wù)函數(shù)及Dragon board 410C開發(fā)板上運(yùn)行的程序中都會(huì)使用這些參數(shù)。

      3.4 Dragonboard 410C開發(fā)板硬件連接及網(wǎng)絡(luò)連接

      Dragonboard 410C開發(fā)板上的LED燈的連接比較簡(jiǎn)單,利用導(dǎo)線將LED燈的一個(gè)引腳接入GPIO的33引腳,另一端接入開發(fā)板的GND引腳。

      整個(gè)開發(fā)過程需要和互聯(lián)網(wǎng)進(jìn)行通信,因此需將Dragonboard 410C開發(fā)板接入到互聯(lián)網(wǎng)。Dragonboard 410c開發(fā)板上自帶有了WiFi連接模塊,通過對(duì)WiFi模塊進(jìn)行設(shè)置即可接入到互聯(lián)網(wǎng)。Dragonboard 410C開發(fā)板啟動(dòng)后,選擇右下角的網(wǎng)絡(luò)連接,選擇WiFi熱點(diǎn)并輸入密碼,最后點(diǎn)擊連接就可以將Dragonboard 410C開發(fā)板接入互聯(lián)網(wǎng)。Dragonboard 410c開發(fā)板上電后開始自動(dòng)運(yùn)行代碼,主要完成通過通信協(xié)議獲取OneNET物聯(lián)網(wǎng)云平臺(tái)對(duì)應(yīng)的數(shù)據(jù)流。

      4 系統(tǒng)測(cè)試

      手機(jī)端的微信訂閱創(chuàng)建的微信公眾號(hào)后,輸入信息框分別發(fā)送“open”和“close”命令后,微信公眾號(hào)可以識(shí)別不同的命令進(jìn)行自動(dòng)回復(fù),當(dāng)命令超出識(shí)別范圍也可以有相應(yīng)的回復(fù)信息。相應(yīng)過程會(huì)存在短暫的延時(shí),主要由網(wǎng)絡(luò)延時(shí)引起。發(fā)送“open”命令后,LED燈點(diǎn)亮;,發(fā)送“close”命令后,LED燈變滅。微信端顯示界面如圖4所示,OneNET平臺(tái)的數(shù)據(jù)流如圖5所示。

      5 結(jié)語(yǔ)

      本文設(shè)計(jì)了一種基于Dragonboard 410C開發(fā)板的物聯(lián)網(wǎng)實(shí)驗(yàn)平臺(tái),利用Dragonboard 410C開發(fā)板作為硬件。利用微信公眾平臺(tái)的服務(wù)器將微信發(fā)送過來(lái)的命令進(jìn)行解析,然后將數(shù)據(jù)發(fā)送到OneNet云平臺(tái),利用OneNet云平臺(tái)提供的網(wǎng)絡(luò)通信協(xié)議和硬件進(jìn)行信息交互的物聯(lián)網(wǎng)實(shí)驗(yàn)平臺(tái)。該平臺(tái)有助于學(xué)生深入理解物聯(lián)網(wǎng)的體系架構(gòu),降低開發(fā)難度,為物聯(lián)網(wǎng)專業(yè)的學(xué)生開展創(chuàng)新實(shí)踐提供支持。

      參考文獻(xiàn)

      [1] 楊艷,李東睿.淺談基于OneNET平臺(tái)的物聯(lián)網(wǎng)通用應(yīng)用平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[J].數(shù)字通信世界,2018(1):57-58.

      [2] 桂龍,戴小鵬,申聰.基于樹莓派和onenet云平臺(tái)的智能家居系統(tǒng)的設(shè)計(jì)[J].福建電腦,2018(1):33-34.

      [3] 王春梅,楊文龍.樹莓派接入OneNET實(shí)現(xiàn)物聯(lián)網(wǎng)系統(tǒng)的設(shè)計(jì)[J].電子設(shè)計(jì)工程,2019,27(07):133-137+143.

      [4] 迎九.高通-艾睿為創(chuàng)客提供DragonBoard 410c開發(fā)板[J].電子產(chǎn)品世界,2015(7):74.

      [5] 張偉,胡雄強(qiáng),王明倩,等.一種基于物聯(lián)網(wǎng)的智能家居系統(tǒng)設(shè)計(jì)[J].信息技術(shù),2019(03):48-51.

      [6] 陳寶遠(yuǎn),褚慶文,孫忠祥,等.一種基于OneNet設(shè)備云的智能硬件組網(wǎng)方法[J].哈爾濱理工大學(xué)學(xué)報(bào),2017,22(5):76-80.

      [7] 彭小紅,邢旭峰,曾宏俊.基于OneNet物聯(lián)網(wǎng)云平臺(tái)的智能養(yǎng)殖系統(tǒng)[J].現(xiàn)代計(jì)算機(jī),2017,11(31):65-68.

      Application of Dragonboard 410C Board in Internet of Things Design

      LI Wei1,WU Qiong2

      (1.Xinjiang Agricultural University, Urumqi Xinjiang? 830052;

      2.State Grid Xinjiang Electric Power Company Maintenance Company, Urumqi Xinjiang? 830052)

      Abstract:This paper designs and implements an Internet of Things experimental platform based on the Dragonboard 410C board. The platform works with WeChat client, WeChat Official Accounts platform, SinaAppEngine and OneNET IoT platform. With the Internet transmission protocol, WeChat commands can control the hardware of Dragonboard 410C. This platform can effectively reduce the difficulty of IoT for students,? it also helps students understand the structure of the IoT system.

      Key words:Dragonbaord 410C; WeChat Official Accounts platform; OneNET cloud platform; SinaAppEngine

      猜你喜歡
      令牌開發(fā)板代碼
      稱金塊
      基于路由和QoS令牌桶的集中式限速網(wǎng)關(guān)
      創(chuàng)世代碼
      創(chuàng)世代碼
      創(chuàng)世代碼
      創(chuàng)世代碼
      動(dòng)態(tài)令牌分配的TCSN多級(jí)令牌桶流量監(jiān)管算法
      Microchip最新推出兩款PIC32 Curiosity開發(fā)板
      淺析單片機(jī)開發(fā)板的設(shè)計(jì)與制作
      電子制作(2017年22期)2017-02-02 07:10:14
      Mouser為您呈上開發(fā)關(guān)鍵之STMicroelectronics Nucleo開發(fā)板
      靖边县| 板桥市| 曲松县| 宽甸| 壶关县| 万盛区| 仙居县| 青浦区| 沈阳市| 延寿县| 新巴尔虎右旗| 马鞍山市| 八宿县| 祁阳县| 建德市| 茂名市| 黄石市| 西峡县| 丽水市| 井陉县| 鹤庆县| 新竹市| 通渭县| 珠海市| 连城县| 潮州市| 砀山县| 荃湾区| 四会市| 凌源市| 高雄县| 禹州市| 昌黎县| 张家界市| 阿图什市| 临颍县| 略阳县| 罗定市| 大名县| 怀宁县| 丰都县|