張佳進,陳立暢,譚雅青,唐君君,聶劍鋒
(1.云南農(nóng)業(yè)大學 基礎與信息工程學院,昆明650201;2.云南農(nóng)業(yè)大學 機電工程技術學院)
張佳進(講師),研究方向為嵌入式系統(tǒng)、計算機測控;陳立暢(講師),研究方向為智能信息處理。
引 言
隨著物聯(lián)網(wǎng)技術的迅速發(fā)展,許多嵌入式系統(tǒng)具備了聯(lián)網(wǎng)功能,為方便系統(tǒng)開發(fā)者集中監(jiān)控和管理遠程嵌入式系統(tǒng),同時方便其他PC網(wǎng)上用戶或智能手機App能夠獲取嵌入式系統(tǒng)數(shù)據(jù),實現(xiàn)遠程讀數(shù)與控制[1-3],本文提出了以STM32F103RC 處理器為核心,結合WIZnet公司的W5500 以太網(wǎng)接口芯片,利用新浪微博的二次開發(fā)接口[4],設計了嵌入式新浪微博客戶端,從而實現(xiàn)社交網(wǎng)絡與嵌入式硬件系統(tǒng)的互動,可以把人與人的關系拓展到人與物的關系、物與物的關系。本系統(tǒng)結構如圖1所示。
圖1 系統(tǒng)整體結構
STM32F103RC 是 基 于Cortex-M3 內(nèi) 核 的32 位ARM 處理器芯片,其工作頻率可達72 MHz;內(nèi)置高速大容量存儲器(512KB Flash、64KB RAM);豐富的增強I/O端口和外設資源,包括2 個12 通道DMA 控制器、5 路USART、3路SPI以及12位的ADC、DAC、FSMC、SDIO、USB、CAN 總線、I2C 總線等;具有標準和先進的通信接口;提供可編程電壓檢測器(PVD),保證整個系統(tǒng)的穩(wěn)定工作,具備較強的抗干擾能力。STM32F103RC 廣泛應用于醫(yī)療、手持終端、智能儀器儀表、計算機測控等領域[5]。
W5500是一款全硬件TCP/IP嵌入式以太網(wǎng)控制器,使用硬件邏輯門電路實現(xiàn)TCP/IP協(xié)議棧的傳輸層及網(wǎng)絡層(包括TCP、UDP、ICMP、IPv4、ARP、IGMP、PPPoE 等協(xié)議),并集成了數(shù)據(jù)鏈路層、物理層,以及32KB片上RAM作為數(shù)據(jù)收發(fā)緩存器。從而把網(wǎng)絡數(shù)據(jù)流量的處理工作全部轉移到W5500集成硬件中進行,使得嵌入式主控芯片MCU 只需承擔TCP/IP應用層控制信息的處理任務,從而大幅減少了上位機對于數(shù)據(jù)復制、協(xié)議處理和中斷處理等方面的工作量,提升了系統(tǒng)利用率及可靠性。
在操作過程中,可以把W5500作為MCU 的一個外設RAM 來使用,操作簡單方便。另外,W5500提供網(wǎng)絡喚醒及省電模式供客戶選用,從而降低系統(tǒng)功耗;還提供了SPI串行接口,能夠很容易實現(xiàn)與外設MCU 的整合,為嵌入式系統(tǒng)提供了簡易的互聯(lián)網(wǎng)接入方案。圖2 為W5500硬件系統(tǒng)結構[6]。
圖2 W5500硬件系統(tǒng)結構
圖3為嵌入式微博客戶端硬件評估板,其系統(tǒng)結構和主要電路原理圖分別見圖4~圖6,該系統(tǒng)主要包括以下模塊:
①USB 電 源、RS232 通 信模塊;
②RESET 復位模塊,復位MCU;
③AT24C16EEPROM 存儲模塊,存儲系統(tǒng)參數(shù)等信息;
圖3 嵌入式微博客戶端硬件測試板
圖4 嵌入式微博客戶端硬件系統(tǒng)原理
④W5500模塊,實現(xiàn)以太網(wǎng)接口功能;
⑤STM32F103RC ARM 處理器;
⑥RJ45以太網(wǎng)硬件接口模塊;
⑦JTAG 程序下載接口模塊。
為了方便ARM Cortex系列CPU 的開發(fā),本文采用了IAR Embedded Workbench for ARM,32K Kick start Edition,它是一個針對ARM 處理器的集成開發(fā)環(huán)境,包含編輯器、項目管理器、C/C++編譯器和ARM 匯編器等。
W5500可以配置為TCP、UDP、IPRAW、PPPoE模式進行數(shù)據(jù)的發(fā)送或接收,在本文中只介紹TCP和新浪微博服務器的通信流程。由于W5500已經(jīng)固化了TCP/IP協(xié)議棧,因此只需創(chuàng)建Socket接口即可實現(xiàn)網(wǎng)絡通信,從而大幅簡化了軟件設計流程。W5500支持服務器和客戶端模式,在本系統(tǒng)中,W5500扮演了客戶端模式,其工作原理略——編者注。
在STM32F103RC處理器中,嵌入式新浪微博客戶端與微博服務器的數(shù)據(jù)通信C語言示例代碼如下:
圖5 測試板STM32F103RC電路圖
圖6 測試板W5500電路圖
在本系統(tǒng)測試案例中,STM32F103RC使用了SHT11數(shù)字溫濕度傳感器和BH1750光照度傳感器對客廳的溫濕度與光線亮度進行測量采集,并通過W5500把數(shù)據(jù)發(fā)送到新浪微博。
例如在2014年5月11日15:50,客廳的溫度是25.5℃、濕度46%、光線亮度為431Lux,其測試結果略——編者注。
多次測試表明,以W5500為核心的嵌入式新浪微博客戶端具有功耗低、實時性好、穩(wěn)定可靠等特點。
結 語
本文采用STM32F103RC 處理器和以太網(wǎng)接口芯片W5500,同時結合新浪微博二次開發(fā)接口,設計了嵌入式新浪微博客戶端,目的是實現(xiàn)微博社交網(wǎng)絡與智能嵌入式系統(tǒng)的交流互動,雖然本文采用的社交網(wǎng)絡是新浪微博,但是通過適當修改和拓展客戶端ARM 程序后,可以把本系統(tǒng)移植到擁有眾多用戶的微信平臺上,從而進一步打造創(chuàng)新型智能硬件系統(tǒng)。
編者注:本文為期刊縮略版,全文見本刊網(wǎng)站www.mesnet.com.cn。
[1]孫利民,李建中,陳渝,等.無線傳感器網(wǎng)絡[M].北京:清華大學出版社,2005.
[2]陳海生,鄧銳,王峰,等.可復用的基于ARM 的W5100底層驅動設計[J].單片機與嵌入式系統(tǒng)應用,2013,13(3):39-42.
[3]D Zeng,S Guo,Z Cheng.The web of things:A survey[J].Journal of Communications,2011,6(6):424-438.
[4]微 博 開 發(fā) 平 臺[EB/OL].[2015-01].http://open.weibo.com/.
[5]彭剛,秦志強.STM32 系列嵌入式微控制器應用實踐[M].北京:電子工業(yè)出版社,2011.
[6]W5500[EB/OL].[2015-01].http://wizwiki.net/wiki/doku.php?id=products.