《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于微信公眾平臺的云智能采集系統(tǒng)的設(shè)計(jì)
基于微信公眾平臺的云智能采集系統(tǒng)的設(shè)計(jì)
2015年電子技術(shù)應(yīng)用第8期
朱智星1,,白鵬飛1,,羅智杰1,周國富1,,2,,3
1.華南師范大學(xué) 華南先進(jìn)光電子研究院 彩色動(dòng)態(tài)電子紙顯示技術(shù)研究所,廣東 廣州510006,; 2.深圳市國華光電科技有限公司,,廣東 深圳518110;3.深圳市國華光電研究院,,廣東 深圳518110
摘要: 隨著物聯(lián)網(wǎng)技術(shù)在數(shù)據(jù)采集中的應(yīng)用和發(fā)展,,針對傳統(tǒng)數(shù)據(jù)采集系統(tǒng)的用戶參與性差的問題,提出了一種基于微信公眾平臺的云智能采集系統(tǒng),。該系統(tǒng)以Xilinx Zynq-7000系列全可編程片上系統(tǒng)為設(shè)計(jì)平臺,,利用PmodHMT模塊進(jìn)行溫濕度的采集;采用藍(lán)牙4.0 BLE方案與微信進(jìn)行通信,,從而實(shí)現(xiàn)了用戶實(shí)時(shí)地對云智能采集系統(tǒng)的遠(yuǎn)程控制,。
中圖分類號: TP274+.2
文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.2015.08.004

中文引用格式: 朱智星,,白鵬飛,羅智杰,,等. 基于微信公眾平臺的云智能采集系統(tǒng)的設(shè)計(jì)[J].電子技術(shù)應(yīng)用,,2015,41(8):17-19.
英文引用格式: Zhu Zhixing,,Bai Pengfei,,Luo Zhijie,et al. Design of cloud intelligent acquisition system based on WeChat public platform[J].Application of Electronic Technique,,2015,,41(8):17-19.
Design of cloud intelligent acquisition system based on WeChat public platform
Zhu Zhixing1,Bai Pengfei1,,Luo Zhijie1,,Zhou Guofu1,2,,3
1.Institute of Electronic Paper Displays, South China Academy of Advanced Optoelectronics, South China Normal University, Guangzhou 510006,,China; 2.Shenzhen Guohua Optoelectronics Tech.Co.Ltd.,,Shenzhen 518110,,China; 3.Academy of Shenzhen Guohua Optoelectronics,,Shenzhen 518110,,China
Abstract: With the development of Internet of Things, a cloud intelligent acquisition system based on WeChat public platform is presented in this paper, which aims at the problem of poor user participation in traditional data acquisition system. Xilinx Zynq-7000 series all programmable SOC(System On Chip) is used as the design platform while PmodHMT module is used to collect the information of temperature and humidity. The solution of Bluetooth 4.0 BLE (Bluetooth Low Energy) is adopted to communicate with wechat, which realizes the aim of remote control of cloud intelligent acquisition system in real time for users.
Key words : wechat public platform;all programmable SOC,;PmodHMT,;cloud intelligent acquisition system

    0 引言

    智能采集系統(tǒng)完成了對數(shù)據(jù)的實(shí)時(shí)采集和對傳感設(shè)備的實(shí)時(shí)控制,它經(jīng)歷了較長時(shí)間的發(fā)展,,并且取得了快速的進(jìn)步,。但是隨著社會的發(fā)展,網(wǎng)絡(luò)技術(shù)的進(jìn)步,,特別是物聯(lián)網(wǎng)技術(shù)的發(fā)展,,使得人們對智能采集系統(tǒng)也提出了更高的要求,在追求可視化的同時(shí),,希望可以更加方便快捷地參與到系統(tǒng)的監(jiān)控與操作當(dāng)中,,并且系統(tǒng)可以接入互聯(lián)網(wǎng)進(jìn)而通過網(wǎng)絡(luò)來控制系統(tǒng)。本文所研究的智能采集系統(tǒng)利用時(shí)下十分流行的微信公眾平臺作為媒介,,使用微信便可以可視化地完成對采集設(shè)備的遠(yuǎn)程控制和對采集數(shù)據(jù)的收集,,從而使用戶實(shí)時(shí)地參與到了系統(tǒng)之中,真正意義上實(shí)現(xiàn)了云系統(tǒng)的設(shè)計(jì)。

1 基于微信公眾平臺和ZYBO的云智能采集系統(tǒng)

1.1 系統(tǒng)研究背景

    當(dāng)前的嵌入式設(shè)計(jì)中,,對于高性能,、低功耗且擴(kuò)展性強(qiáng)的處理器的要求越來越高的同時(shí),追求軟件和硬件的協(xié)同設(shè)計(jì),、軟件和硬件的協(xié)同調(diào)試以及嵌入式處理器和I/O口在單芯片內(nèi)的完美結(jié)合,。傳統(tǒng)的數(shù)據(jù)采集系統(tǒng)大多采用ARM或者FPGA方案,并不能滿足這樣的設(shè)計(jì)要求,。本設(shè)計(jì)采用的ZYBO(ZYnq BOard)是一款基于Xilinx-7000系列Z-7010構(gòu)建的高性能,、低功耗的嵌入式即用型軟件和數(shù)字電路開發(fā)平臺。Z-7010是基于Xilinx全可編程片上系統(tǒng)(ALL Programmable System-on-Chip)結(jié)構(gòu),,該結(jié)構(gòu)在單芯片內(nèi)集成了一個(gè)雙核ARM Cortex-A9處理器和Xilinx 7系列的FPGA,。ARM+FPGA的體系結(jié)構(gòu)提供靈活的通信和外部擴(kuò)展的功能,體現(xiàn)了軟硬結(jié)合的設(shè)計(jì)思想,,能夠很好地完成處理器在與微信進(jìn)行通信的同時(shí)還能控制外部傳感器外設(shè)的設(shè)計(jì)需求,。

    現(xiàn)存的數(shù)據(jù)采集系統(tǒng)在用戶參與方面存在一些不足,本設(shè)計(jì)創(chuàng)新性地使用了微信公眾平臺,使得用戶參與性更強(qiáng),,彌補(bǔ)了之前的不足,實(shí)現(xiàn)了云系統(tǒng)設(shè)計(jì)的概念,。微信是騰訊公司于2011年1月21日推出的一款免費(fèi)的即時(shí)通信軟件,,支持跨系統(tǒng)平臺、跨通信運(yùn)營商通過網(wǎng)絡(luò)發(fā)送文字,、語音,、圖片和視頻等信息。微信提供公眾平臺,、朋友圈,、消息推送等功能,可以通過搖一搖、搜索號碼,、附近的人,、掃二維碼方式添加好友和關(guān)注公眾平臺[1]。微信公眾平臺是騰訊公司在微信連接人與人的基礎(chǔ)上建立的服務(wù)功能模塊,,于2012年8月18日推出,。通過微信公眾平臺,實(shí)現(xiàn)了微信與第三方的連接,,也就是實(shí)現(xiàn)了人與服務(wù)的連接,。通過這一平臺,每一個(gè)人都可以打造屬于自己的一個(gè)微信公眾帳號,,從而實(shí)現(xiàn)與特定群體的文字,、圖片和語音的全方位溝通互動(dòng)[2]

1.2 系統(tǒng)實(shí)現(xiàn)架構(gòu)

    圖1為本設(shè)計(jì)的總體實(shí)現(xiàn)框圖。ZYBO主控模塊完成與藍(lán)牙模塊和傳感器模塊的互連,。主控模塊又可分為處理系統(tǒng)(Processing System,,PS)部分和可編程邏輯(Programmable Logic,PL)部分,。PS部分包括雙核ARM Cortex-A9,、存儲器接口以及通用外設(shè)接口等資源。PL部分也就是常規(guī)的FPGA,,通過PL生成的IP核可以作為ARM內(nèi)核的擴(kuò)展外圍設(shè)備或者ARM內(nèi)核的加速部件[3],。其中PS部分通過串口與藍(lán)牙模塊相連,本設(shè)計(jì)使用的是主從一體TI CC2541藍(lán)牙4.0 BLE串口模塊,。在PL部分建立IP核驅(qū)動(dòng)傳感器模塊,,本設(shè)計(jì)使用的傳感器是PmodHMT高精度溫濕度傳感器。該傳感器支持ZYBO板上的Pmod接口,,具有多種分辨率,,可以通過用戶寄存器的配置來適應(yīng)實(shí)際應(yīng)用的需求。該傳感器模塊完成了本系統(tǒng)的數(shù)據(jù)采集功能,,可對范圍-40 ℃~85 ℃的溫度和0~100%的相對濕度進(jìn)行測量,,溫濕度分辨率分別為14 bit和12 bit。藍(lán)牙模塊與手機(jī)微信之間通過4.0 BLE藍(lán)牙相連接,,具體協(xié)議為微信藍(lán)牙外設(shè)協(xié)“AirSync”,。該協(xié)議支持經(jīng)典藍(lán)牙和4.0 BLE藍(lán)牙,支持iOS和Android系統(tǒng),。該協(xié)議打通了主控開發(fā)板,、藍(lán)牙模塊與自己建立的服務(wù)器之間的數(shù)據(jù)通路,支持將開發(fā)板上的數(shù)據(jù)發(fā)送到自己建立的服務(wù)器,,同時(shí)也支持將服務(wù)器中的數(shù)據(jù)發(fā)送到開發(fā)板,。不僅如此,該協(xié)議還打通了開發(fā)板與微信服務(wù)器之間的數(shù)據(jù)通路,,使得開發(fā)板與微信服務(wù)器之間也可以實(shí)現(xiàn)數(shù)據(jù)互傳,。

qrs2-t1.gif

2 開發(fā)板端設(shè)計(jì)

    本設(shè)計(jì)的主控開發(fā)板是ZYBO,由于其本身PS+PL的架構(gòu),,故將開發(fā)板端的設(shè)計(jì)分為PS部分的設(shè)計(jì)和PL部分的設(shè)計(jì),。又因?yàn)閆YBO是軟硬件均可進(jìn)行編程的設(shè)計(jì)平臺,所以開發(fā)板端的設(shè)計(jì)同時(shí)包括了硬件設(shè)計(jì)和軟件設(shè)計(jì),。圖2為開發(fā)板端的設(shè)計(jì)框圖,。

qrs2-t2.gif

2.1 PS部分設(shè)計(jì)

    PS部分以雙ARM Cortex-A9核為主體,針對本設(shè)計(jì)利用UART接口與藍(lán)牙串口模塊進(jìn)行串行通信,。PS內(nèi)部有兩個(gè)UART,,UART控制器通過APB總線和PS進(jìn)行內(nèi)部連接[4],而本設(shè)計(jì)僅使用一個(gè)UART接口。同時(shí)這部分設(shè)計(jì)還包括對于一些存儲器的控制,。

    由于本設(shè)計(jì)使用了PL部分,,而PL可以看成是PS的一個(gè)可以重新配置的外設(shè),所以PS與PL的通信成為一個(gè)很重要的問題,。PS與PL之間可以通過使用多個(gè)接口和信號實(shí)現(xiàn)緊密或者松散的耦合關(guān)系,,用于PS與PL數(shù)據(jù)交換的總線接口有2個(gè)AXI_GP主設(shè)備接口、2個(gè)AXI_GP從設(shè)備接口,、4個(gè)AXI_HP從設(shè)備接口和1個(gè)AXI_ACP接口,,這些接口屬于功能性接口,基于AXI總線協(xié)議[4],。PS內(nèi)部的AXI總線是按照AMBA總線協(xié)議[5]來設(shè)計(jì)的,。本設(shè)計(jì)在PS部分采用了AXI_GP主設(shè)備接口M_AXI_GP0,這就提供了PS對PL的訪問機(jī)制,。

2.2 PL部分設(shè)計(jì)

    PL的本質(zhì)就是Xilinx FPGA,,它的加入為傳統(tǒng)的ARM SoC芯片提供了更多的靈活性設(shè)計(jì),同時(shí)也提供了更豐富的可配置資源,。

    由于本設(shè)計(jì)使用了PmodHMT高精度溫濕度傳感器,,從而需要使用Pmod接口。Pmod接口是由Digilent公司開發(fā)的用于低速LPC外設(shè)與主控板之間的接口協(xié)議[4],,ZYBO上有6個(gè)Pmod接口,,其中有5個(gè)Pmod接口(JA、JB,、JC、JD,、JE)連接到ZYBO的PL部分,,另外一個(gè)Pmod接口(JF)連接到PS部分的MIO總線。PmodHMT只需使用標(biāo)準(zhǔn)Pmod接口(JE),,即把傳感器模塊與PL部分連接起來當(dāng)作PS的外設(shè),。PS部分使用了AXI_GP接口,由于本設(shè)計(jì)對傳感器的控制所傳輸?shù)臄?shù)據(jù)量較小,,只需要采用AXI_Lite接口即可,。

    本設(shè)計(jì)需要構(gòu)建一個(gè)用戶IP核以實(shí)現(xiàn)對傳感器的控制,該IP核基于AXI_Lite規(guī)范,,控制溫濕度傳感器采集環(huán)境的溫度和濕度信息,。用戶IP核與PS端的M_AXI_GP0之間的連接需要AXI Interconnect模塊,但該模塊不需要用戶設(shè)計(jì),,系統(tǒng)會自動(dòng)生成,,同時(shí)生成的還有PS端的reset模塊。

3 微信端設(shè)計(jì)

    微信端的設(shè)計(jì)目的是以“AirSync”為基礎(chǔ),通過對微信服務(wù)器和自己建立的服務(wù)器的配置以完成開發(fā)板端與微信端的數(shù)據(jù)通信,。本設(shè)計(jì)的具體功能是用戶使用微信掃描開發(fā)板上的二維碼,,綁定開發(fā)板;然后進(jìn)入公眾號,,微信會自動(dòng)與開發(fā)板端連接,,當(dāng)用戶點(diǎn)擊公眾號中的“采集”菜單時(shí),傳感器會采集實(shí)時(shí)的溫濕度信息,,然后將信息發(fā)送到服務(wù)器,,服務(wù)器收到消息后,再將信息發(fā)送到公眾平臺顯示,,內(nèi)容為溫濕度的詳情,。微信官方的微信藍(lán)牙外設(shè)協(xié)議框圖如圖3,在本設(shè)計(jì)中外設(shè)對應(yīng)開發(fā)板端,,廠商服務(wù)器對應(yīng)自己建立的服務(wù)器,。

微信端的設(shè)計(jì)首先要注冊公眾賬號(服務(wù)號),然后開通相關(guān)的硬件功能權(quán)限,。自己建立的服務(wù)器需要在公眾平臺中接入,,但要注意填寫服務(wù)器地址(URL)、Token和EncodingAESKey,。然后需要把所需的代碼部署到服務(wù)器,,但要注意微信公眾號接口只支持80接口[6]

qrs2-t3.gif

    服務(wù)器的開發(fā)需要完成處理設(shè)備的綁定,、解綁等功能,,同時(shí)還需要完成和設(shè)備進(jìn)行消息收發(fā)的功能。設(shè)計(jì)的流程框圖如圖4和圖5,。

qrs2-t4.gif

qrs2-t5.gif

    圖4為用戶進(jìn)入公眾平臺并進(jìn)行關(guān)注和綁定開發(fā)板的過程,。當(dāng)用戶關(guān)注公眾號和綁定時(shí),微信會把消息推送給服務(wù)器,,服務(wù)器收到消息后會反饋消息給用戶顯示綁定成功,。完成綁定后用戶便可以通過微信控和制操作設(shè)備。在綁定的過程中,,服務(wù)器要將用戶與設(shè)備之間的綁定關(guān)系進(jìn)行存儲,,以便接下來用戶通過微信操作設(shè)備時(shí),查詢到具體的設(shè)備信息,,然后精確地進(jìn)行數(shù)據(jù)和控制信息的收發(fā),。

    圖5為綁定成功后操作設(shè)備的具體過程。用戶點(diǎn)擊功能菜單后,,點(diǎn)擊信息會推送給服務(wù)器,,然后服務(wù)器會給設(shè)備推送push信息,,設(shè)備收到該消息不需要回復(fù)服務(wù)器,只需要作出相應(yīng)的動(dòng)作,。本設(shè)計(jì)中傳感器會進(jìn)行溫濕度的測量,。測量后,設(shè)備會向服務(wù)器發(fā)出一個(gè)req消息,,服務(wù)器收到該消息后必須回復(fù)一個(gè)resp消息給設(shè)備以表示收到設(shè)備的請求,。最后服務(wù)器發(fā)送消息給微信端,內(nèi)容為具體的測量結(jié)果,。

4 結(jié)束語

    本設(shè)計(jì)采用高性能,、低功耗的嵌入式軟硬件協(xié)同設(shè)計(jì)的ZYBO設(shè)計(jì)平臺,PS部分利用串口控制藍(lán)牙模塊,,PL部分構(gòu)建了一個(gè)用戶IP核來控制傳感器模塊,,PS部分與PL部分通過AXI總線進(jìn)行通信。開發(fā)板端與微信端以微信藍(lán)牙外設(shè)協(xié)議為基礎(chǔ)實(shí)現(xiàn)數(shù)據(jù)通信,,使得用戶可以通過公眾平臺實(shí)時(shí)地參與到該云采集系統(tǒng)中來,。接下來的工作可以在了解更多微信公眾平臺功能的基礎(chǔ)上優(yōu)化設(shè)計(jì)功能和細(xì)節(jié),例如可以加入語音輸入控制和地理位置顯示等功能,。

參考文獻(xiàn)

[1] 肖金華,,黃麗紅.基于微信的圖書館信息服務(wù)模式研究[J].現(xiàn)代情報(bào),2013(6):55-57.

[2] 陳錦波.基于微信的圖書館信息資源推送研究[J].四川圖書館學(xué)報(bào),,2013(4):7-10.

[3] 高偉林,,曹峰,佟川,,等.基于Zynq的圖形生成電路設(shè)計(jì)與實(shí)現(xiàn)[J].液晶與顯示,,2014,29(6):944-949.

[4] 陸佳華,,潘祖龍,,彭競宇,等.嵌入式系統(tǒng)軟硬件協(xié)同設(shè)計(jì)實(shí)戰(zhàn)指南:基于Xilinx ZYNQ(第2版)[M].北京:機(jī)械工業(yè)出版社,,2014.

[5] 何賓.Xilinx All Programmable Zynq 7000 SoC設(shè)計(jì)指南[M].北京:清華大學(xué)出版社,,2013.

[6] 騰訊.微信公眾平臺開發(fā)者文檔[EB/OL].[2015-04-15].http://mp.weixin.qq.com/wiki/home/index.html.

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。