電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>嵌入式開發(fā)>ARM處理器的嵌入式新浪微博客戶端設(shè)計(jì)資料下載

ARM處理器的嵌入式新浪微博客戶端設(shè)計(jì)資料下載

2021-04-24 | pdf | 343.11KB | 次下載 | 2積分

資料介紹

引言隨著物聯(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ù)與控制[13],本文提出了以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位的ADCDAC、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\\nUserAgent: w5500\\r\\nContentType: application/xwwwformurlencoded;charset=gb2312\\r\\nContentLength: %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)
下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1TC358743XBG評估板參考手冊
  2. 1.36 MB  |  330次下載  |  免費(fèi)
  3. 2開關(guān)電源基礎(chǔ)知識
  4. 5.73 MB  |  6次下載  |  免費(fèi)
  5. 3100W短波放大電路圖
  6. 0.05 MB  |  4次下載  |  3 積分
  7. 4嵌入式linux-聊天程序設(shè)計(jì)
  8. 0.60 MB  |  3次下載  |  免費(fèi)
  9. 5基于FPGA的光纖通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
  10. 0.61 MB  |  2次下載  |  免費(fèi)
  11. 6基于FPGA的C8051F單片機(jī)開發(fā)板設(shè)計(jì)
  12. 0.70 MB  |  2次下載  |  免費(fèi)
  13. 751單片機(jī)窗簾控制器仿真程序
  14. 1.93 MB  |  2次下載  |  免費(fèi)
  15. 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
  16. 0.86 MB  |  2次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33564次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21548次下載  |  免費(fèi)
  9. 5電氣工程師手冊免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
  16. 0.00 MB  |  6653次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537796次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191185次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
  14. 158M  |  183278次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)