admin管理员组文章数量:1646962
将温度传感器获取室温显示在手机APP上
首先,该功能是基于手机通过wifi单片机功能上的,我们在原来的android项目中添加数据接收的代码与数据显示的控件,再通过线程不断地读取接收到的数据,已达到环境温度的实时显示。
1.android端布局的更改
增加一个按钮和一个TextView
2.android代码增加
test.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (out!=null){
mHandler = new Handler();
//相当于定时器,每隔2s执行一次该线程
runnable = new Runnable() {
@Override
public void run() {
try {
out.print("3");
out.flush();
InputStream in = mSocket.getInputStream();
byte[] buffer = new byte[in.available()];
in.read(buffer);
String msg = new String(buffer);
display.setText("当前室温:"+msg+"°");
} catch (IOException e) {
e.printStackTrace();
}
mHandler.postDelayed(this, 5000); //相当于定时器,每隔5s执行一次该线程
}
};
mHandler.post(runnable);
}
}
});
3.单片机接线
连接wifi模块之后(可以参考单片机端)
温度传感器使用的是18b20,如果接错线,很有可能会烧掉,务必将有字一面对自己
左 —— GND
中 —— 2
右 —— 5V
PS:中右针脚和杜邦线需要连1K电阻
4.单片机代码
在之前代码的判断条件中增加一个if语句
else if (comdata.startsWith("3", 11))
{
sensors.requestTemperatures(); // 发送命令获取温度
Serial.print("当前温度: ");
Serial.println(sensors.getTempCByIndex(0));
delay(500);
wifi.println("AT+CIPSEND=0,5");
delay(500);
wifi.println(sensors.getTempCByIndex(0));
}
android端输入
服务器地址:192.168.4.1
端口号:8080
版权声明:本文标题:将温度传感器获取室温显示在手机APP上 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dianzi/1729472225a1202035.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论