资讯详情

[转载]当android碰上arduino(三)--domotichome 温度传感器

你想知道你家的温度吗?让我告诉你:

您需要准备:

1.arduino和ethernet shield

2.温度传感器18b20

3.android手机及安装domotichome

连接如图所示。

a4c26d1e5885305701be709a3d33442f.png

打开arduino,输入sketch:

#include

#include

#include

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xBE };

byte ip[] = { 192 ,168 ,1 ,177 };

byte gateway[] = { 192 ,168 ,1 ,1 };

byte subnet[] = { 255 ,255 ,255 ,0 };

Server server(8083);

String readString = String(30);

DallasTemperature tempSensor;

void setup(){

Ethernet.begin(mac, ip, gateway, subnet);

delay(1000);

Serial.begin(9600);

tempSensor.begin(5);

}

void loop(){

Client client = server.available();

if (client) {

while (client.connected()) {

if (client.available()) {

char c = client.read();

if (readString.length() < 30)

{

readString = readString c;

}

if (c == 'n') {

Serial.print(readString);

client.println("HTTP/1.1 200 OK");

client.println("Content-Type: text/html");

client.println();

if(readString.startsWith("GET

/?out=5&status=1"))

{Serial.print("n 5 f_MCP9700A n");

client.print("{"status" : "ok" , "value" : "");

client.print(tempSensor.getTemperature());

client.print(""}");

}

if(readString.startsWith("GET /?out=all"))

{

Serial.print("n OUT ALLn");

client.print("{"ip" : "192.168.1.177", ");

client.print(""devices" : ");

client.print("[{ "type" : "temperature", "name" : "Temp",

"out" : "");

client.print("5");

client.print(""}");

client.print("]}");

}

readString="";

client.stop();

Serial.print(tempSensor.getTemperature());

}

}

}

}

}

打开手机domotichome,点击里面的temperature,温度能显示吗?

标签: 光感传感器zp一12g

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台