Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define REMOTEXY_MODE__ESP32CORE_WIFI_CLOUD
- #include <WiFi.h>
- #include <RemoteXY.h>
- #include "DHT.h"
- #define relayPin 18
- #define dhtPin 15
- #define soilPin 34
- // RemoteXY connection settings
- #define REMOTEXY_WIFI_SSID "network"
- #define REMOTEXY_WIFI_PASSWORD "123456789"
- #define REMOTEXY_CLOUD_SERVER "cloud.remotexy.com"
- #define REMOTEXY_CLOUD_PORT 6376
- #define REMOTEXY_CLOUD_TOKEN "8b902449c210b1216ef7cf9a7e6e6d92"
- // RemoteXY configurate
- #pragma pack(push, 1)
- uint8_t RemoteXY_CONF[] = // 135 bytes
- { 255,0,0,66,0,128,0,16,31,1,129,0,5,20,18,6,17,83,111,105,
- 108,0,129,0,5,30,18,6,17,84,101,109,112,0,129,0,5,39,18,6,
- 17,72,117,109,0,129,0,5,48,18,6,17,87,105,110,100,0,129,0,5,
- 56,18,6,17,70,108,111,119,0,129,0,5,64,18,6,17,80,117,109,112,
- 0,67,4,29,21,20,5,2,26,11,67,4,29,31,20,5,2,26,11,67,
- 4,29,40,20,5,2,26,11,67,4,29,49,20,5,2,26,11,67,4,29,
- 57,20,5,2,26,11,67,4,29,65,20,5,2,26,11 };
- // this structure defines all the variables and events of your control interface
- struct {
- // output variables
- char text_1[11]; // string UTF8 end zero
- char text_2[11]; // string UTF8 end zero
- char text_3[11]; // string UTF8 end zero
- char text_4[11]; // string UTF8 end zero
- char text_5[11]; // string UTF8 end zero
- char text_6[11]; // string UTF8 end zero
- // other variable
- uint8_t connect_flag; // =1 if wire connected, else =0
- } RemoteXY;
- #pragma pack(pop)
- int8_t X_index, Y_index;
- int soilPer = 0;
- String X, Y;
- String Data;
- String flow;
- String wind;
- float humi;
- float temp;
- char i;
- DHT dht(dhtPin, DHT11);
- void setup() {
- RemoteXY_Init ();
- Serial.begin(9600);
- Serial2.begin(9600);
- pinMode(soilPin, INPUT);
- pinMode(relayPin, OUTPUT);
- digitalWrite(relayPin, HIGH);
- dht.begin();
- }
- void loop() {
- RemoteXY_Handler ();
- soilPer = analogRead(soilPin);
- soilPer = map(soilPer, 4096, 0, 0, 100);
- humi = dht.readHumidity();
- temp = dht.readTemperature();
- while (Serial2.available() > 0) {
- i = Serial2.read();
- if (i == '\n') {
- break;
- }
- else {
- Data += i;
- }
- }
- if (i == '\n') {
- X_index = Data.indexOf("X");
- Y_index = Data.indexOf("Y");
- X = Data.substring(0, X_index);
- flow = X;
- Y = Data.substring(X_index + 1, Y_index);
- wind = Y;
- //Show Data to Serial
- //Soil,Temp,Hum,Wind,Flow
- Serial.print(soilPer);
- Serial.print(",");
- Serial.print(temp);
- Serial.print(",");
- Serial.print(humi);
- Serial.print(",");
- Serial.print(wind);
- Serial.print(",");
- Serial.print(flow);
- /*
- Serial.print("Soil: ");
- Serial.print(soilPer);
- Serial.print("% \t\t\t");
- Serial.print("Temperature: ");
- Serial.print(temp);
- Serial.print("ΒΊC \t\t\t");
- Serial.print("Humidity: ");
- Serial.print(humi);
- Serial.print("% \t\t\t");
- Serial.print("Wind: ");
- Serial.print(wind);
- Serial.print("m/s \t\t\t");
- Serial.print("Flow: ");
- Serial.print(flow);
- Serial.println("L/Min");
- */
- char wind1[11];
- char flow1[11];
- wind.toCharArray(wind1, 11);
- flow.toCharArray(flow1, 11);
- //Send Data to RemoteXY
- itoa(soilPer, RemoteXY.text_1, 10);
- dtostrf(temp, 0, 2, RemoteXY.text_2);
- dtostrf(humi, 0, 2, RemoteXY.text_3);
- sprintf(RemoteXY.text_4, wind1);
- sprintf(RemoteXY.text_5, flow1);
- i = 0;
- Data = "";
- if (soilPer < 40) {
- digitalWrite(relayPin, LOW);
- sprintf(RemoteXY.text_6, "PumpON");
- Serial.println(",PumpON");
- }
- else {
- digitalWrite(relayPin, HIGH);
- sprintf(RemoteXY.text_6, "PumpOFF");
- Serial.println(",PumpOFF");
- }
- }
- }//END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement