• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于ZigBee模塊和C#的上位機研究與實現(xiàn)

      2017-09-07 20:13:04張昱霖
      數(shù)字技術與應用 2017年5期
      關鍵詞:上位機通用性

      張昱霖

      摘要:上位機作為物聯(lián)設備軟件層核心之一,其地位十分重要。為了方便對物聯(lián)設備進行管理配置,本文基于ZigBee模塊和C#語言設計了一種能夠通過本地串口和網(wǎng)絡通信兩種方式對ZigBee模塊主控單元進行控制和數(shù)據(jù)讀取的上位機架構(gòu),具備可靠性和通用性的特點。

      關鍵詞:ZigBee模塊;C#;上位機;通用性

      中圖分類號:TP274 文獻標識碼:A 文章編號:1007-9416(2017)05-0053-01

      1 基本原理

      (1)上位機與下位機。上位機是用于接收數(shù)據(jù)、控制數(shù)據(jù)的軟件系統(tǒng);下位機是直接控制設備、獲取設備狀況的控制器。上位機可以接收下位機的信號,也可以向下位機發(fā)出命令,下位機再根據(jù)此命令解釋成相應時序信號直接控制相應設備。下位機會實時讀取設備狀態(tài)數(shù)據(jù),轉(zhuǎn)換成數(shù)字信號反饋給上位機。(2)ZigBee技術。作為無線通信技術領域中的ZigBee技術,其基于IEEE802.15.4協(xié)議。最大的特點是短距離、低功耗、低復雜度、低成本,非常適合嵌入距離較近的物聯(lián)設備供其通信使用[1]。(3)串口通信。串口是一種硬件類型的接口,按位發(fā)送和接收字節(jié),其參數(shù)包括:波特率、數(shù)據(jù)位、停止位和奇偶校驗,對于兩個進行通信的端口,這些參數(shù)必須相匹配[2]。具體的,ZigBee模塊傳感節(jié)點發(fā)送信號到ZigBee模塊匯聚節(jié)點即主控單元,主控單元通過串口將數(shù)據(jù)傳到計算機中的上位機中,上位機接收信息并處理。(4)網(wǎng)絡通信。要實現(xiàn)上位機與下位機之間的遠程網(wǎng)絡通信,有兩種方式:ZigBee模塊主控單元搭建Wi-Fi局域網(wǎng)方式的短距離通信、使用服務器和ZigBee模塊主控單元間的遠距離通信。

      2 上位機與ZigBee模塊的串口通信

      一般來說,ZigBee模塊采用RS232串口通信,8位數(shù)據(jù)位,1位停止位,低有效位先傳送。因此,將ZigBee模塊主控單元與計算機串口相連,通過C#編程設計上位機獲取有效的數(shù)據(jù)字段,可以方便的獲取ZigBee主控單元的數(shù)據(jù),具體如下:

      2.1 串口配置

      串口的屬性配置包括:端口號、波特率、數(shù)據(jù)位、停止位、校驗位。將串口的這些屬性值分別存儲進combobox中,根據(jù)實際情況進行選擇。

      2.2 發(fā)送數(shù)據(jù)

      使用Write接口三個參數(shù)的含義為:使用的數(shù)組、從數(shù)組第n位開始發(fā)數(shù)據(jù)、發(fā)送數(shù)據(jù)的長度。核心代碼如下:

      if (serialPort.IsOpen){

      try{

      Byte[] b = new Byte[3] {1,2,3};

      char[] ch = new char[3] {'a','b','c'};

      serialPort.Write(b,0,1);//使用b[]數(shù)組,第0為開始,長度為1

      serialPort.Write(ch,0,2);//使ch[]數(shù)組,第0為開始,長度為2

      MessageBox.Show("發(fā)送成功");

      }

      catch{MessageBox.Show("發(fā)送失敗");}

      }

      2.3 接收數(shù)據(jù)

      從ZigBee模塊主控單元中讀取數(shù)據(jù)的核心代碼如下:

      void Receive(object sender,SerialDataReceivedEventArgs e)

      {

      if (serialPort.IsOpen){

      Byte[] Receive = new Byte[serialPort.BytesToRead];

      serialPort.Read(Receive, 0, Receive.Length);

      serialPort.DiscardInBuffer();

      textBox.Text += Encoding.ASCII.GetString(Receive);

      }

      }

      3 上位機與ZigBee模塊的網(wǎng)絡通信

      3.1 短距離傳輸

      對上述使用串口向上位機有線傳輸數(shù)據(jù)的方式改進為無線局域網(wǎng)短距離傳輸,具體方式為:(1)ZigBee模塊主控單元將數(shù)據(jù)通過硬件串口發(fā)送給Wi-Fi模塊的串口,Wi-Fi模塊中需要有完整的套接字API或TCP/IP協(xié)議棧。(2)將Wi-Fi模塊與上位機連入同一個局域網(wǎng)保證其IP與上位機處于同一網(wǎng)段。(3)配置上位機與ZigBee模塊主控單元進行通訊。

      3.2 遠距離通信

      對上述只能在同一局域網(wǎng)向上位機傳輸數(shù)據(jù)的方式改進為通過以太網(wǎng)、不受距離約束的遠距離通信方式,具體方式為:(1)單純ZigBee模塊無法將數(shù)據(jù)發(fā)往以太網(wǎng),需要使用ZigBee/TCP網(wǎng)關。(2)ZigBee/TCP網(wǎng)關將數(shù)據(jù)轉(zhuǎn)換為TCP或UDP報文發(fā)送給指定的遠程服務器的IP和端口。(3)對遠程服務器建立TCP/UDP Server對指定的端口號進行監(jiān)聽,接收到報文后提取有效數(shù)據(jù)寫入數(shù)據(jù)庫,數(shù)據(jù)庫使用MySQL或SQL Server均可。(4)上位機使用Socket通信讀寫該服務器中數(shù)據(jù)庫的信息。

      4 結(jié)語

      本文研究了C#上位機對ZigBee模塊主控單元的控制與數(shù)據(jù)讀取的各種實現(xiàn)方式,包括傳統(tǒng)的串口通信、局域網(wǎng)短距離通信、服務器遠距離通信方式,可靠性與通用性很強,能夠滿足不同條件下的物聯(lián)設備與上位機的通信需求,對上位機與ZigBee模塊通信方式具有指導意義。

      參考文獻

      [1]王中生,曹梅.基于ZigBee的串口監(jiān)控軟件設計與實現(xiàn)[J].電子設計工程,2011(14):13-14.

      [2]章輝,葉建芳,葉建威.基于MSComm控件串口通信的實現(xiàn)[J] .電子測量技術,2011(08):127.endprint

      猜你喜歡
      上位機通用性
      無人飛行器通用半實物仿真平臺設計
      機電信息(2025年4期)2025-02-26 00:00:00
      Improving polyp detection at colonoscopy: Non-technological techniques
      基于元模型的通用性列控仿真平臺基礎環(huán)境研究
      鐵道學報(2018年5期)2018-06-21 06:21:06
      拋丸機吊具的通用性設計以及拋丸器的布置
      提升電網(wǎng)企業(yè)制度通用性的應用研究——以“1 + 2 + 3”閉環(huán)管理機制構(gòu)建精益高效的制度管理體系
      論網(wǎng)絡通信技術
      基于云的短波發(fā)射機機房中央空調(diào)自動控制系統(tǒng)的設計與實現(xiàn)
      基于上位機、NRF多點無線溫度監(jiān)控系統(tǒng)
      景點智能導航系統(tǒng)
      全自動包裝及碼垛系統(tǒng)的發(fā)展與應用
      兰州市| 高雄县| 布拖县| 辽阳县| 象山县| 兴安盟| 焦作市| 织金县| 屏东县| 南江县| 西昌市| 井冈山市| 虞城县| 靖西县| 定安县| 五华县| 罗定市| 万载县| 陈巴尔虎旗| 宜春市| 虹口区| 多伦县| 堆龙德庆县| 灵台县| 土默特右旗| 岳阳县| 丽水市| 峨边| 华蓥市| 漳州市| 新宾| 临湘市| 正镶白旗| 永德县| 扬中市| 乡城县| 紫金县| 沙湾县| 安徽省| 金华市| 广东省|