基于WIFI模塊的無線數(shù)據(jù)傳輸_第1頁
基于WIFI模塊的無線數(shù)據(jù)傳輸_第2頁
基于WIFI模塊的無線數(shù)據(jù)傳輸_第3頁
基于WIFI模塊的無線數(shù)據(jù)傳輸_第4頁
基于WIFI模塊的無線數(shù)據(jù)傳輸_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 課程設(shè)計(jì)報(bào)告( 2013 2014 學(xué)年 第 一 學(xué)期) 課程名稱: 基于WIFI模塊的無線數(shù)據(jù)傳輸 班 級(jí): 學(xué) 號(hào): 姓 名: 指導(dǎo)教師:2015 年 7 月課設(shè)要求:課題:基于WIFI 模塊的無線數(shù)據(jù)傳輸課題內(nèi)容: 隨著科技進(jìn)步,很多嵌入式設(shè)備使用以太網(wǎng)接口實(shí)現(xiàn)數(shù)據(jù)傳輸,有線方式需布線、使用點(diǎn)不靈活等問題,采用WIFI模塊實(shí)現(xiàn)無線通信,方便、靈活成為很多嵌入式設(shè)備完成數(shù)據(jù)傳輸?shù)氖走x。課題關(guān)鍵是采用WIFI模塊實(shí)現(xiàn)數(shù)據(jù)的無線傳輸,有多種傳輸方式、應(yīng)用場(chǎng)合。每組根據(jù)興趣,結(jié)合某一背景,提出較有新意的題目。寫出項(xiàng)目規(guī)劃書,實(shí)現(xiàn)目標(biāo)等,并進(jìn)行答辯,指導(dǎo)教師批準(zhǔn)后實(shí)施。硬件設(shè)

2、備:提供:1個(gè)WIFI模塊,自制:1個(gè)嵌入式采集與控制模塊WIFI模塊由實(shí)驗(yàn)室提供,基礎(chǔ)的嵌入式數(shù)據(jù)采集模塊、與WIFI模塊通信的接口模塊等由學(xué)生自行開發(fā),亦可使用單片機(jī)課程設(shè)計(jì)時(shí)所用實(shí)驗(yàn)板一、設(shè)計(jì)方向及初步設(shè)計(jì)流程:用WIFI傳輸實(shí)時(shí)溫度數(shù)據(jù),從溫度傳感器(用戶設(shè)備)單片機(jī)wifi模塊手機(jī)顯示,即:用戶設(shè)備是一溫度采集器,由單片機(jī)完成溫度的采集和WIFI模塊的控制。手機(jī)需要溫度數(shù)據(jù)時(shí),則發(fā)送“1”(填寫在如圖1 發(fā)送文本框中,點(diǎn)擊發(fā)送),單片機(jī)接收到“1”命令時(shí)候則需要將溫度數(shù)據(jù)返回。反之,單片機(jī)發(fā)送數(shù)據(jù)手機(jī)亦然。圖1二、具體方案:元器件:ds18b20、單片機(jī)最小系統(tǒng)、wifi模塊232-

3、x、max232、RS232、FT232、5v變壓器、安卓手機(jī)1、傳感器的選擇:1、1首先我們要確定傳感器,這里我們選擇了數(shù)字式溫度傳感器DS18B20 原因:DS18B20 新型單總線數(shù)字式溫度傳感器,集溫度測(cè)量和A/D轉(zhuǎn)換于一體直接輸出數(shù)字量,接口幾乎不需要外圍元件,硬件電路結(jié)構(gòu)簡(jiǎn)單,傳輸距離遠(yuǎn)可以很方便的實(shí)現(xiàn)多點(diǎn)測(cè)量;與單片機(jī)接口幾乎不需要外圍元件。 特點(diǎn):DS18B20具有以下主要特性(1)單總線接口方式:與微處理器連接時(shí)僅需要一條信號(hào)線即可實(shí)現(xiàn)雙向通訊;(2)使用中無需外部器件,可以利用數(shù)據(jù)線或外部電源提供電能,供電電壓范圍3.3-5.5V;(3)直接讀出數(shù)字量,工作可靠,精度高,且

4、通過編程可實(shí)現(xiàn)912位分辨率讀出溫度數(shù)據(jù),轉(zhuǎn)換12的溫度數(shù)據(jù)最大僅需要750ms;(4)溫度測(cè)量范圍-55+125,-10+85之間測(cè)量精度可達(dá)±0.5;(5)可設(shè)定非易失的報(bào)警上下限值,一旦測(cè)量溫度超過此設(shè)定值,即可給出報(bào)警標(biāo)志,通過軟件寫入用戶報(bào)警上下限值1、2 DS18b20的管腳圖、電路連接方式及電源供電選擇:圖2(a)外部電源供電(注意:在外部供電的方式下,DS18B20的GND引腳不能懸空 ,否則不能轉(zhuǎn)換溫度,讀取的溫度總是85。)1、3 ds18b20工作原理1、3、1 ds18b20溫度存儲(chǔ)形式DS18B20的溫度數(shù)據(jù)用高低兩個(gè)字節(jié)的補(bǔ)碼來表示,如圖2所示,S=1時(shí)表

5、示溫度為負(fù),S=0時(shí)表示溫度為正圖3在ds18b20的寄存器中,以補(bǔ)碼的形式進(jìn)行存儲(chǔ)溫度,如圖3,一共2個(gè)字節(jié),LSB是低字節(jié),MSB是高字節(jié),寄存器中每個(gè)數(shù)字如同卡尺的刻度一樣分布,圖3可以看出,二進(jìn)制的最低位(2-4)變化1,代表溫度變化0.6251、3、2 ds18b20時(shí)序ds18b20的硬件簡(jiǎn)單,這就增強(qiáng)了程序方面的要求,所以對(duì)ds18b20的時(shí)序的掌握很重要由于DS18B20采用的是1-W ire總線協(xié)議方式,即用一根數(shù)據(jù)線實(shí)現(xiàn)數(shù)據(jù)的雙向傳輸, 單線通信功能是分時(shí)完成的, 有嚴(yán)格的時(shí)序概念, 因此讀寫時(shí)序很重要。系統(tǒng)對(duì)DS18B20的各種操作必須按協(xié)議進(jìn)行。操作協(xié)議為: 初始化DS

6、18B20(發(fā)復(fù)位脈沖)-發(fā)ROM 操作命令-發(fā)存儲(chǔ)器操作命令-處理數(shù)據(jù)。 工作時(shí)序?yàn)椋篴. 初始化時(shí)序第一步:拉低DS18B20這個(gè)引腳,持續(xù)500us;第二步:延時(shí)60us;第三步:讀取存在脈沖,并且等待存在脈沖結(jié)束(ds18b20在第二步之后會(huì)自動(dòng)拉低電平60240us)b.寫時(shí)序c.讀時(shí)序1、3、3 RAM存儲(chǔ)器操作指令:(1)Read Scratchpad讀暫存寄存器:0xBE(2)Convert Temperature啟動(dòng)溫度轉(zhuǎn)換:0x44,當(dāng)發(fā)送一個(gè)啟動(dòng)溫度轉(zhuǎn)換的指令后,DS18b20開始進(jìn)行轉(zhuǎn)換注意:若要讀出當(dāng)前的溫度數(shù)據(jù)我們需要執(zhí)行兩次工作周期,第一個(gè)周期為復(fù)位、跳過ROM指

7、令、執(zhí)行溫度轉(zhuǎn)換存儲(chǔ)器操作指令、等待500uS溫度轉(zhuǎn)換時(shí)間。緊接著執(zhí)行第二個(gè)周期為復(fù)、跳過ROM指令、執(zhí)行讀RAM的存儲(chǔ)器操作指令、讀數(shù)據(jù)2、程序2、1 主程序流程串口初始化讀溫度(一直循環(huán))串口檢測(cè)到“1”發(fā)送當(dāng)前溫度值顯示函數(shù)串口中斷,發(fā)送數(shù)據(jù)2、2子程序及函數(shù)(1)ds18b20初始化(2)ds18b20讀一個(gè)字節(jié)(3)ds18b20寫一個(gè)字節(jié)(4)讀溫度(溫度轉(zhuǎn)換)(5)串口初始化3、單片機(jī):(1)燒寫程序軟件:,硬件:FT232(需要下載驅(qū)動(dòng)),STC89C52單片機(jī),單片機(jī)最小系統(tǒng),這一步要注意的點(diǎn)是端口號(hào)、芯片類型、單片機(jī)冷啟動(dòng)(2)串口通信:?jiǎn)纹瑱C(jī)與串口的連接是RXD-TXD,

8、TXD-RXD,程序中寫串口初始化、中斷程序(3)最小系統(tǒng)管腳圖:(4)程序:#include<reg52.h>#define uchar unsigned char#define uint unsigned intsbit DQ=P20;unsigned int temp,temp1,temp2,temper,xs,flag,a,s,cc;uchar code number="0123456789" /顯示字符void delay1(unsigned int m)unsigned int i,j;for(i=m;i>0;i-)for(j=110;j>

9、;0;j-);void delay(unsigned int m)while(m-);void Init_DS18B20() /ds18b20復(fù)位,檢測(cè)存在脈沖的信號(hào)unsigned char x=0;DQ=1; /單片機(jī)給高電平delay(8);DQ=0;/單片機(jī)給低電平delay(80);DQ=1;/ds18b20自動(dòng)低電平,表示ds18b20存在delay(4);x=DQ;delay(20);uchar ReadOneChar() /讀8位ds18b20,dat為要讀的數(shù)據(jù)unsigned char i=0;unsigned char dat=0;for(i=8;i>0;i-)DQ

10、=0;dat>>=1;DQ=1;if(DQ)dat|=0x80;delay(4);return(dat);void WriteOneChar(unsigned char dat) /寫8位ds18b20,dat為要寫的數(shù)據(jù)unsigned char i=0;for(i=8;i>0;i-)DQ=0;DQ=dat&0x01;delay(5);DQ=1;dat>>=1;void duwendu()unsigned char a=0;unsigned char b=0;Init_DS18B20();WriteOneChar(0xcc);/skip rWriteOn

11、eChar(0x44); /溫度轉(zhuǎn)換delay(5);Init_DS18B20();WriteOneChar(0xcc);WriteOneChar(0xbe); /從RAM中讀數(shù)據(jù)delay(5);a=ReadOneChar(); /低8位b=ReadOneChar(); /高8位temp1=(b<<4)&0x7f; /去除高四位,即正負(fù)位 temp1+=(a&0xf0)>>4; /個(gè)位temp2=a&0x0f; /小數(shù)temp=(b*256+a)>>4); /整數(shù)xs=temp2*0.0625*10; temper=temp+xs;

12、oid ckinit() /串口初始化TMOD=0x20;/設(shè)置定時(shí)器1為工作方式2TH1=0xfa;TL1=0xfa;TR1=1;SCON=0x50;PCON=0x80; /波特率加倍EA=1;ES=1;void fas(unsigned char dat) /發(fā)送數(shù)據(jù) ES=0;/串口中斷允許位SBUF=dat;while(!TI);TI=0;ES=1;void main()ckinit(); /串口初始化while(1)duwendu();if(flag=1)if(a='1')fas(numbertemp/10);/十位fas(numbertemp%10);/個(gè)位fas(

13、'.'); /小數(shù)點(diǎn)fas(numberxs%10);/小數(shù)fas(' ');fas('C');flag=0; void ser() interrupt 4RI=0; /接收標(biāo)志位a=SBUF; /接收的數(shù)據(jù)flag=1;4、max232:用于ttl-uart電平轉(zhuǎn)換,此次課設(shè)單片機(jī)與wifi模塊電平不同連接方式:txd、rxd與單片機(jī)串口連接,9孔與wifi模塊連接5、wifi(1)工作模式:透明傳輸模式,原因:選擇透明傳輸模式,比較簡(jiǎn)單,不用知道傳輸?shù)膬?nèi)容是什么,接收到什么傳輸什么(2)Wifi模塊課設(shè)有兩種,一種wifi232-x(有底板)

14、,另一種是wifi232-t(集成的小芯片),wifi232-x相對(duì)于集成芯片穩(wěn)定許多,因?yàn)閣ifi232-t會(huì)時(shí)常出現(xiàn)搜索不到信號(hào)的情況,在調(diào)試過程中構(gòu)成了困難,wifi232-x模塊的使用:電源為5v,連接電源后,注意觀察板子上的亮燈情況reload,ready,link,電源接通,reload即亮起,等待ready指示燈亮后,表示系統(tǒng)已啟動(dòng)完成,即可在pc機(jī)上無線網(wǎng)絡(luò)搜索該wifi(初始ssid為HF-ALLx-AP),進(jìn)入網(wǎng)址10.10.100.254,默認(rèn)用戶名和密碼均為 admin。進(jìn)入頁面可修改wifi模塊的參數(shù),比如ssid(同時(shí)使用同一種模塊的比較多,建議換個(gè)專屬的名稱,也為

15、了避免別人不知道的情況下改了參數(shù),可選擇加密具體做法如下),在這個(gè)界面還可以修改所需的波特率,最后點(diǎn)擊保存,重啟wifi模塊,之后根據(jù)新的ssid重新連接到wifiWifi模塊設(shè)置圖:(3)模塊恢復(fù)出廠設(shè)置如果設(shè)置錯(cuò)誤,導(dǎo)致模塊不能正常工作,可恢復(fù)出廠設(shè)置。、在模塊工作狀態(tài)下(Ready 燈亮),將模塊的Reload 引腳拉低一秒(短接到GND 或者按Reload 按鈕),再放開懸空,等待模塊重啟,即恢復(fù)到默認(rèn)設(shè)置。、登錄網(wǎng)頁,在模塊管理子頁面內(nèi),有恢復(fù)出廠配置按鈕。6、串口調(diào)試助手這是一個(gè)可用來調(diào)試單片機(jī)和wifi的軟件,1、串口調(diào)試:首先我們要設(shè)置好usb接到PC機(jī)上對(duì)應(yīng)的串口的端口,(可

16、通過設(shè)備管理器中的端口號(hào)查詢com)接著設(shè)置與串口設(shè)備相同的波特率,其他不更改,點(diǎn)擊“打開”(可事先在單片機(jī)芯片上寫好程序,進(jìn)行通信調(diào)試 如果能正常顯示就表示調(diào)試成功,且芯片及程序有用2、網(wǎng)絡(luò)接收端,設(shè)置協(xié)議類型為:client,服務(wù)器地址wifi模塊ip地址:10.10.100.254,服務(wù)器端口號(hào):8899,設(shè)置完成后,點(diǎn)擊連接。在1的基礎(chǔ)上不加單片機(jī),而是用rs232將wifi串口連接在pc機(jī)上,此時(shí)就可以在串口和網(wǎng)絡(luò)之間進(jìn)行數(shù)據(jù)數(shù)據(jù)收發(fā)測(cè)試了,串口到網(wǎng)絡(luò)的數(shù)據(jù)流向是:計(jì)算機(jī)串口->模塊串口->模塊WIFI->計(jì)算機(jī)網(wǎng)絡(luò),網(wǎng)絡(luò)到串口的數(shù)據(jù)流向是:計(jì)算機(jī)網(wǎng)絡(luò)->模塊

17、WIFI->模塊串口->計(jì)算機(jī)串口。如果可以使用,即wifi模塊正常7、手機(jī)APP調(diào)試助手除了計(jì)算機(jī)上用的串口轉(zhuǎn)網(wǎng)絡(luò)測(cè)試工具外,還有安卓(android)系統(tǒng)下的TCPIP 調(diào)試助手通過掃描下面的二維碼下載到手機(jī)安裝。保持前面計(jì)算機(jī)上的測(cè)試軟件開啟狀態(tài),鏈接也依然開啟。手機(jī)開啟WIFI 功能,找到并加入HF-A11X 的WIFI 網(wǎng)絡(luò),如上右圖在手機(jī)上啟動(dòng)有人網(wǎng)絡(luò)助手軟件,切換到TCP Client 界面,點(diǎn)擊增加,創(chuàng)建的8899 端口的TCP 連接,創(chuàng)建成功后,會(huì)建立和WIFI 模塊的TCP 連接。如圖所示建立連接成功后,手機(jī)發(fā)送數(shù)據(jù),計(jì)算機(jī)上的串口會(huì)收到信息,計(jì)算機(jī)的串口發(fā)送信

18、息,計(jì)算機(jī)上測(cè)試軟件的網(wǎng)絡(luò)部分會(huì)收到信息,同時(shí)手機(jī)上的網(wǎng)絡(luò)助手也會(huì)收到信息。三、ds18b20仿真:首先用lcd仿真看程序是不是能夠正常運(yùn)行顯示溫度四、心得:?jiǎn)栴}:亂碼1、程序?qū)懙牟粚?duì)2、出現(xiàn)亂碼的原因有多種可能,1、在串口調(diào)試的時(shí)候,出現(xiàn)亂碼。查找原因才知道是兩端電平類型不一樣,一個(gè)是ttl電平還有一個(gè)是單片機(jī)輸出的uart電平,因此就要進(jìn)行轉(zhuǎn)換,而max232就是這樣的芯片。3、波特率不同,兩端必須要保持相同的波特率,才能正常傳輸。調(diào)試步驟:這次的課程設(shè)計(jì)比較以往的多了硬件的動(dòng)手能力,讓我知道不僅僅在電腦上仿真出來就可以,仿真的器件是理想的,而實(shí)際的硬件上時(shí)需要不斷的調(diào)試的,如果沒有得到預(yù)想的結(jié)果,我們就需要一個(gè)部分一個(gè)部分的去排查去找原因,這次的wifi模塊就是這樣,我本來認(rèn)為電路連接對(duì)了,程序?qū)α?,wifi模塊有了,調(diào)試助手也有,那肯定很容易就做出來了,直到真正上手去做才知道,每個(gè)部分都可能出現(xiàn)問題,每個(gè)模塊之間的連接也是這樣,因此才需要調(diào)試,調(diào)試主要包括wifi模塊的調(diào)試:1、wifi模塊拿到之后,通過已有的串口調(diào)試助手,看是不是可以進(jìn)行無線數(shù)據(jù)的傳輸,具體方法是將wifi模塊一邊通過rs232連在電腦上進(jìn)行通過串口傳輸數(shù)據(jù),檢測(cè)網(wǎng)絡(luò)數(shù)據(jù)接收端是不是可以接收,若可以,則wifi模塊可用;2、單片

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論