資料介紹
引言隨著物聯(lián)網(wǎng)技術(shù)的迅速發(fā)展,許多嵌入式系統(tǒng)具備了聯(lián)網(wǎng)功能,為方便系統(tǒng)開發(fā)者集中監(jiān)控和管理遠(yuǎn)程嵌入式系統(tǒng),同時(shí)方便其他PC網(wǎng)上用戶或智能手機(jī)App能夠獲取嵌入式系統(tǒng)數(shù)據(jù),實(shí)現(xiàn)遠(yuǎn)程讀數(shù)與控制[13],本文提出了以STM32F103RC處理器為核心,結(jié)合WIZnet公司的W5500以太網(wǎng)接口芯片,利用新浪微博的二次開發(fā)接口[4],設(shè)計(jì)了嵌入式新浪微博客戶端,從而實(shí)現(xiàn)社交網(wǎng)絡(luò)與嵌入式硬件系統(tǒng)的互動(dòng),可以把人與人的關(guān)系拓展到人與物的關(guān)系、物與物的關(guān)系。本系統(tǒng)結(jié)構(gòu)如圖1所示。1 系統(tǒng)主要硬件介紹1.1 STM32F103RC微控制器STM32F103RC是基于CortexM3內(nèi)核的32位ARM處理器芯片,其工作頻率可達(dá)72 MHz;內(nèi)置高速大容量存儲器(512 KB Flash、64 KB RAM);豐富的增強(qiáng)I/O端口和外設(shè)資源,包括2個(gè)12通道DMA控制器、5路USART、3路SPI以及12位的ADC、DAC、FSMC、SDIO、USB、CAN總線、I2C總線等;具有標(biāo)準(zhǔn)和先進(jìn)的通信接口;提供可編程電壓檢測器(PVD),保證整個(gè)系統(tǒng)的穩(wěn)定工作,具備較強(qiáng)的抗干擾能力。STM32F103RC廣泛應(yīng)用于醫(yī)療、手持終端、智能儀器儀表、計(jì)算機(jī)測控等領(lǐng)域[5]。1.2 W5500以太網(wǎng)控制器W5500是一款全硬件TCP/IP嵌入式以太網(wǎng)控制器,使用硬件邏輯門電路實(shí)現(xiàn)TCP/IP協(xié)議棧的傳輸層及網(wǎng)絡(luò)層(包括TCP、UDP、ICMP、IPv4、ARP、IGMP、PPPoE等協(xié)議),并集成了數(shù)據(jù)鏈路層、物理層,以及32 KB片上RAM作為數(shù)據(jù)收發(fā)緩存器。從而把網(wǎng)絡(luò)數(shù)據(jù)流量的處理工作全部轉(zhuǎn)移到W5500集成硬件中進(jìn)行,使得嵌入式主控芯片MCU只需承擔(dān)TCP/IP應(yīng)用層控制信息的處理任務(wù),從而大幅減少了上位機(jī)對于數(shù)據(jù)復(fù)制、協(xié)議處理和中斷處理等方面的工作量,提升了系統(tǒng)利用率及可靠性。在操作過程中,可以把W5500作為MCU的一個(gè)外設(shè)RAM來使用,操作簡單方便。另外,W5500提供網(wǎng)絡(luò)喚醒及省電模式供客戶選用,從而降低系統(tǒng)功耗;還提供了SPI串行接口,能夠很容易實(shí)現(xiàn)與外設(shè)MCU的整合,為嵌入式系統(tǒng)提供了簡易的互聯(lián)網(wǎng)接入方案。圖2為W5500硬件系統(tǒng)結(jié)構(gòu)[6]。2 嵌入式微博客戶端硬件評估板圖3為嵌入式微博客戶端硬件評估板,其系統(tǒng)結(jié)構(gòu)和主要電路原理圖分別見圖4~圖6,該系統(tǒng)主要包括以下模塊:① USB電源、RS232通信模塊;② RESET復(fù)位模塊,復(fù)位MCU;③ AT24C16 EEPROM存儲模塊,存儲系統(tǒng)參數(shù)等信息;④ W5500模塊,實(shí)現(xiàn)以太網(wǎng)接口功能;⑤ STM32F103RC ARM處理器;⑥ RJ45以太網(wǎng)硬件接口模塊;⑦ JTAG程序下載接口模塊。3 嵌入式微博客戶端軟件實(shí)現(xiàn)3.1 ARM CPU軟件開發(fā)環(huán)境構(gòu)建為了方便ARM Cortex系列CPU的開發(fā),本文采用了IAR Embedded Workbench for ARM, 32K Kick start Edition,它是一個(gè)針對ARM 處理器的集成開發(fā)環(huán)境,包含編輯器、項(xiàng)目管理器、C/C++編譯器和ARM 匯編器等。3.2 W5500的配置與開發(fā)W5500可以配置為TCP、UDP、IPRAW、PPPoE模式進(jìn)行數(shù)據(jù)的發(fā)送或接收,在本文中只介紹TCP和新浪微博服務(wù)器的通信流程。由于W5500已經(jīng)固化了TCP/IP協(xié)議棧,因此只需創(chuàng)建Socket接口即可實(shí)現(xiàn)網(wǎng)絡(luò)通信,從而大幅簡化了軟件設(shè)計(jì)流程。W5500支持服務(wù)器和客戶端模式,在本系統(tǒng)中,W5500扮演了客戶端模式,其工作原理略——編者注。3.3 嵌入式客戶端代碼在STM32F103RC處理器中,嵌入式新浪微博客戶端與微博服務(wù)器的數(shù)據(jù)通信C語言示例代碼如下:#include "w5500/socket.h"#include "w5500/w5500.h"#include #include #define SOCK_WEIBO5//給新浪微博選一個(gè)Socket,可以選0~7#define WEIBO_SERVER"61.109.255.136"http://新浪微博服務(wù)器IP地址#define HTTP_PATH "/wiznet/"http://HTTP路徑#define WEIBO_ID"xxxx@xxxx.xxx"http://新浪微博 ID,按實(shí)際的ID輸入#define WEIBO_PWD"123456"http://新浪微博登錄密碼,按實(shí)際的密碼輸入char tmp_buf[512]={0x00,};//定義臨時(shí)緩沖區(qū)用于存儲微博內(nèi)容和HTTP頭unsigned char post_weibo(char* weibo){unsigned char weibo_server_ip[4] = {61,109,255,136};//微博服務(wù)器IP地址static unsigned int any_local_port = 1000;//TCP Socket 本地端口號,0~65 535中任取char post_data[385]={0x00,};unsigned char ret=0;unsigned int len=0;if (socket(SOCK_WEIBO,Sn_MR_TCP,any_local_port++,0)!=1){//TCP socket初始化printf("Socket initialization failed.\\r\\n");return 0;}else{ret=connect(SOCK_WEIBO,weibo_server_ip,80); //連接到服務(wù)器, 默認(rèn)TCP 端口為80if(ret!=1){printf("Connect Weibo server failed.\\r\\n");return 0;}else{while(getSn_SR(SOCK_WEIBO)!=SOCK_ESTABLISHED);//等待TCP連接printf("Connected with Weibo server.\\r\\n");sprintf(post_data,"id=%s&pw=%s&cmd=update&status=%s",(char*)WEIBO_ID,(char*)WEIBO_PWD,weibo);sprintf(tmp_buf,"POST %s HTTP/1.1\\r\\nHost: %s\\r\\nUserAgent: w5500\\r\\nContentType: application/xwwwformurlencoded;charset=gb2312\\r\\nContentLength: %d\\r\\n\\r\\n%s",(char*)HTTP_PATH,(char*)WEIBO_SERVER,strlen(post_data),post_data);len=send(SOCK_WEIBO,(unsigned char*)tmp_buf,strlen(tmp_buf));//把數(shù)據(jù)發(fā)送到新浪微博while(1){len=getSn_RX_RSR(SOCK_WEIBO);if(len>0){memset(tmp_buf,0x00,512);len=recv(SOCK_WEIBO, (unsigned char*)tmp_buf, len);//接收從微博服務(wù)器返回的結(jié)果char* p=strstr(tmp_buf,(char*)"\\r\\n\\r\\n")+4;//獲得沒有http header 的http payload 的返回值printf("%s\\r\\n",p);disconnect(SOCK_WEIBO);//與微博服務(wù)器斷開close(SOCK_WEIBO);//關(guān)閉socketreturn 1; //成功后返回1}}}}}4 嵌入式微博客戶端測試結(jié)果在本系統(tǒng)測試案例中,STM32F103RC使用了SHT11數(shù)字溫濕度傳感器和BH1750光照度傳感器對客廳的溫濕度與光線亮度進(jìn)行測量采集,并通過W5500把數(shù)據(jù)發(fā)送到新浪微博。例如在2014年5月11日15:50,客廳的溫度是25.5 ℃、濕度46%、光線亮度為431Lux,其測試結(jié)果略——編者注。多次測試表明,以W5500為核心的嵌入式新浪微博客戶端具有功耗低、實(shí)時(shí)性好、穩(wěn)定可靠等特點(diǎn)。結(jié)語本文采用STM32F103RC處理器和以太網(wǎng)接口芯片W5500,同時(shí)結(jié)合新浪微博二次開發(fā)接口,設(shè)計(jì)了嵌入式新浪微博客戶端,目的是實(shí)現(xiàn)微博社交網(wǎng)絡(luò)與智能嵌入式系統(tǒng)的交流互動(dòng),雖然本文采用的社交網(wǎng)絡(luò)是新浪微博,但是通過適當(dāng)修改和拓展客戶端ARM程序后,可以把本系統(tǒng)移植到擁有眾多用戶的微信平臺上,從而進(jìn)一步打造創(chuàng)新型智能硬件系統(tǒng)。(mbbeetchina)
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 基于ARM處理器的嵌入式WEB服務(wù)器設(shè)計(jì)
- 嵌入式控制系統(tǒng)的ARM處理器
- 基于ARM微處理器的嵌入式TCP-IP協(xié)議的實(shí)現(xiàn)與應(yīng)用
- 嵌入式ARM11處理器在室內(nèi)停車指引系統(tǒng)中的應(yīng)用
- ARM處理器與嵌入式系統(tǒng)
- 嵌入式LWIP網(wǎng)絡(luò)客戶端設(shè)計(jì)資料下載
- 使用ARM實(shí)現(xiàn)嵌入式處理器的最小系統(tǒng) 16次下載
- ARM嵌入式處理器的GNU工具應(yīng)用程序免費(fèi)下載 7次下載
- 嵌入式系統(tǒng)教程之嵌入式處理器的詳細(xì)資料說明 18次下載
- 嵌入式Linux開發(fā)教程之嵌入式系統(tǒng)介紹資料免費(fèi)下載
- 幾種基本嵌入式處理器的介紹和應(yīng)用概述包括Sitara,ARM,Cortex等 11次下載
- 嵌入式軟件開發(fā)之基于ARM處理器的嵌入式系統(tǒng)設(shè)計(jì)方案解析 1次下載
- ARM嵌入式處理器結(jié)構(gòu)與應(yīng)用基礎(chǔ) 9次下載
- CSDN博客客戶端源碼 1次下載
- 嵌入式系統(tǒng)及ARM微處理器概述
- dsp是嵌入式微處理器的一種設(shè)備嗎 ARM嵌入式微處理器有何特點(diǎn)? 674次閱讀
- 什么是嵌入式微處理器?嵌入式微處理器有哪些? 730次閱讀
- 嵌入式微處理器的原理和應(yīng)用 588次閱讀
- 嵌入式處理器簡介和種類 794次閱讀
- MQTT客戶端介紹 2180次閱讀
- 嵌入式處理器的種類有哪些 2w次閱讀
- 關(guān)于嵌入式ARM多核處理器的并行方法 4127次閱讀
- Intel嵌入式處理器的相關(guān)基礎(chǔ)知識 1203次閱讀
- 淺談arm處理器的優(yōu)勢 1.2w次閱讀
- 基于32位ARM920T內(nèi)核的微處理器的嵌入式Linux系統(tǒng)構(gòu)建詳解 1776次閱讀
- 大神教你:嵌入式LWIP網(wǎng)絡(luò)客戶端設(shè)計(jì) 1915次閱讀
- 基于ARM9處理器的嵌入式網(wǎng)絡(luò)撥號設(shè)計(jì)與實(shí)現(xiàn) 1574次閱讀
- 嵌入式處理器匯總_常見的嵌入式處理器對比分析 1.4w次閱讀
- 32位嵌入式處理器與8位處理器應(yīng)用開發(fā)的區(qū)別 1528次閱讀
- 基于ARM的嵌入式無線視頻采集系統(tǒng)設(shè)計(jì) 1809次閱讀
下載排行
本周
- 1TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費(fèi)
- 2開關(guān)電源基礎(chǔ)知識
- 5.73 MB | 6次下載 | 免費(fèi)
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設(shè)計(jì)
- 0.60 MB | 3次下載 | 免費(fèi)
- 5基于FPGA的光纖通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 0.61 MB | 2次下載 | 免費(fèi)
- 6基于FPGA的C8051F單片機(jī)開發(fā)板設(shè)計(jì)
- 0.70 MB | 2次下載 | 免費(fèi)
- 751單片機(jī)窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費(fèi)
- 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
- 0.86 MB | 2次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33564次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21548次下載 | 免費(fèi)
- 5電氣工程師手冊免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6653次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537796次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191185次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183278次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評論
查看更多