4021|4

655

帖子

29

TA的资源

版主

楼主
 

SensorTile物联网开发套件(6)——DIY高温报警器 [复制链接]

 
本帖最后由 lb8820265 于 2016-10-29 10:40 编辑

先上效果图:
      图中让SensorTile靠近盛着热水杯子,如果温度高于30摄氏度,那么APP界面就显示为红色,低于等于30就显示透明。
      这个DIY主要是展示如何获取传感器数值,SDK-Example显示出来的都是字符串,无法进行数学运算,转换也很麻烦,不过SDK中各个Feature都提供了获取传感器数值的API,这里就以获取温度的API为例来介绍下。
      用AS打开SDK,在FeatureListActivity类中找到onUpdate函数,仿照之前做的DIY遥控LED灯,在函数中添加如下函数:
  1. if(f.getName().equals("Temperature")){//if the Feature is Temperature
  2.     FeatureTemperature Temperature = mNode.getFeature(FeatureTemperature.class);
  3.     final float Temp = Temperature.getTemperature(sample);//get temperature
  4.     //System.out.println(Temp);//print the temperature
  5.     FeatureListActivity.this.runOnUiThread(new Runnable() {//change color in the UI thread
  6.         @Override
  7.         public void run() {
  8.             if (Temp > 30) {//if the temperature is greater than 30 degree centigrade
  9.                 mFeatureList.setBackgroundColor(Color.argb(255, 255, 0, 0));//change the background to red
  10.             } else {
  11.                 mFeatureList.setBackgroundColor(Color.argb(0, 0, 0, 0));//change the background to transprent
  12.             }
  13.         }
  14.     });
  15. }
复制代码
       程序都写好了注释,首先判断需要更新的Feature是不是Temperature,然后获取Temperature的类,然后定义一个final类型的变量Temp,注意这里一定要用final类型,不然在UI线程中报错。然后可以采用System.out.println输出到AS上的logcat,接下来就在UI线程中判断变量Temp是否大于30度,大于就将整个ListView背景变为红色,否则变为透明。好啦,所有代码写完了,整个功能实现就这一段,不需要再在其他地方添加了。
      使用时要注意,需要先点击Feature列表中的Temperature,这样就Notification了Temperature,否则APP不会接收温度信息。
      这个DIY演示了SKD中类似getXX(Samplesample)函数的用法,为以后更加复杂的应用打好基础。
      补充说明:所有的代码都进行了版本的管理,在APP中体现在设备搜索界面的状态栏上,被收缩了,点击后可以会显示出版本号,在menu_scan.xml中添加如下代码:
  1. <item
  2.     android:orderInCategory="2"
  3.     android:title="V1.0.2"
  4.     app:showAsAction="never"/>
复制代码
      之前有V1.0.0、V1.0.1,现在到了V1.0.2。在github中用Tag对不同的版本进行区分,可以下载任何一个Tag下的版本。同时在github的README.md进行了功能介绍,描述了各个版本修改的内容以及修改时间。

最新回复

nmg
SensorTile物联网开发套件抢鲜体验、免费申请活动正在进行(即日起-11月21日) 想要的小伙伴玩的小伙伴马上行动吧~  详情 回复 发表于 2016-11-18 11:57

赞赏

1

查看全部赞赏

点赞 关注
个人签名QQ:252669569
 
 

回复
举报

2774

帖子

8

TA的资源

版主

沙发
 
我一直以为ST的这类板是插在nucleo上面用的……

点评

哈哈,这个自带F4 MCU  详情 回复 发表于 2016-11-4 00:52
 
 
 

回复

655

帖子

29

TA的资源

版主

板凳
 
strong161 发表于 2016-11-3 16:17
我一直以为ST的这类板是插在nucleo上面用的……

哈哈,这个自带F4 MCU
个人签名QQ:252669569
 
 
 

回复

1297

帖子

2

TA的资源

纯净的硅(中级)

4
 
厄,安卓啊,似乎不会啊!!!
 
 
 

回复

5260

帖子

239

TA的资源

管理员

5
 
SensorTile物联网开发套件抢鲜体验、免费申请活动正在进行(即日起-11月21日)
想要的小伙伴玩的小伙伴马上行动吧~
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表