關(guān) 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > 基于Internet網(wǎng)絡(luò)架構(gòu)的無線傳感器網(wǎng)絡(luò)系統(tǒng)

        基于Internet網(wǎng)絡(luò)架構(gòu)的無線傳感器網(wǎng)絡(luò)系統(tǒng)

        作者: 時間:2010-11-09 來源:網(wǎng)絡(luò) 收藏

          char buff[64];

          int ret=0;

          ret=Receive(buff,64);//AfxMessageBox(OK);

          if(ret==ERROR)

          {TRACE(ERROR!);}

          else

          m_pDoc->Presscessding(buff);

          CAsyncSocket::OnReceive(nErrorCode);

          }

          圖4是用Visual C++開發(fā)的mSever端溫度數(shù)據(jù)可視化顯示的界面,圖中顯示的是1個節(jié)點的溫度變化實時曲線。

        服務(wù)器mSever端溫度數(shù)據(jù)可視化顯示界面


        圖4 服務(wù)器mSever端溫度數(shù)據(jù)可視化顯示界面

          2.2 mSever端Web訪問程序設(shè)計

          為了實現(xiàn)多個客戶端可以同時訪問數(shù)據(jù)中心服務(wù)器,規(guī)定客戶端在打開服務(wù)器的Web頁面時,首先提交客戶端的IP地址,然后服務(wù)器端把客戶端的IP地址收錄入庫,再將接收到的溫度數(shù)據(jù)轉(zhuǎn)發(fā)給指定的客戶端。因此,當(dāng)有多個客戶端同時訪問數(shù)據(jù)中心服務(wù)器時,服務(wù)器端只需要將各個客戶端的IP地址收錄入庫,最后再循環(huán)不斷地往各個客戶端轉(zhuǎn)發(fā)溫度數(shù)據(jù)即可。

          當(dāng)客戶端斷開與服務(wù)器端的連接時,將向服務(wù)器提交斷開請求,從服務(wù)器端的IP地址庫中釋放掉該客戶端的IP地址,從而實現(xiàn)了服務(wù)器端IP地址庫的動態(tài)更新。

          2.3 節(jié)點溫度采集軟件設(shè)計

          以下為溫度傳感器節(jié)點的溫度采集部分代碼:

          #include Mini51B.h//Mini51板頭文件

          #include LCD1602.h//液晶模塊頭文件

          #include ds18b20.h//溫度傳感器頭文件

          #include stdio.h//C標(biāo)準(zhǔn)函數(shù)庫,系統(tǒng)集成

          #include DS1302.h

          #define uchar unsigned char

          uchar n,temp;

          uchar a[6]=000000; //串口字符串

          SYSTEMTIME RTC;

          void main(void) {

          float V; //記錄溫度浮點型

          uchar str_buff[20];//字符緩沖區(qū)

          SCON=0x50;//串口工作在方式1,波特率9600,//晶振為22.1184 MHz

          PCON=0;

          TMOD=0x20;//定時器1工作在方式2

          TH1=0xfa;

          TL1=0xfa;

          IE=0x91;//1001 0001,EA=1,ES=1,EX0=1

          IT0=1;//外部中斷0為低電平觸發(fā)方式

          TR1=1;//定時器T1開始計數(shù)

          ds18b20_init();//初始化溫度傳感器時鐘測試

          Initial_DS1302();//初始化時鐘時間設(shè)定,執(zhí)行一次后刪除該部分

          Write1302(DS1302_MINUTE, 0x11);

          Write1302(DS1302_HOUR,0x08);

          Write1302(DS1302_DAY,0x15);

          Write1302(DS1302_MONTH,0x04);

          Write1302(DS1302_YEAR,0x08);

          lcd1602_init();

          lcd_put_xyns(2,1,14,http://www.stuelab.cn/>);

          delay_ms(1000);

          while(1) {

          for(n=0;n10;n++) { //10*0.5 s=5 s數(shù)據(jù)發(fā)送周期

          V=ReadTemperature()/100.0; //溫度部分

          sprintf(str_buff,%2.2f,V); //格式轉(zhuǎn)換

          lcd_put_xyns(1,1,11,Temperatur=);

          lcd_put_xyns(12,1,5,str_buff);

          seg7_disp(V*100);



        關(guān)鍵詞: 無線傳感器

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 怀宁县| 思茅市| 娄烦县| 富民县| 忻州市| 大兴区| 乌拉特中旗| 左权县| 读书| 安宁市| 永定县| 灌云县| 芒康县| 峡江县| 哈尔滨市| 鸡泽县| 衡山县| 锡林郭勒盟| 泽库县| 宣城市| 扶绥县| 秦安县| 牡丹江市| 和田县| 巴彦淖尔市| 达孜县| 卢龙县| 大悟县| 英山县| 内江市| 珠海市| 龙山县| 洛宁县| 高安市| 连州市| 罗源县| 彰化市| 长武县| 余干县| 赞皇县| 佛冈县|