
кому нужно вот скетч
СпойлерПоказать
int cycle_counter=0;
char val = 0;
int old_SensorSpalnaD=0;
int old_SensorZalD=0;
int old_SensorKyxnaD=0;
int old_SensorKoridorD=0;
int old_SensorTyaletD=0;
int old_Sensorvodityalet=0;
#include "DHT.h"
#define DHTPIN 12 // what pin we're connected to
#define DHTTYPE DHT11 // DHT 11
DHT dht(DHTPIN, DHTTYPE);
unsigned int sensorValue = 0;
char buf[80];
// Функция отправки HTTP-запроса на сервер
void sendHTTPRequest() {
Serial.println(buf);
}
void setup()
{
Serial.println("DHTxx test!");
dht.begin();
pinMode(2, INPUT); // Датчик движение спальня 2 пин
old_SensorSpalnaD=digitalRead(2);
pinMode(3, INPUT); // Датчик движение зал 3 пин
old_SensorZalD=digitalRead(3);
pinMode(4, INPUT); // Датчик движение кухня 4 пин
old_SensorKyxnaD=digitalRead(4);
pinMode(5, INPUT); // Датчик движение коридор 5 пин
old_SensorKoridorD=digitalRead(5);
pinMode(6, INPUT); // Датчик движение туалет 6 пин
old_SensorTyaletD=digitalRead(6);
pinMode(7, OUTPUT); // реле света спальня 7 пин
pinMode(8, OUTPUT); // реле подсветки кухня 8 пин
pinMode(9, OUTPUT); // реле лазер охрана 9 пин
pinMode(10, INPUT); // сенсор воды туалет 10 пин
old_Sensorvodityalet=digitalRead(10);
pinMode(11, OUTPUT); // реле звука туалет 11 пин
//pinMode(12, OUTPUT); // реле 12пин температура
pinMode(13, OUTPUT); // реле 13 пин
Serial.begin(115200); // Скорость консольного порта 9600 (пригодится для отладки)
}
void loop()
{
{
if (Serial.available() > 0) {
val = Serial.read();
if (val=='B') digitalWrite(7,HIGH); // выключить свет
if (val=='V') digitalWrite(7,LOW); // включить свет
if (val=='Z') digitalWrite(8,HIGH); // выключить свет
if (val=='X') digitalWrite(8,LOW); // включить свет
if (val=='S') digitalWrite(12,HIGH); // выключить свет
if (val=='D') digitalWrite(12,LOW); // включить свет
if (val=='F') digitalWrite(13,HIGH); // выключить свет
if (val=='G') digitalWrite(13,LOW); // включить свет
if (val=='K') digitalWrite(9,HIGH); // выключить свет
if (val=='L') digitalWrite(9,LOW); // включить свет
}
}
int valid_sensor=0;
delay(1000); // задержка в 0.1 сек.
cycle_counter++;
if (cycle_counter>600) {
cycle_counter=0;
}
//движение спальня
Serial.println("G");
int current_SensorSpalnaD=digitalRead(2);
//Serial.println(current_SensorSpalnaD);
if (current_SensorSpalnaD!=(int)old_SensorSpalnaD) {
old_SensorSpalnaD=(int)current_SensorSpalnaD;
sprintf(buf, "GET /objects/?object=SensorSpalnaD&op=m&m=statusChanged&status=%i HTTP/1.0", (int)current_SensorSpalnaD);
sendHTTPRequest();
}
//GARAGE GATES SENSOR
Serial.println("H");
int current_SensorZalD=digitalRead(3);
//Serial.println(current_SensorZalD);
if (current_SensorZalD!=(int)old_SensorZalD) {
old_SensorZalD=(int)current_SensorZalD;
sprintf(buf, "GET /objects/?object=SensorZalD&op=m&m=statusChanged&status=%i HTTP/1.0", (int)current_SensorZalD);
sendHTTPRequest();
}
//GARAGE GATES SENSOR
Serial.println("T");
int current_SensorKyxnaD=digitalRead(4);
//Serial.println(current_SensorKyxnaD);
if (current_SensorKyxnaD!=(int)old_SensorKyxnaD) {
old_SensorKyxnaD=(int)current_SensorKyxnaD;
sprintf(buf, "GET /objects/?object=SensorKyxnaD&op=m&m=statusChanged&status=%i HTTP/1.0", (int)current_SensorKyxnaD);
sendHTTPRequest();
}
//GARAGE GATES SENSOR
Serial.println("N");
int current_SensorKoridorD=digitalRead(5);
//Serial.println(current_SensorKoridorD);
if (current_SensorKoridorD!=(int)old_SensorKoridorD) {
old_SensorKoridorD=(int)current_SensorKoridorD;
sprintf(buf, "GET /objects/?object=SensorKoridorD&op=m&m=statusChanged&status=%i HTTP/1.0", (int)current_SensorKoridorD);
sendHTTPRequest();
}
//GARAGE GATES SENSOR
Serial.println("O");
int current_SensorTyaletD=digitalRead(6);
//Serial.println(current_SensorTyaletD);
if (current_SensorTyaletD!=(int)old_SensorTyaletD) {
old_SensorTyaletD=(int)current_SensorTyaletD;
sprintf(buf, "GET /objects/?object=SensorTyaletD&op=m&m=statusChanged&status=%i HTTP/1.0", (int)current_SensorTyaletD);
sendHTTPRequest();
}
//Сенсор воды туалет
// Serial.println("P");
// int current_Sensorvodityalet=digitalRead(10);
//Serial.println(current_Sensorvodityalet);
// if (current_Sensorvodityalet!=(int)old_Sensorvodityalet) {
// old_Sensorvodityalet=(int)current_Sensorvodityalet;
// sprintf(buf, "GET /objects/?object=Sensorvodityalet&op=m&m=statusChanged&status=%t HTTP/1.0", (int)current_Sensorvodityalet);
// sendHTTPRequest();
//}
// DHT
// Reading temperature or humidity takes about 250 milliseconds!
// Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)
float h = dht.readHumidity();
float t = dht.readTemperature();
// check if returns are valid, if they are NaN (not a number) then something went wrong!
if (isnan(t) || isnan(h))
{
Serial.println("Failed to read from DHT");
}
else
{
Serial.print("Humidity: ");
Serial.print(h);
Serial.print(" %\t");
Serial.print("Temperature: ");
Serial.print(t);
Serial.println(" *C");
int h2 = (h - (int)h) * 100; // выделяем дробную часть
sprintf(buf, "GET /objects/?object=humSensor01&op=m&m=humChanged&h=%0d.%d", (int)h, abs(h2));
sendHTTPRequest();
int t2 = (t - (int)t) * 100; // выделяем дробную часть
sprintf(buf, "GET /objects/?object=TempSensor01&op=m&m=tempChanged&t=%0d.%d", (int)t, abs(t2));
sendHTTPRequest();
// end DHT
}
}
char val = 0;
int old_SensorSpalnaD=0;
int old_SensorZalD=0;
int old_SensorKyxnaD=0;
int old_SensorKoridorD=0;
int old_SensorTyaletD=0;
int old_Sensorvodityalet=0;
#include "DHT.h"
#define DHTPIN 12 // what pin we're connected to
#define DHTTYPE DHT11 // DHT 11
DHT dht(DHTPIN, DHTTYPE);
unsigned int sensorValue = 0;
char buf[80];
// Функция отправки HTTP-запроса на сервер
void sendHTTPRequest() {
Serial.println(buf);
}
void setup()
{
Serial.println("DHTxx test!");
dht.begin();
pinMode(2, INPUT); // Датчик движение спальня 2 пин
old_SensorSpalnaD=digitalRead(2);
pinMode(3, INPUT); // Датчик движение зал 3 пин
old_SensorZalD=digitalRead(3);
pinMode(4, INPUT); // Датчик движение кухня 4 пин
old_SensorKyxnaD=digitalRead(4);
pinMode(5, INPUT); // Датчик движение коридор 5 пин
old_SensorKoridorD=digitalRead(5);
pinMode(6, INPUT); // Датчик движение туалет 6 пин
old_SensorTyaletD=digitalRead(6);
pinMode(7, OUTPUT); // реле света спальня 7 пин
pinMode(8, OUTPUT); // реле подсветки кухня 8 пин
pinMode(9, OUTPUT); // реле лазер охрана 9 пин
pinMode(10, INPUT); // сенсор воды туалет 10 пин
old_Sensorvodityalet=digitalRead(10);
pinMode(11, OUTPUT); // реле звука туалет 11 пин
//pinMode(12, OUTPUT); // реле 12пин температура
pinMode(13, OUTPUT); // реле 13 пин
Serial.begin(115200); // Скорость консольного порта 9600 (пригодится для отладки)
}
void loop()
{
{
if (Serial.available() > 0) {
val = Serial.read();
if (val=='B') digitalWrite(7,HIGH); // выключить свет
if (val=='V') digitalWrite(7,LOW); // включить свет
if (val=='Z') digitalWrite(8,HIGH); // выключить свет
if (val=='X') digitalWrite(8,LOW); // включить свет
if (val=='S') digitalWrite(12,HIGH); // выключить свет
if (val=='D') digitalWrite(12,LOW); // включить свет
if (val=='F') digitalWrite(13,HIGH); // выключить свет
if (val=='G') digitalWrite(13,LOW); // включить свет
if (val=='K') digitalWrite(9,HIGH); // выключить свет
if (val=='L') digitalWrite(9,LOW); // включить свет
}
}
int valid_sensor=0;
delay(1000); // задержка в 0.1 сек.
cycle_counter++;
if (cycle_counter>600) {
cycle_counter=0;
}
//движение спальня
Serial.println("G");
int current_SensorSpalnaD=digitalRead(2);
//Serial.println(current_SensorSpalnaD);
if (current_SensorSpalnaD!=(int)old_SensorSpalnaD) {
old_SensorSpalnaD=(int)current_SensorSpalnaD;
sprintf(buf, "GET /objects/?object=SensorSpalnaD&op=m&m=statusChanged&status=%i HTTP/1.0", (int)current_SensorSpalnaD);
sendHTTPRequest();
}
//GARAGE GATES SENSOR
Serial.println("H");
int current_SensorZalD=digitalRead(3);
//Serial.println(current_SensorZalD);
if (current_SensorZalD!=(int)old_SensorZalD) {
old_SensorZalD=(int)current_SensorZalD;
sprintf(buf, "GET /objects/?object=SensorZalD&op=m&m=statusChanged&status=%i HTTP/1.0", (int)current_SensorZalD);
sendHTTPRequest();
}
//GARAGE GATES SENSOR
Serial.println("T");
int current_SensorKyxnaD=digitalRead(4);
//Serial.println(current_SensorKyxnaD);
if (current_SensorKyxnaD!=(int)old_SensorKyxnaD) {
old_SensorKyxnaD=(int)current_SensorKyxnaD;
sprintf(buf, "GET /objects/?object=SensorKyxnaD&op=m&m=statusChanged&status=%i HTTP/1.0", (int)current_SensorKyxnaD);
sendHTTPRequest();
}
//GARAGE GATES SENSOR
Serial.println("N");
int current_SensorKoridorD=digitalRead(5);
//Serial.println(current_SensorKoridorD);
if (current_SensorKoridorD!=(int)old_SensorKoridorD) {
old_SensorKoridorD=(int)current_SensorKoridorD;
sprintf(buf, "GET /objects/?object=SensorKoridorD&op=m&m=statusChanged&status=%i HTTP/1.0", (int)current_SensorKoridorD);
sendHTTPRequest();
}
//GARAGE GATES SENSOR
Serial.println("O");
int current_SensorTyaletD=digitalRead(6);
//Serial.println(current_SensorTyaletD);
if (current_SensorTyaletD!=(int)old_SensorTyaletD) {
old_SensorTyaletD=(int)current_SensorTyaletD;
sprintf(buf, "GET /objects/?object=SensorTyaletD&op=m&m=statusChanged&status=%i HTTP/1.0", (int)current_SensorTyaletD);
sendHTTPRequest();
}
//Сенсор воды туалет
// Serial.println("P");
// int current_Sensorvodityalet=digitalRead(10);
//Serial.println(current_Sensorvodityalet);
// if (current_Sensorvodityalet!=(int)old_Sensorvodityalet) {
// old_Sensorvodityalet=(int)current_Sensorvodityalet;
// sprintf(buf, "GET /objects/?object=Sensorvodityalet&op=m&m=statusChanged&status=%t HTTP/1.0", (int)current_Sensorvodityalet);
// sendHTTPRequest();
//}
// DHT
// Reading temperature or humidity takes about 250 milliseconds!
// Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)
float h = dht.readHumidity();
float t = dht.readTemperature();
// check if returns are valid, if they are NaN (not a number) then something went wrong!
if (isnan(t) || isnan(h))
{
Serial.println("Failed to read from DHT");
}
else
{
Serial.print("Humidity: ");
Serial.print(h);
Serial.print(" %\t");
Serial.print("Temperature: ");
Serial.print(t);
Serial.println(" *C");
int h2 = (h - (int)h) * 100; // выделяем дробную часть
sprintf(buf, "GET /objects/?object=humSensor01&op=m&m=humChanged&h=%0d.%d", (int)h, abs(h2));
sendHTTPRequest();
int t2 = (t - (int)t) * 100; // выделяем дробную часть
sprintf(buf, "GET /objects/?object=TempSensor01&op=m&m=tempChanged&t=%0d.%d", (int)t, abs(t2));
sendHTTPRequest();
// end DHT
}
}