• 
    

    
    

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

      ?

      WiFi平板智能家居控制系統(tǒng)

      2018-01-10 22:55彭衛(wèi)星鄒文歡毋茂盛
      物聯(lián)網(wǎng)技術(shù) 2017年12期
      關(guān)鍵詞:智能家居紅外

      彭衛(wèi)星+鄒文歡+毋茂盛

      摘 要:隨著網(wǎng)絡(luò)技術(shù)和通信技術(shù)的發(fā)展,利用移動通信設(shè)備控制家居技術(shù)成為人們目前的研究熱點(diǎn)。由于平板具有顯示屏幕大等優(yōu)點(diǎn),用平板控制家居,操作更方便,特別適合老年人群。文中開發(fā)了一個平板App程序和對應(yīng)的硬件電路,實(shí)現(xiàn)了通過WiFi和ZigBee技術(shù)控制家中電燈、空調(diào)與門鎖等設(shè)備的目的。

      關(guān)鍵詞:App;WiFi;紅外;智能家居;

      中圖分類號:TP277 文獻(xiàn)標(biāo)識碼:A 文章編號:2095-1302(2017)12-00-03

      0 引 言

      隨著互聯(lián)網(wǎng)技術(shù)和3G、4G通信技術(shù)的不斷發(fā)展,WiFi已成為目前最普遍的無線通信方式之一。如今90%以上的家庭都擁有WiFi,主要用于手機(jī)上網(wǎng)。利用WiFi通信,無需布線,因此,利用WiFi進(jìn)行智能家居的自動化控制成為目前工程師們研究的熱點(diǎn)。由于老年人反應(yīng)遲鈍,視力欠佳,操作手機(jī)時,經(jīng)常會因看不清或抖動出現(xiàn)按錯鍵的情況,更有甚者可能無法操作手機(jī),而平板具有比手機(jī)更大的屏幕,因此,本文開發(fā)了一個基于平板和WiFi技術(shù)的智能家居監(jiān)控系統(tǒng),通過在平板電腦上“指指戳戳”實(shí)現(xiàn)開燈、開門和開關(guān)空調(diào)。

      1 系統(tǒng)結(jié)構(gòu)與功能

      1.1 總體設(shè)計

      系統(tǒng)的總體硬件結(jié)構(gòu)如圖1所示。

      1.2 系統(tǒng)的工作原理

      平板通過ESP8266 WiFi模塊與基于CC2530的協(xié)調(diào)器相連。WiFi選擇AP模式,默認(rèn)的IP地址為:192.168.4.1;通過AT指令可以查看或修改WiFi模塊的IP地址(具體方法見ESP8266中AT指令手冊)。為了控制空調(diào)、電燈和門鎖等設(shè)備,采用積木式結(jié)構(gòu),每個設(shè)備對應(yīng)一個終端節(jié)點(diǎn),終端節(jié)點(diǎn)與CC2530協(xié)調(diào)器之間通過ZigBee協(xié)議進(jìn)行組網(wǎng)通信。不同的終端節(jié)點(diǎn)具有不同的硬件電路和控制功能,由此最終實(shí)現(xiàn)通過平板對家中設(shè)備如電燈、空調(diào)以及門鎖的控制。

      2 系統(tǒng)硬件設(shè)計

      系統(tǒng)硬件主要由基于CC2530的協(xié)調(diào)器和基于CC2530的終端節(jié)點(diǎn)組成,其工作原理如圖2所示。

      CC2530是由美國TI公司設(shè)計的SoC芯片,它采用8051內(nèi)核,含有可編程閃存、8 KB RAM、UART和SPI接口等,最重要的是具有采用ZigBee協(xié)議進(jìn)行數(shù)據(jù)無線發(fā)射和接收的功能,適用于智能家居、工業(yè)控制等特定場合,能夠省去連線的麻煩,被廣泛應(yīng)用于物聯(lián)網(wǎng)技術(shù)領(lǐng)域[1]。本項目中用CC2530分別設(shè)計了協(xié)調(diào)器和終端節(jié)點(diǎn),兩者之間通過ZigBee進(jìn)行無線通信。協(xié)調(diào)器作為平板和終端節(jié)點(diǎn)之間的橋梁,用以轉(zhuǎn)發(fā)各種命令和數(shù)據(jù);終端節(jié)點(diǎn)用于數(shù)據(jù)采集或執(zhí)行平板發(fā)送的命令,實(shí)現(xiàn)室內(nèi)溫度數(shù)據(jù)采集、控制電燈開關(guān)、開啟門鎖和空調(diào)等。對于不同的終端節(jié)點(diǎn),僅焊接相關(guān)的電子元件即可。

      2.1 WiFi模塊

      WiFi模塊的主芯片為高性能無線 SOC esp8266-01,在較小尺寸封裝集成了業(yè)界領(lǐng)先的 Tensilica L106 超低功耗 32 位 MCU以及WiFi MAC/ BB/RF/PA/LNA等,支持 16 位精簡模式和RTOS,支持標(biāo)準(zhǔn)的 IEEE 802.11 b/g/n 協(xié)議和完整的 TCP/IP 協(xié)議棧。WiFi模塊的工作電路如圖3所示。

      2.2 空調(diào)控制電路設(shè)計

      為了控制空調(diào),用CC2530的P2.0通過電阻外接三極管9013的基極,9013的集電極接紅外發(fā)光二極管。通過CC2530的P2.0引腳輸出脈沖可以開啟和關(guān)閉空調(diào)。

      2.3 電燈和開鎖電路設(shè)計

      用CC2530的P1.3和 P1.5 輸出兩路控制信號,經(jīng)三極管驅(qū)動后接繼電器,由繼電器控制燈泡的220 V電源和12 V開鎖電源,最終實(shí)現(xiàn)開關(guān)燈泡和門鎖。

      2.4 室內(nèi)溫度采集電路設(shè)計

      DS18B20是美國DALLAS半導(dǎo)體公司設(shè)計的數(shù)字溫度傳感器[2],它可直接將溫度轉(zhuǎn)換成數(shù)字溫度值,溫度測量范圍為 -55 ~ 125℃;采用1-Wire 接口??梢跃幊淘O(shè)置上限和下限報警溫度和溫度轉(zhuǎn)換分辨,使用方便。在本系統(tǒng)中,CC2530的P1.1 接DS18B20的數(shù)據(jù)線,可實(shí)現(xiàn)室內(nèi)溫度的采集。

      3 系統(tǒng)軟件設(shè)計

      線性布局(Linear Layout)是一種比較靈活的布局方式,具有操作簡單、修改方便以及界面友好等特點(diǎn)[3]。因此,該平板APP的設(shè)計采用線性布局的方法實(shí)現(xiàn)。首先,將頁面母板分成若干部分,母板Linear Layout使用Android:orientation="vertical"將各個部分垂直分布;然后,每個部分中的對象通過Android:orientation="horizontal"實(shí)現(xiàn)橫向分布。且采用了TextView,Editext,ToggleButton , Button,ImageView等控件。通過對每一個Button設(shè)置setOnCheckedChangeListener()語句實(shí)現(xiàn)對該控件的監(jiān)聽。當(dāng)Button被按下時,會觸發(fā)一個事件。平板App軟件大致分為3個模塊,分別是連接模塊、控制模塊和接收模塊。App運(yùn)行界面如圖4所示。

      3.1 IP連接模塊設(shè)計

      App默認(rèn)端口號為8080,默認(rèn)IP地址為:192.168.1.1,如果需要也可以在IP地址欄輸入新的IP。點(diǎn)擊連接,會觸發(fā)Socket事件,進(jìn)行Socket通信。連接成功后,App與硬件的通信都通過Socket進(jìn)行,進(jìn)而控制硬件操作。具體開啟線程代碼如下:

      toggleButton2.setOnCheckedChangeListener(new

      CompoundButton.OnCheckedChangeListener() {

      public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {endprint

      toggleButton2.setChecked(isChecked);

      if(isChecked == true)

      {

      socket = null;

      ReceiveMessageThread r1 = new ReceiveMessageThread();// 開啟客戶端線程

      r1.start();

      //延時讓子線程執(zhí)行完畢后再執(zhí)行下方程序

      for(int i=1;i<10000;i++)

      for(int j=1;j<10000;j++);

      if(socket != null)

      Toast.makeText(MainActivity.this,"正確連入", Toast.LENGTH_SHORT).show();

      else {

      Toast.makeText(MainActivity.this, "失敗連入", Toast.LENGTH_SHORT).show();

      }

      }else{

      socket = null;

      Toast.makeText(MainActivity.this,"斷開連接", Toast.LENGTH_SHORT).show();

      }}})

      3.2 控制模塊

      控制模塊包括電燈控制,門鎖控制,空調(diào)控制等。燈與門鎖通過繼電器控制,空調(diào)則用紅外控制。軟件通過Socket中的BufferedWriter將攜帶的所有控制信息發(fā)送給硬件。實(shí)現(xiàn)代碼如下:

      BufferedWriter writer = new BufferedWriter (new

      InputStreamWriter(socket.getOutputStream()))

      開關(guān)控制代碼如下:

      switch1.setOnCheckedChangeListener(new

      CompoundButton.OnCheckedChangeListener() {

      public void onCheckedChanged(CompoundButton

      buttonView, boolean isChecked) {

      Toast.makeText(LampActivity.this, "LED1"+isChecked,

      Toast.LENGTH_SHORT).show();

      if(isChecked == true)

      {

      String up1 = "@LED1UP";

      try {

      writer2.write(up1);

      writer2.newLine();

      writer2.flush();

      } catch (IOException e) {

      e.printStackTrace();

      }catch(Exception e){

      System.out.println(e.toString());

      }}else{

      String down1 = "@LED1DOWN";

      try {

      writer2.write(down1);

      writer2.newLine();

      writer2.flush();

      } catch (IOException e) {

      e.printStackTrace();

      }catch(Exception e){

      System.out.println(e.toString());

      }}}})

      3.3 溫度采集顯示模塊

      連接后,溫度采集終端節(jié)點(diǎn)每秒采集一次溫度,通過Socket緩沖區(qū)BufferedReader將溫度實(shí)時上傳到平板。具體代碼如下:

      線程:class ReceiveMessageThread extends Thread {

      public void run() {

      try {

      s1 = ed1.getText().toString().trim();

      //s1是文本框填寫的IP地址

      socket = new Socket(s1,8080);

      reader = new BufferedReader(new

      InputStreamReader(socket.getInputStream()));

      while((valueString1=reader.readLine()) != null){

      Message message1 = new Message();

      message1.what = UPDATE_RECEIVEMSG;

      handler.sendMessage(message1); }

      } catch (IOException e) {

      e.printStackTrace();

      }}}

      在onResume()中運(yùn)行以下代碼:

      Handler handler = new Handler(){

      public void handleMessage(Message msg) {

      switch(msg.what) {

      case UPDATE_RECEIVEMSG:

      ed2.setText(valueString1.toString());

      valueString1 = null;

      break;

      default:

      break;

      }}}

      4 結(jié) 語

      本文研究了基于平板的家居智能控制技術(shù),通過WiFi和ZigBee無線方式傳送命令和數(shù)據(jù),省去了布線的麻煩。一方面,通過平板可以開門,由于電插鎖安裝在室內(nèi),使得想通過開鎖行竊的盜賊望而卻步,起到了防盜的作用。另一方面,特別是夏天,用戶無需打開蚊帳,躺在床上即可用平板開關(guān)電燈和空調(diào),避免蚊子鉆入蚊帳中,使生活變得非常方便。本文設(shè)計的系統(tǒng)經(jīng)過實(shí)際使用,取得了良好的效果,所研究的技術(shù)具有非常重要的意義和廣闊的應(yīng)用前景。

      參考文獻(xiàn)

      [1]董澤龍,毋茂盛. SPI/UART與ZigBee協(xié)議轉(zhuǎn)換模塊設(shè)計[J].物聯(lián)網(wǎng)技術(shù),2015,5(12):32-34.

      [2]毋茂盛.單片機(jī)原理與開發(fā)[M].北京:高等教育出版社,2015.

      [3]郭霖.Android第一行代碼[M].北京:中國工信出版集團(tuán), 2016.

      [4]王健權(quán),王蒙.基于WiFi的智能家居的設(shè)計與實(shí)現(xiàn)[J].科技風(fēng),2016(2):61-62.

      [5]何文樂.基于物聯(lián)網(wǎng)和wifi的智能家居移動控制系統(tǒng)[J].信息通信,2016(2):90-91.

      [6]朱祥賢.基于Android和ZigBee的智能家居系統(tǒng)設(shè)計[J].數(shù)字技術(shù)與應(yīng)用,2014(9):131-133.

      [7]薛誓穎,李捍東.基于ZigBee技術(shù)智能家居安防監(jiān)控系統(tǒng)[J].物聯(lián)網(wǎng)技術(shù),2017,7(7):68-70.

      [8]魯玉軍,劉振.ZigBee技術(shù)在智能家居系統(tǒng)中的應(yīng)用[J].物聯(lián)網(wǎng)技術(shù),2017,7(4):40-43.endprint

      猜你喜歡
      智能家居紅外
      網(wǎng)紅外賣
      閃亮的中國紅外『芯』
      TS系列紅外傳感器在嵌入式控制系統(tǒng)中的應(yīng)用
      基于Zigbee的無線通信技術(shù)在智能家居中的應(yīng)用
      基于快速遞推模糊2-劃分熵圖割的紅外圖像分割
      關(guān)于智能家居真正需求的探討
      基于LD3320的智能家居控制
      哈巴河县| 阳谷县| 邛崃市| 沭阳县| 青浦区| 个旧市| 梅河口市| 靖远县| 灵璧县| 华蓥市| 临夏市| 宜都市| 蓬溪县| 扎兰屯市| 阜新市| 吉林市| 池州市| 喀什市| 荆门市| 建始县| 家居| 天台县| 民县| 嘉禾县| 饶平县| 沅江市| 景德镇市| 临澧县| 全州县| 时尚| 赣榆县| 雅江县| 太白县| 阜南县| 东光县| 璧山县| 祁阳县| 永修县| 上林县| 桦川县| 四会市|