作者:DKYjzx | 更新時間:2019-05-21 | 瀏覽量:1078
#include <MsTimer2.h>
#include <SPI.h>
#include <Ethernet.h>
#include <MsTimer2.h>
volatile int body;
EthernetClient client; //聲明點擊變量
byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED}; //初始化以太網(wǎng)
void setup(){
body = 0;
//初始化聲明的變量
Serial.begin(9600); //設(shè)置波特率
if (Ethernet.begin(mac)) { //如果連接到以太網(wǎng)
Serial.println(Ethernet.localIP());//打印出本地的ip
}
delay(5000); //延時5秒
while (!client.connect("m.placeboworld.cn",8181)) { //若是未連接到服務(wù)器,網(wǎng)址和端口
Serial.println("未連接到服務(wù)器");
}
if (client.connected()) {
Serial.println("已連接服務(wù)器");
}
delay(5000);
if (client.available()) { //如果客戶端有數(shù)據(jù)可讀
while (client.available()) { //持續(xù)讀取數(shù)據(jù),直到讀取完
Serial.print((char)client.read());
}
}
client.print("{\"M\":\"checkin\",\"ID\":\"10263\",\"K\":\"f4103106c\"}\n"); //連接到自己API,ID
delay(5000);
if (client.available()) {
while (client.available()) {
Serial.print((char)client.read());
}
}
MsTimer2::set(10000, msTimer2_func); //定時函數(shù)
MsTimer2::start(); //定時啟動
pinMode(7, INPUT); //七號引腳定義為輸入
}
void msTimer2_func() { //定時器函數(shù)
Serial.println("發(fā)送數(shù)據(jù)");
//寫入字符數(shù)據(jù)+換行到串口
Serial.println(String("人體紅外") + String(body));
//在串口監(jiān)視器中,分別打印出1個數(shù)值
client.print("{\"M\":\"update\",\"ID\":\"10263\",\"V\":{\"10184\":\""); //發(fā)送數(shù)據(jù)到自己智能設(shè)備的ID中,溫度ID
client.print("\",\"10184\":\"");
client.print(body);
client.print("\"}}\n");
}
void loop(){
body = digitalRead(7); //獲取傳感器的值
delay(5000);
}