久久人人爽爽爽人久久久-免费高清a级毛片在线播放-国产高清自产拍av在线-中文字幕亚洲综合小综合-无码中文字幕色专区

學術咨詢

讓論文發表更省時、省事、省心

WiFi平板先進技術對智能控制家居設備起到的作用

時間:2018年01月18日 分類:電子論文 次數:

在網絡技術和通信技術的不斷發展背景下,先進的移動通信設備掌控家居生活已經成為了人們研究的重點。由于平板自身具有顯示屏幕大等優點,用平板掌控家居,操作起來更加方便,也很適合老年人使用。而本文開發的平板App程序和對應的硬件電路更是為智能家居提供

  在網絡技術和通信技術的不斷發展背景下,先進的移動通信設備掌控家居生活已經成為了人們研究的重點。由于平板自身具有顯示屏幕大等優點,用平板掌控家居,操作起來更加方便,也很適合老年人使用。而本文開發的平板App程序和對應的硬件電路更是為智能家居提供了幫助,實現了通過WiFi和ZigBee技術來控制家中電燈、空調與門鎖等設備的目標,讓家居生活充滿智能化。

  關鍵詞:App,WiFi平板,紅外,智能家居

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

  1 系統結構與功能

  1.1 總體設計

  系統的總體硬件結構如圖1所示。

  1.2 系統的工作原理

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

  2 系統硬件設計

  系統硬件主要由基于CC2530的協調器和基于CC2530的終端節點組成,其工作原理如圖2所示。

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

  2.1 WiFi模塊

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

  2.2 空調控制電路設計

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

  2.3 電燈和開鎖電路設計

  用CC2530的P1.3和 P1.5 輸出兩路控制信號,經三極管驅動后接繼電器,由繼電器控制燈泡的220 V電源和12 V開鎖電源,最終實現開關燈泡和門鎖。

  2.4 室內溫度采集電路設計

  DS18B20是美國DALLAS半導體公司設計的數字溫度傳感器[2],它可直接將溫度轉換成數字溫度值,溫度測量范圍為 -55 ~ 125℃;采用1-Wire 接口。可以編程設置上限和下限報警溫度和溫度轉換分辨,使用方便。在本系統中,CC2530的P1.1 接DS18B20的數據線,可實現室內溫度的采集。

  3 系統軟件設計

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

  3.1 IP連接模塊設計

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

  toggleButton2.setOnCheckedChangeListener(new

  CompoundButton.OnCheckedChangeListener() {

  public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {

  toggleButton2.setChecked(isChecked);

  if(isChecked == true)

  {

  socket = null;

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

  r1.start();

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

  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 控制模塊

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

  BufferedWriter writer = new BufferedWriter (new

  InputStreamWriter(socket.getOutputStream()))

  開關控制代碼如下:

  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 溫度采集顯示模塊

  連接后,溫度采集終端節點每秒采集一次溫度,通過Socket緩沖區BufferedReader將溫度實時上傳到平板。具體代碼如下:

  線程: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()中運行以下代碼:

  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 結 語

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

  參考文獻

  [1]董澤龍,毋茂盛. SPI/UART與ZigBee協議轉換模塊設計[J].物聯網技術,2015,5(12):32-34.

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

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

  [4]王健權,王蒙.基于WiFi的智能家居的設計與實現[J].科技風,2016(2):61-62.

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

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

  [7]薛誓穎,李捍東.基于ZigBee技術智能家居安防監控系統[J].物聯網技術,2017,7(7):68-70.

  [8]魯玉軍,劉振.ZigBee技術在智能家居系統中的應用[J].物聯網技術,2017,7(4):40

  推薦期刊:智能計算機與應用期刊是省級期刊嗎

  評職人員寫好論文后事要發表的,這時就需要選擇期刊,然而作者在選擇期刊時分不清期刊的真假或者期刊的級別。目前一些期刊,尤其是學術期刊為了迎合發表論文需要,會擅自更改期刊級別說明,為了避免上當,作者在發表職稱論文的時候多關注期刊相關信息。那么智能計算機與應用是省級期刊嗎?怎么判定呢?