You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
169 lines
5.1 KiB
169 lines
5.1 KiB
5 years ago
|
/*
|
||
|
-- New project --
|
||
|
|
||
|
This source code of graphical user interface
|
||
|
has been generated automatically by RemoteXY editor.
|
||
|
To compile this code using RemoteXY library 2.4.3 or later version
|
||
|
download by link http://remotexy.com/en/library/
|
||
|
To connect using RemoteXY mobile app by link http://remotexy.com/en/download/
|
||
|
- for ANDROID 4.3.1 or later version;
|
||
|
- for iOS 1.3.5 or later version;
|
||
|
|
||
|
This source code is free software; you can redistribute it and/or
|
||
|
modify it under the terms of the GNU Lesser General Public
|
||
|
License as published by the Free Software Foundation; either
|
||
|
version 2.1 of the License, or (at your option) any later version.
|
||
|
*/
|
||
|
|
||
|
//////////////////////////////////////////////
|
||
|
// RemoteXY include library //
|
||
|
//////////////////////////////////////////////
|
||
|
|
||
|
// RemoteXY select connection mode and include library
|
||
|
#define REMOTEXY_MODE__ESP8266_HARDSERIAL_POINT
|
||
|
|
||
|
#include <RemoteXY.h>
|
||
|
|
||
|
// RemoteXY connection settings
|
||
|
#define REMOTEXY_SERIAL Serial
|
||
|
#define REMOTEXY_SERIAL_SPEED 115200
|
||
|
#define REMOTEXY_WIFI_SSID "RemoteXY"
|
||
|
#define REMOTEXY_WIFI_PASSWORD "12345678"
|
||
|
#define REMOTEXY_SERVER_PORT 6377
|
||
|
|
||
|
|
||
|
// RemoteXY configurate
|
||
|
#pragma pack(push, 1)
|
||
|
uint8_t RemoteXY_CONF[] =
|
||
|
{ 255,2,0,39,0,159,0,8,13,0,
|
||
|
65,4,12,20,9,9,2,1,61,18,
|
||
|
22,11,2,26,16,31,79,78,0,79,
|
||
|
70,70,0,129,0,29,20,22,7,17,
|
||
|
114,101,108,97,121,32,50,0,2,0,
|
||
|
62,35,22,11,2,26,31,31,79,78,
|
||
|
0,79,70,70,0,129,0,30,37,22,
|
||
|
7,17,114,101,108,97,121,32,51,0,
|
||
|
129,0,29,5,22,7,17,114,101,108,
|
||
|
97,121,32,49,0,129,0,30,52,22,
|
||
|
7,17,114,101,108,97,121,32,52,0,
|
||
|
67,5,5,5,20,5,177,26,16,67,
|
||
|
4,7,53,20,5,2,26,21,65,1,
|
||
|
12,35,9,9,129,0,62,6,33,5,
|
||
|
17,80,104,111,116,111,114,101,115,105,
|
||
|
115,116,111,114,0,129,0,63,52,18,
|
||
|
6,17,80,73,82,0 };
|
||
|
|
||
|
// this structure defines all the variables of your control interface
|
||
|
struct {
|
||
|
|
||
|
// input variable
|
||
|
uint8_t switch_1; // =1 if switch ON and =0 if OFF
|
||
|
uint8_t switch_2; // =1 if switch ON and =0 if OFF
|
||
|
|
||
|
// output variable
|
||
|
uint8_t led_1_r; // =0..255 LED Red brightness
|
||
|
char photoresistor[16]; // string UTF8 end zero
|
||
|
char pir[21]; // string UTF8 end zero
|
||
|
uint8_t led_2_b; // =0..255 LED Blue brightness
|
||
|
|
||
|
// other variable
|
||
|
uint8_t connect_flag; // =1 if wire connected, else =0
|
||
|
|
||
|
} RemoteXY;
|
||
|
#pragma pack(pop)
|
||
|
|
||
|
/////////////////////////////////////////////
|
||
|
// END RemoteXY include //
|
||
|
/////////////////////////////////////////////
|
||
|
|
||
|
#define PIN_SWITCH_1 6
|
||
|
#define PIN_SWITCH_2 5
|
||
|
|
||
|
//για φωτοαντίσταση
|
||
|
int anSensor = A0; // select the analog input pin for the photoresistor
|
||
|
int relayPin4=4;
|
||
|
|
||
|
//για σένσορα κίνησης
|
||
|
int pirSensor = 10;
|
||
|
int pirState = LOW; // we start, assuming no motion detected
|
||
|
int val = 0; // variable for reading the pin status
|
||
|
int relayPin1=7;
|
||
|
|
||
|
|
||
|
void setup()
|
||
|
{
|
||
|
RemoteXY_Init ();
|
||
|
|
||
|
pinMode (relayPin1, OUTPUT); //relay 1
|
||
|
pinMode (PIN_SWITCH_1, OUTPUT);//relay 2
|
||
|
pinMode (PIN_SWITCH_2, OUTPUT); //relay 3
|
||
|
pinMode (relayPin4, OUTPUT); //relay 4
|
||
|
|
||
|
// TODO you setup code
|
||
|
|
||
|
}
|
||
|
|
||
|
void loop()
|
||
|
{
|
||
|
//Για την φωτοαντίσταση
|
||
|
int timiFotos = analogRead(anSensor);
|
||
|
|
||
|
RemoteXY_Handler ();
|
||
|
|
||
|
//relay 1
|
||
|
//Για τον pir
|
||
|
val = digitalRead(pirSensor); // read input value
|
||
|
if (val == HIGH) { // check if the input is HIGH
|
||
|
if (pirState == LOW) {
|
||
|
// we have just turned on
|
||
|
strcpy (RemoteXY.pir, "Detected!");
|
||
|
digitalWrite(relayPin1, HIGH);//αναμένο ρελε συνεχεια
|
||
|
// We only want to print on the output change, not state
|
||
|
pirState = HIGH;
|
||
|
}
|
||
|
} else {
|
||
|
if (pirState == HIGH){
|
||
|
// we have just turned of
|
||
|
strcpy (RemoteXY.pir, "Ended!");
|
||
|
digitalWrite(relayPin1, LOW); //σβησμένο ρελε συνεχεια
|
||
|
// We only want to print on the output change, not state
|
||
|
pirState = LOW;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
//relay 2
|
||
|
digitalWrite(PIN_SWITCH_1, (RemoteXY.switch_1==1)?LOW:HIGH);//λειτουργεί κανονικά αλλίως ανάποδα
|
||
|
if (digitalRead(PIN_SWITCH_1) == LOW) // if pin 10 enjoyed a high level voltage
|
||
|
RemoteXY.led_1_r = 255; // then turn on red light
|
||
|
else // else
|
||
|
RemoteXY.led_1_r = 0; // turn off red
|
||
|
|
||
|
|
||
|
//relay 3
|
||
|
digitalWrite(PIN_SWITCH_2, (RemoteXY.switch_2==1)?LOW:HIGH);
|
||
|
|
||
|
if (digitalRead(PIN_SWITCH_2) == LOW) // if pin 10 enjoyed a high level voltage
|
||
|
RemoteXY.led_2_b = 255; // then turn on red light
|
||
|
else // else
|
||
|
RemoteXY.led_2_b = 0; // turn off red
|
||
|
|
||
|
//relay 4
|
||
|
if (timiFotos<400)
|
||
|
{
|
||
|
digitalWrite(relayPin4, LOW);
|
||
|
strcpy (RemoteXY.photoresistor, "turn ON");
|
||
|
delay(1000);
|
||
|
}
|
||
|
if (timiFotos>=400)
|
||
|
{
|
||
|
digitalWrite(relayPin4,HIGH);
|
||
|
strcpy (RemoteXY.photoresistor, "turn OFF");
|
||
|
delay(1000);
|
||
|
}
|
||
|
|
||
|
// TODO you loop code
|
||
|
// use the RemoteXY structure for data transfer
|
||
|
|
||
|
|
||
|
}
|