你想知道你家的温度吗?让我告诉你:
您需要准备:
1.arduino和ethernet shield
3.android手机及安装domotichome
连接如图所示。
打开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,温度能显示吗?