学术咨询

让论文发表更省时、省事、省心

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

  推荐期刊:智能计算机与应用期刊是省级期刊吗

  评职人员写好论文后事要发表的,这时就需要选择期刊,然而作者在选择期刊时分不清期刊的真假或者期刊的级别。目前一些期刊,尤其是学术期刊为了迎合发表论文需要,会擅自更改期刊级别说明,为了避免上当,作者在发表职称论文的时候多关注期刊相关信息。那么智能计算机与应用是省级期刊吗?怎么判定呢?