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