版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
試驗(yàn)二:無線傳感器數(shù)據(jù)通信試驗(yàn)一、試驗(yàn)?zāi)繕?biāo): 在無線傳感器節(jié)點(diǎn)單片機(jī)驅(qū)動(dòng)代碼基礎(chǔ)上,編寫無線通信程序,實(shí)現(xiàn)多個(gè)傳感器節(jié)點(diǎn)之間雙向數(shù)據(jù)傳輸。二、試驗(yàn)原理: 溫濕度傳感器和單片機(jī)采取是類似IIC串行通信,和單片機(jī)相連如圖1-8所表示VDD和GND是傳感器供電引腳。SCK是時(shí)鐘引腳,在通信這個(gè)過程中,SCK信號(hào)都是有單片機(jī)控制。DATA是數(shù)據(jù)線,和單片機(jī)IO口相連。用于向傳感器發(fā)送指令和從單片機(jī)讀走數(shù)據(jù)。數(shù)據(jù)在時(shí)鐘上升沿生效在時(shí)鐘是高電平時(shí)保持不變。在時(shí)鐘是低電平時(shí)準(zhǔn)備數(shù)據(jù)。接口如圖所表示。圖1-8溫濕度接口單片機(jī)先向傳感器發(fā)送開始命令,然后開始通信,開始命令時(shí)序圖如圖所表示。在SCK高電平時(shí),將數(shù)據(jù)線拉低,在下一個(gè)時(shí)鐘高電平期間,將數(shù)據(jù)線拉高。開始信號(hào)發(fā)送完成。圖1-9開始信號(hào)再開始信號(hào)后是命令信號(hào),命令信號(hào)包含3位地址位(只支持000)和5位命令位組成。傳感器在接收到1byte數(shù)據(jù)時(shí)(即第八個(gè)時(shí)鐘下降沿)將數(shù)據(jù)線拉低,表示數(shù)據(jù)正確接收。在九個(gè)下降沿被釋放。命令以下表。單片機(jī)在發(fā)送完命令信號(hào)后,等候溫濕度傳感器測(cè)量完成。傳感器在轉(zhuǎn)換完成后將數(shù)據(jù)線拉低。單片機(jī)產(chǎn)生時(shí)鐘信號(hào),從溫濕度傳感器讀數(shù)據(jù)。數(shù)據(jù)包含2bytes測(cè)量結(jié)果和1bytes校驗(yàn)。單片機(jī)在收到每字節(jié)數(shù)據(jù)都要將數(shù)據(jù)線拉低給出應(yīng)答信號(hào)。數(shù)據(jù)高位在前,低位在后。傳感器在測(cè)量結(jié)束和通信完成后自動(dòng)進(jìn)入休眠。詳細(xì)操作見數(shù)據(jù)手冊(cè)。時(shí)序圖如圖1-10所表示。圖1-10傳感器工作時(shí)序圖8、 計(jì)算公式溫度計(jì)算公式:濕度計(jì)算公式:三、試驗(yàn)設(shè)備: ZIGBEE無線空氣溫濕度傳感器一個(gè)、裝有試驗(yàn)軟件計(jì)算機(jī)。四、試驗(yàn)內(nèi)容: 1、建立開發(fā)工程;用MDK打開工程模板。2、把similar_i2C.c和similar_i2C.h加入到工程。將similar_i2c文件夾拷貝到工程模板目錄中。調(diào)用similar_i2C.c中函數(shù),編寫溫度采集和濕度采集代碼在工程模板根目錄下建立sht1xx_sensor,在里面新建sht1xx.c和sht1xx.h空文件,將c加入到工程,將h文件加入到工程設(shè)置中編寫main()調(diào)用溫度采集和濕度采集函數(shù),并對(duì)原始數(shù)據(jù)進(jìn)行處理。在原有程序基礎(chǔ)上,添加代碼使程序能夠依照數(shù)據(jù)計(jì)算出濕度,并顯示出來。計(jì)算濕度公式:代碼:(主函數(shù)部分)#include"arch_include.h"#include"sht1xx.h"#include"similar_i2c.h"uint16_ttemp_value;uint16_trh_value;floatg_temp;floatg_rh;intmain(void){ system_init_from_reset(); SENSOR_VBAT_ON(); SI32_PBSTD_A_enable_pullup_resistors(SI32_PBSTD_1); delay_us(100000); while(1){ temp_value=SHT15_temp_samp(); g_temp=-39.7+0.04*temp_value;//計(jì)算溫度公式 rh_value=SHT15_rh_samp(); g_rh=-4+0.0405*rh_value+rh_value*rh_value*(-2.8)/1000000+(g_temp-25)*(0.01+0.00008*rh_value);//計(jì)算濕度公式 delay_us(1000000); }}(SHT15_rh_samp函數(shù)部分)floatSHT15_rh_samp(){ uint8_tRH_data[3]; floatrh=0; simliar_i2c_transstart();//transmissionstart similar_i2c_write_byte(0x06);//sendcommandtosensor similar_i2c_write_byte(0x00);//sendvalueofstatusregister simliar_i2c_transstart(); similar_i2c_write_byte(0x05); SIMILAR_I2C_DATA_IN; delay_us(100000); SIMILAR_I2C_DATA_OUT; RH_data[0]=similar_i2c_read_byte(SIMILAR_I2C_ACK);//readthefirstbyte(MSB) RH_data[1]=similar_i2c_read_byte(SIMILAR_I2C_ACK);//readthesecondbyte(LSB) RH_data[2]=similar_i2c_read_byte(SIMILAR_I2C_NOACK);//readchecksum rh=RH_data[0]*256+RH_data[1]; returnrh;}調(diào)試結(jié)果:運(yùn)行后可得到溫度為28.42℃,濕度為68.68%rh,與現(xiàn)實(shí)相符,表示測(cè)量結(jié)果正確。五、試驗(yàn)心得:這次試驗(yàn)是在第一次熟悉傳感器基礎(chǔ)上進(jìn)行。在試驗(yàn)中第一次接觸到了KeiluVision4這個(gè)軟件。與其余相關(guān)編譯軟件差不多,一些基本頭文件導(dǎo)入,分步調(diào)試功效我也能較快進(jìn)行。只是在調(diào)試前仍需在Options中設(shè)置許多參數(shù),以確保能夠正確地驅(qū)動(dòng)傳感器并調(diào)取傳感器數(shù)據(jù)。有些參數(shù)設(shè)置或選項(xiàng)在張老師講解下能夠清楚明白,不過也有部分設(shè)置不知道是為何要那樣設(shè)置,所以在之后一些不停調(diào)試中,有時(shí)需要機(jī)械性地記住哪些地方是需要改動(dòng)。在這一點(diǎn)上,我以為我應(yīng)該再去清楚了解,真正了解了每一步意義才能一直記住怎樣去做。除設(shè)置外,試驗(yàn)進(jìn)行也比較順利,利用資料中公式與程序中已經(jīng)有溫度查詢基礎(chǔ)上,將濕度計(jì)算公式添入進(jìn)去即可,基本都比較輕易,數(shù)據(jù)在運(yùn)行后都及時(shí)地顯示了。這一次試驗(yàn)也對(duì)傳感器有了更深了解,傳感器不但僅是一各儀器,它仍需一些程序才能正常地使用,并激發(fā)更多功效。試驗(yàn)三:無線傳感器設(shè)計(jì)試驗(yàn)一、試驗(yàn)?zāi)繕?biāo): 在之前試驗(yàn)基礎(chǔ)上,依照物聯(lián)網(wǎng)網(wǎng)關(guān)數(shù)據(jù)接收協(xié)議,編寫無線傳感器代碼,實(shí)現(xiàn)無線傳感器節(jié)點(diǎn)上數(shù)據(jù)采集向物聯(lián)網(wǎng)網(wǎng)關(guān)無線上傳。二、試驗(yàn)原理: 1.發(fā)包和收包是有射頻芯片完成:節(jié)點(diǎn)上處理器和射頻模塊連接以下列圖所表示,MCU和RF212之間是經(jīng)過SPI通信。2.射頻協(xié)議:里面我們要關(guān)心是目標(biāo)PANID,目標(biāo)地址,源PANID,源地址,MAC荷載。3.射頻模塊初始化:射頻模塊在使用前要進(jìn)行初始化,主要是配置本機(jī)PANID和ID,通信速率,通信頻段等信息。4.發(fā)包過程:1)填寫發(fā)包數(shù)據(jù)結(jié)構(gòu)體。發(fā)包要知道通信節(jié)點(diǎn)ID、組號(hào)、數(shù)據(jù)、是否需要應(yīng)答。這些信息封裝在以發(fā)包結(jié)構(gòu)體里。發(fā)包結(jié)構(gòu)體定義以下:2)經(jīng)過SPI總線寫入視頻芯片緩沖區(qū)。3)開啟發(fā)包步驟2)和步驟3)都是經(jīng)過完成。產(chǎn)生發(fā)包完成中止。(射頻發(fā)包和射頻收包用是同一個(gè)終端標(biāo)志,必須設(shè)置終端標(biāo)志位判斷是發(fā)包中止,還是收包終端)。5.收包過程:1)射頻芯片接收到完整數(shù)據(jù)包2)產(chǎn)生接收中止(第1)和2)都是有射頻芯片完成。3)MCU從射頻芯片都走數(shù)據(jù)包這一步是有完成。數(shù)據(jù)儲(chǔ)存在rx_frame結(jié)構(gòu)體中。三、試驗(yàn)設(shè)備: ZIGBEE無線空氣溫濕度傳感器一個(gè)、裝有試驗(yàn)軟件計(jì)算機(jī)。四、試驗(yàn)內(nèi)容:1.對(duì)節(jié)點(diǎn)進(jìn)行射頻初始化:填寫本機(jī)ID、本機(jī)panid、設(shè)置信道7820,設(shè)置速率是250kB/s、調(diào)用Mac初始化2.發(fā)包:填寫發(fā)包內(nèi)容,調(diào)用發(fā)包函數(shù),屏蔽收包代碼,編譯燒寫,開機(jī)。3.收包:修改本機(jī)ID,PANID,屏蔽發(fā)包代碼,編譯,進(jìn)入到調(diào)試界面,在收包函數(shù)后面設(shè)置斷點(diǎn),將rx_frame加入watch1.觀看數(shù)據(jù)。代碼:(主函數(shù)部分)#include"arch_include.h"#include"rf2xx_include.h"#include"test_send.h"#include"sht1xx.h"#include"similar_i2c.h"floatg_temp;floatg_RH;uint8_trec_flag=0;uint8_tdata_temp[2]={0,0};uint8_tdata_rh[2]={0,0};externnode_addr_tnode_addr;externnode_addr_tdest_addr;externrf_settings_trf2xx_settings;externhal_rx_frame_trx_frame;voidsent_fram_2_getway(void){ uint8_tlen=0; rfTxInfo.pPayload[len++]=0x03; rfTxInfo.pPayload[len++]=1; rfTxInfo.pPayload[len++]=1; rfTxInfo.pPayload[len++]=0x00;//PANID rfTxInfo.pPayload[len++]=0x01;//PANID rfTxInfo.pPayload[len++]=0x0; rfTxInfo.pPayload[len++]=0x0; rfTxInfo.pPayload[len++]=0x01;//ID rfTxInfo.pPayload[len++]=0x11;//ID rfTxInfo.pPayload[len++]=0; rfTxInfo.pPayload[len++]=0; rfTxInfo.pPayload[len++]=0; rfTxInfo.pPayload[len++]=0; rfTxInfo.pPayload[len++]=data_rh[1];//humi//rfTxInfo.pPayload[len++]=data_temp[1];//humi rfTxInfo.pPayload[len++]=data_temp[1];//temp rfTxInfo.pPayload[len++]=((data_rh[0]&0x0F)<<4)+(data_temp[0]&0x0F); rfTxInfo.pPayload[len++]=0; rfTxInfo.pPayload[len++]=0; rfTxInfo.pPayload[len++]=0; rfTxInfo.pPayload[len++]=0; rfTxInfo.pPayload[len++]=0x7F;//qualityofpower rfTxInfo.pPayload[len++]=0x0B; rfTxInfo.ackRequest=0; rfTxInfo.destAddr=0x1801;//修改發(fā)送與接收地址 rfTxInfo.destPanId=0x22; rfTxInfo.length=len; mac_send_packet_extend(&rfTxInfo,0,0); return;}intmain(void){ uint8_tw=3; system_init_from_reset(); SENSOR_VBAT_ON(); SI32_PBSTD_A_enable_pullup_resistors(SI32_PBSTD_1); SI32_PBGP_A_set_pins_push_pull_output(SI32_PBGP_4,0X0003); SI32_PBGP_A_write_pins_low(SI32_PBGP_4,0X0003); delay_us(100000); node_addr.id=0x1001;//sendnode:0x1001,revnode:0x1801 node_addr.panid=0x22; rf2xx_settings.rf212_band_set=7820; rf2xx_settings.rf212_bitrate=OQPSK_SIN_250; mac_init(); while(1){ SHT15_temp_samp(data_temp); SHT15_rh_samp(data_rh); sent_fram_2_getway(); delay_us(1000000); }}(SHT15_rh_samp函數(shù))voidSHT15_rh_samp(uint8_t*data){ uint8_tRH_data[3]; floatrh=0; simliar_i2c_transstart();//transmissionstart similar_i2c_write_byte(0x06);//sendcommandtosensor similar_i2c_write_byte(0x00);//sendvalueofstatusregister simliar_i2c_transstart(); similar_i2c_write_byte(0x05); SIMILAR_I2C_DATA_IN; delay_us(100000); SIMILAR_I2C_DATA_OUT; RH_data[0]=similar_i2c_read_byte(SIMILAR_I2C_ACK);//readthefirstbyte(MSB) RH_data[1]=similar_i2c_read_byte(SIMILAR_I2C_ACK);//readthesecondbyte(LSB) RH_data[2]=similar_i2c_read_byte(SIMILAR
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 林權(quán)轉(zhuǎn)讓咨詢服務(wù)合同
- 電子產(chǎn)品組裝操作流程
- 專利權(quán)許可合約
- 2025年度礦山礦產(chǎn)資源開采權(quán)轉(zhuǎn)讓與環(huán)境保護(hù)協(xié)議3篇
- 食品行業(yè)財(cái)務(wù)競(jìng)爭(zhēng)力分析
- 車站服務(wù)員制服管理辦法
- 小學(xué)安全守護(hù)者聘用合同
- 人才梯隊(duì)發(fā)展規(guī)劃制定
- 2025年度旅游景區(qū)安全生產(chǎn)管理協(xié)議3篇
- 2025版酒店家具租賃、回收及環(huán)保處理合同2篇
- 大國兵器學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 期末綜合素養(yǎng)評(píng)價(jià) (三)(試題)-2024-2025學(xué)年一年級(jí)上冊(cè)數(shù)學(xué)
- 《稅費(fèi)計(jì)算與申報(bào)》課程標(biāo)準(zhǔn)(含課程思政)
- 2024年無子女離婚協(xié)議書范文百度網(wǎng)盤
- UNIT 4 Section Ⅳ Lesson 3 My Favourite Comedian 學(xué)案 高中英語北師大版 (選擇性必修第二冊(cè))
- 24秋國家開放大學(xué)《0-3歲嬰幼兒的保育與教育》期末大作業(yè)參考答案
- 流行病學(xué)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 開源軟件組件漏洞檢測(cè)與自動(dòng)修復(fù)技術(shù)研究綜述
- 海南省三亞市(2024年-2025年小學(xué)三年級(jí)語文)人教版期末考試(上學(xué)期)試卷(含答案)
- 教科版六年級(jí)上冊(cè)科學(xué)第四單元第5課《電磁鐵》同步練習(xí)(含答案)
- 政務(wù)服務(wù)業(yè)務(wù)知識(shí)題庫含答案
評(píng)論
0/150
提交評(píng)論