關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > MD600G的Internet無線傳感器網絡設計

        MD600G的Internet無線傳感器網絡設計

        作者: 時間:2010-11-25 來源:網絡 收藏

        1.3 溫度節點

          溫度節點模塊主要由溫度DS18B20組成,并將其輸出的溫度數據送往單片機,然后單片機將這些數據進行相關處理,最后再送往后續的通信設備,并將溫度數據進行數碼管或液晶屏顯示。這里采用了實時時鐘電路DS1302來實現該系統的實時性。

        2 軟件設計

          基于MD600G和Internet的網的軟件包括溫度傳感器節點的軟件設計、MD600G與溫度傳感器節點的串口軟件設計、服務器mSever端與Internet網的數據通信軟件及mSever端溫度數據可視化程序的設計等。

        2.1 mSever端溫度數據可視化程序設計

          利用Visual C++強大的編譯器以及與數據庫的處理能力,開發出基于Windows平臺的32位數據可視化應用程序。圖3是mSever端溫度數據可視化程序設計的原理圖。

        按此在新窗口瀏覽圖片
        圖3 可視化界面的設計原理圖

          以下為可視化界面模塊源碼:

        void CDemoView::OnInitialUpdate() {
          CView::OnInitialUpdate();
          CRect Rect;
          GetClientRect(Rect);
          m_Plot.Create(WS_CHILD|WS_VISIBLE,Rect,this,12000);
          m_Plot.SetSerie(0, PS_SOLID, RGB(255,0,0), 0.0, 40.0, Temperature);//窗口
          m_Plot.SetLegend(0, PS_SOLID, RGB(255,0,0), Temperature);//背景方框
          m_Plot.m_bAutoScrollX=TRUE;
          SetTimer(1,1000,NULL);//背景刷新時間
          canSize=TRUE;
        }
        void CDemoView::OnTimer(UINT nIDEvent) {
          static BOOL pros={FALSE};
          if(!pros) {
            pros=TRUE;
            CDemoDoc* pDoc=GetDocument();
            ASSERT_VALID(pDoc);
            y=pDoc->p.buffer;
            m_Plot.AddPoint(0,CTime::GetCurrentTime(),y);
            Invalidate();
            pros=FALSE;
          }
          CView::OnTimer(nIDEvent);
        }
        void CDemoView::OnSize(UINT nType, int cx, int cy) {
          CView::OnSize(nType, cx, cy);
          if(canSize) {
            CRect Rect;
            GetClientRect(Rect);
            m_Plot.MoveWindow(Rect);
          }
        }
        void CDASocket::OnReceive(int nErrorCode) { //接收數據端的程序
          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++開發的mSever端溫度數據可視化顯示的界面,圖中顯示的是1個節點的溫度變化實時曲線。

        按此在新窗口瀏覽圖片
        圖4 服務器mSever端溫度數據可視化顯示界面

        2.2 mSever端Web訪問程序設計

          為了實現多個客戶端可以同時訪問數據中心服務器,規定客戶端在打開服務器的Web頁面時,首先提交客戶端的IP地址,然后服務器端把客戶端的IP地址收錄入庫,再將接收到的溫度數據轉發給指定的客戶端。因此,當有多個客戶端同時訪問數據中心服務器時,服務器端只需要將各個客戶端的IP地址收錄入庫,最后再循環不斷地往各個客戶端轉發溫度數據即可。

          當客戶端斷開與服務器端的連接時,將向服務器提交斷開請求,從服務器端的IP地址庫中釋放掉該客戶端的IP地址,從而實現了服務器端IP地址庫的動態更新。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 壶关县| 获嘉县| 东海县| 新安县| 正蓝旗| 博湖县| 红河县| 海口市| 湾仔区| 鹿泉市| 西峡县| 菏泽市| 兴宁市| 马山县| 屏南县| 将乐县| 和龙市| 广东省| 海宁市| 泰顺县| 黄大仙区| 丹东市| 搜索| 南木林县| 年辖:市辖区| 盘山县| 宝兴县| 南陵县| 石景山区| 罗定市| 高尔夫| 南华县| 敖汉旗| 大理市| 文化| 正蓝旗| 泉州市| 娄底市| 新龙县| 镇远县| 清涧县|