基于Android平台和蓝牙的太阳辐照度采集系统

  作者:刘敏 贺永亮 时间:2015-04-29来源:电子产品世界

  3 数据采集显示与记录

  在Android蓝牙与下位机蓝牙模块匹配成功之后,点击蓝牙配置界面中的数据采集按钮,即可以进入到数据采集界面。数据采集界面支持竖屏和横屏两种显示,以方便Android设备中手机和平板的使用。

  (1)横竖屏显示

  Android横竖屏要解决的两个问题:布局和重新载入。布局问题的解决,首先获得逻辑显示屏信息,比较宽度和高度的大小,判断当前横屏还是竖屏,分别设置不同的XML文件定义的界面布局,核心代码如下:

  // 如果是横屏
  if (width > height)
  {
  Orientation = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE;
  // 设置使用datacollectlandscape.xml文件定义的界面布局
  this.setContentView(R.layout.datacollectlandscape);
  }
  // 如果是竖屏
  else
  {
  Orientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT;
  // 设置使用datacollectportrait.xml文件定义的界面布局
  this.setContentView(R.layout.datacollectportrait);
  }

  重新载入问题的解决,AndroidManifest.xml文件中添加android:configChanges="orientation|keyboardHidden| screenSize",然后重写onConfigurationChanged函数。在该函数中,实现横竖屏切换时保持屏幕原有方向:

  this.setRequestedOrientation(Orientation);

  这样在确定横竖屏显示之后,再旋转屏幕,界面保持不变,数据采集不会中断。

  (2)发送采集命令

  允许设置测试间隔时间,Android蓝牙向下位机蓝牙模块按照测试间隔时间定时发送采集命令,通过设置定时器任务来实现。每次启动一个发送采集命令的任务,部分代码如下:

  // 获得输出流
  OutputStream os = socket.getOutputStream();
  // 向输出流中写入采集命令
  for (int i = 0; i < len; i++)
  {
  socket.write(cmd[i]);
  }

  (3)接收数据,处理显示

  首先创建读取线程,在读取线程中读取下位机蓝牙模块发来的数据。部分代码如下:

  // 获得输入流
  InputStream mmInStream =socket.getInputStream();
  //读取数据
  readCount += mmInStream.read(buffer, readCount, countAll - readCount);

  这样采集的数据放在了buffer数组中,下面的工作即是根据通信协议,对数组中的数据进行处理,数据错误提示错误缘由,数据正确则构造Message信息,采用Handler消息传递机制显示在对应的文本框中。

  (4)记录采集数据

  选中记录复选框,可以自动记录测试结果,将测试结果以文本格式保存至Android设备中,部分代码如下:

  // 以指定文件创建 RandomAccessFile对象
  RandomAccessFile raf = new RandomAccessFile(targetFile, "rw");
  // 将文件记录指针移动到最后
  raf.seek(targetFile.length());
  // 输出文件内容
  raf.write(content.getBytes());
  raf.close();

  4 系统功能测试

  在手机端运行上位机软件,进入到蓝牙配置界面,依次进行打开蓝牙、蓝牙模块匹配操作,匹配结果如图3所示。然后点击数据采集,根据手机屏幕进入到采集数据界面的横屏或者竖屏显示,设置好测试间隔时间,点击启动按钮,采集结果如图4、图5所示。采集结束,点击停止按钮,按返回键至蓝牙配置界面,点击退出,确认。经过测试,系统支持100米距离蓝牙连接,运行正常,健壮性良好。目前已成功应用于一款太阳辐照度计仪表中,并参展2014年国际太阳能产业及光伏工程(上海)展览会,获得好评。

1 2

关键词: Android 蓝牙 数据采集 太阳辐照度 太阳电池

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版