資料介紹
引言隨著物聯(lián)網(wǎng)技術(shù)的迅速發(fā)展,許多嵌入式系統(tǒng)具備了聯(lián)網(wǎng)功能,為方便系統(tǒng)開發(fā)者集中監(jiān)控和管理遠(yuǎn)程嵌入式系統(tǒng),同時方便其他PC網(wǎng)上用戶或智能手機App能夠獲取嵌入式系統(tǒng)數(shù)據(jù),實現(xiàn)遠(yuǎn)程讀數(shù)與控制[13],本文提出了以STM32F103RC處理器為核心,結(jié)合WIZnet公司的W5500以太網(wǎng)接口芯片,利用新浪微博的二次開發(fā)接口[4],設(shè)計了嵌入式新浪微博客戶端,從而實現(xiàn)社交網(wǎng)絡(luò)與嵌入式硬件系統(tǒ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);豐富的增強I/O端口和外設(shè)資源,包括2個12通道DMA控制器、5路USART、3路SPI以及12位的ADC、DAC、FSMC、SDIO、USB、CAN總線、I2C總線等;具有標(biāo)準(zhǔn)和先進的通信接口;提供可編程電壓檢測器(PVD),保證整個系統(tǒng)的穩(wěn)定工作,具備較強的抗干擾能力。STM32F103RC廣泛應(yīng)用于醫(yī)療、手持終端、智能儀器儀表、計算機測控等領(lǐng)域[5]。1.2 W5500以太網(wǎng)控制器W5500是一款全硬件TCP/IP嵌入式以太網(wǎng)控制器,使用硬件邏輯門電路實現(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集成硬件中進行,使得嵌入式主控芯片MCU只需承擔(dān)TCP/IP應(yīng)用層控制信息的處理任務(wù),從而大幅減少了上位機對于數(shù)據(jù)復(fù)制、協(xié)議處理和中斷處理等方面的工作量,提升了系統(tǒng)利用率及可靠性。在操作過程中,可以把W5500作為MCU的一個外設(shè)RAM來使用,操作簡單方便。另外,W5500提供網(wǎng)絡(luò)喚醒及省電模式供客戶選用,從而降低系統(tǒng)功耗;還提供了SPI串行接口,能夠很容易實現(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模塊,實現(xiàn)以太網(wǎng)接口功能;⑤ STM32F103RC ARM處理器;⑥ RJ45以太網(wǎng)硬件接口模塊;⑦ JTAG程序下載接口模塊。3 嵌入式微博客戶端軟件實現(xiàn)3.1 ARM CPU軟件開發(fā)環(huán)境構(gòu)建為了方便ARM Cortex系列CPU的開發(fā),本文采用了IAR Embedded Workbench for ARM, 32K Kick start Edition,它是一個針對ARM 處理器的集成開發(fā)環(huán)境,包含編輯器、項目管理器、C/C++編譯器和ARM 匯編器等。3.2 W5500的配置與開發(fā)W5500可以配置為TCP、UDP、IPRAW、PPPoE模式進行數(shù)據(jù)的發(fā)送或接收,在本文中只介紹TCP和新浪微博服務(wù)器的通信流程。由于W5500已經(jīng)固化了TCP/IP協(xié)議棧,因此只需創(chuàng)建Socket接口即可實現(xiàn)網(wǎng)絡(luò)通信,從而大幅簡化了軟件設(shè)計流程。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//給新浪微博選一個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,按實際的ID輸入#define WEIBO_PWD"123456"http://新浪微博登錄密碼,按實際的密碼輸入char tmp_buf[512]={0x00,};//定義臨時緩沖區(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光照度傳感器對客廳的溫濕度與光線亮度進行測量采集,并通過W5500把數(shù)據(jù)發(fā)送到新浪微博。例如在2014年5月11日15:50,客廳的溫度是25.5 ℃、濕度46%、光線亮度為431Lux,其測試結(jié)果略——編者注。多次測試表明,以W5500為核心的嵌入式新浪微博客戶端具有功耗低、實時性好、穩(wěn)定可靠等特點。結(jié)語本文采用STM32F103RC處理器和以太網(wǎng)接口芯片W5500,同時結(jié)合新浪微博二次開發(fā)接口,設(shè)計了嵌入式新浪微博客戶端,目的是實現(xiàn)微博社交網(wǎng)絡(luò)與智能嵌入式系統(tǒng)的交流互動,雖然本文采用的社交網(wǎng)絡(luò)是新浪微博,但是通過適當(dāng)修改和拓展客戶端ARM程序后,可以把本系統(tǒng)移植到擁有眾多用戶的微信平臺上,從而進一步打造創(chuàng)新型智能硬件系統(tǒng)。(mbbeetchina)
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 基于ARM處理器的嵌入式WEB服務(wù)器設(shè)計
- 嵌入式控制系統(tǒng)的ARM處理器
- 基于ARM微處理器的嵌入式TCP-IP協(xié)議的實現(xiàn)與應(yīng)用
- 嵌入式ARM11處理器在室內(nèi)停車指引系統(tǒng)中的應(yīng)用
- ARM處理器與嵌入式系統(tǒng)
- 嵌入式LWIP網(wǎng)絡(luò)客戶端設(shè)計資料下載
- 使用ARM實現(xiàn)嵌入式處理器的最小系統(tǒng) 16次下載
- ARM嵌入式處理器的GNU工具應(yīng)用程序免費下載 7次下載
- 嵌入式系統(tǒng)教程之嵌入式處理器的詳細(xì)資料說明 18次下載
- 嵌入式Linux開發(fā)教程之嵌入式系統(tǒng)介紹資料免費下載
- 幾種基本嵌入式處理器的介紹和應(yīng)用概述包括Sitara,ARM,Cortex等 11次下載
- 嵌入式軟件開發(fā)之基于ARM處理器的嵌入式系統(tǒng)設(shè)計方案解析 1次下載
- ARM嵌入式處理器結(jié)構(gòu)與應(yīng)用基礎(chǔ) 9次下載
- CSDN博客客戶端源碼 1次下載
- 嵌入式系統(tǒng)及ARM微處理器概述
- dsp是嵌入式微處理器的一種設(shè)備嗎 ARM嵌入式微處理器有何特點? 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è)計 1915次閱讀
- 基于ARM9處理器的嵌入式網(wǎng)絡(luò)撥號設(shè)計與實現(xiàn) 1574次閱讀
- 嵌入式處理器匯總_常見的嵌入式處理器對比分析 1.4w次閱讀
- 32位嵌入式處理器與8位處理器應(yīng)用開發(fā)的區(qū)別 1528次閱讀
- 基于ARM的嵌入式無線視頻采集系統(tǒng)設(shè)計 1809次閱讀
下載排行
本周
- 1TPS54202H降壓轉(zhuǎn)換器評估模塊用戶指南
- 1.02MB | 7次下載 | 免費
- 2華瑞昇CR215芯片數(shù)字萬用表原理圖
- 0.21 MB | 1次下載 | 3 積分
- 3SMD LED選型目錄 燈珠手冊
- 5.36 MB | 1次下載 | 免費
- 4Tiva C系列DK-TM4C129X入門指南
- 1.69MB | 1次下載 | 免費
- 5電涌保護器(SPD)的選擇、安裝以及裝配
- 4.57 MB | 1次下載 | 免費
- 6時源芯微EMC前車燈案例
- 458.59 KB | 1次下載 | 免費
- 7bq25890、bq25892雙級聯(lián)充電器EVM(PWR692)用戶指南
- 2.02MB | 1次下載 | 免費
- 8TPS54426降壓轉(zhuǎn)換器評估模塊用戶指南
- 847.7KB | 次下載 | 免費
本月
- 1ADI高性能電源管理解決方案
- 2.43 MB | 156次下載 | 免費
- 22024PMIC市場洞察
- 2.23 MB | 63次下載 | 免費
- 3開關(guān)電源設(shè)計原理手冊
- 1.83 MB | 30次下載 | 免費
- 4智能門鎖原理圖
- 0.39 MB | 28次下載 | 免費
- 5OAH0428最新規(guī)格書(中文)
- 2.52 MB | 15次下載 | 7 積分
- 6ST7789V2單芯片控制器/驅(qū)動器英文手冊
- 3.07 MB | 9次下載 | 1 積分
- 7LTH7充電電路和鋰電池升壓5V輸出電路原理圖
- 0.04 MB | 7次下載 | 免費
- 8TPS54202H降壓轉(zhuǎn)換器評估模塊用戶指南
- 1.02MB | 7次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935119次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
- 1.48MB | 420061次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233084次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191367次下載 | 10 積分
- 5十天學(xué)會AVR單片機與C語言視頻教程 下載
- 158M | 183334次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81581次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73807次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65987次下載 | 10 積分
評論
查看更多