Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <SPI.h>
- #include <ESP8266WiFi.h>
- #define TCP_MSS
- #define LWIP_IPV6
- #define LWIP_FEATURES
- #define LWIP_OPEN_SRC
- String apiKey_RTD = "",apiKey_RFTD = "",apiKey_HLB = ""; // Enter your Write API key from ThingSpeak
- byte ledPin = 16,lock=0,showonce=1,dispRTD=0,dispRFTD=0,dispHLB=0;
- char ssid[] = "freewifi"; // SSID of your home WiFi
- char pass[] = "6666666666"; // password of your home WiFi
- const char* cloudserver = "api.thingspeak.com";
- String request,request1,mybigdata,myRTDvalues,myRFTDvalues,myHLBvalues,mytemp,myhumi,myfridgetemp,myfridgehumi,mylightvalue,mylightstatus;
- WiFiServer server(80);
- IPAddress ip(184,106,153,149); // IP address of the server,
- IPAddress gateway(192,168,43,1); // gateway of your network,
- IPAddress subnet(255,255,255,0); // subnet mask of your network,WiFi
- void setup() {
- Serial.begin(115200); // only for debug
- WiFi.config(ip, gateway, subnet); // forces to use the fix IP
- WiFi.begin(ssid, pass); // connects to the WiFi router
- while (WiFi.status() != WL_CONNECTED)
- {
- Serial.print(".");
- delay(500);
- }
- server.begin(); // starts the server
- Serial.println("Connected to wifi");
- Serial.print("Status: "); Serial.println(WiFi.status()); // some parameters from the network
- Serial.print("IP: "); Serial.println(WiFi.localIP());
- Serial.print("Subnet: "); Serial.println(WiFi.subnetMask());
- Serial.print("Gateway: "); Serial.println(WiFi.gatewayIP());
- Serial.print("SSID: "); Serial.println(WiFi.SSID());
- Serial.print("Signal: "); Serial.println(WiFi.RSSI());
- Serial.print("Networks: ");
- Serial.println(WiFi.scanNetworks());
- pinMode(ledPin, OUTPUT);
- delay(2000);
- }
- void loop () {
- WiFiClient client = server.available();
- if (client)
- {
- if (client.connected())
- {
- Serial.println("Client connected");
- digitalWrite(ledPin, LOW); // to show the communication only (inverted logic)
- Serial.println(".");
- //***************************Temperature receive code added from here*******************************//
- request = client.readStringUntil('r'); // receives the message from the client
- //Serial.println(request);
- mybigdata = request;
- if(request.substring(1,2)=="T")
- {
- myRTDvalues = request;
- }
- if(request.substring(1,2)=="F")
- {
- myRFTDvalues = request;
- }
- if(request.substring(1,2)=="L")
- {
- myHLBvalues = request;
- }
- Serial.print("Room Temperature = ");
- Serial.println(myRTDvalues);
- Serial.print("Refrigerator Temperature = ");
- Serial.println(myRFTDvalues);
- // Serial.print("Hoarding Board = ");
- // Serial.println(myHLBvalues);
- // Serial.println();
- //****************************DATA FROM RTD WILL BE PROCESSED HERE*********************************//
- if(mybigdata.substring(1,2)=="T")
- {
- dispRTD=1;
- mytemp=mybigdata.substring(3,8);
- //Serial.print("Temperature data from RTD: ");
- //Serial.println(mytemp);
- myhumi=mybigdata.substring(8,13);
- //Serial.print("Humidity data from RTD: ");
- //Serial.println(myhumi);
- client.flush();
- client.println("Hi RTD!I received your data.r");
- digitalWrite(ledPin, HIGH);
- }
- //**************************************DATA FROM RFTD WILL BE PROCESSED HERE************************************************//
- if(mybigdata.substring(1,2)=="F")
- {
- dispRFTD=1;
- myfridgetemp=mybigdata.substring(4,9);
- //Serial.print("Temperature data from RFTD: ");
- //Serial.println(myfridgetemp);
- myfridgehumi=mybigdata.substring(9,14);
- //Serial.print("Humidity data from RFTD: ");
- //Serial.println(myfridgehumi);
- client.flush();
- client.println("Hi RFTD!I received your data.r");
- digitalWrite(ledPin, HIGH);
- }
- if(mybigdata.substring(1,2)=="L")
- {
- dispHLB=1;
- mylightvalue=mybigdata.substring(3,4);
- //Serial.print("Light status value from HLB: ");
- //Serial.println(mylightvalue);
- if(mylightvalue == "0")
- {
- mylightstatus="OFF";
- }
- if(mylightvalue == "1")
- {
- mylightstatus="ON";
- }
- client.flush();
- client.println("Hi HLB!I received your data.r");
- digitalWrite(ledPin, HIGH);
- }
- }
- client.stop(); // tarminates the connection with the client
- if(dispRTD)
- {
- //Serial.println("Master disconnected from RTD but RTD is still in connection");
- }
- if(dispRFTD)
- {
- //Serial.println("Master disconnected from RFTD but RFTD is still in connection");
- }
- if(dispHLB)
- {
- //Serial.println("Master disconnected from HLB but HLB is still in connection");
- }
- lock=1;
- showonce=0;
- }
- else
- {
- if(showonce==1)
- {
- if(dispRTD)
- {Serial.println("n!!!!!RTD not connected!!!!!n");}
- if(dispRFTD)
- {Serial.println("n!!!!!RFTD not connected!!!!!n");}
- if(dispHLB)
- {Serial.println("n!!!!!HLB not connected!!!!!n");}
- showonce=0;
- }
- }
- //***************************data to thingspeak******************************************//
- if(lock==1)
- {
- if (client.connect(cloudserver,80)) // "184.106.153.149" or api.thingspeak.com
- {
- if(dispRTD)
- {
- Serial.print("Room Temperature data from RTD: ");
- Serial.println(mytemp);
- Serial.print("Room Humidity data from RTD: ");
- Serial.println(myhumi);
- String sendData = apiKey_RTD+"&field1="+String(mytemp)+"&field2="+String(myhumi)+"rnrn";
- Serial.println(sendData);
- client.print("POST /update HTTP/1.1n");
- client.print("Host: api.thingspeak.comn");
- client.print("Connection: closen");
- client.print("X-THINGSPEAKAPIKEY: "+apiKey_RTD+"n");
- client.print("Content-Type: application/x-www-form-urlencodedn");
- client.print("Content-Length: ");
- client.print(sendData.length());
- client.print("nn");
- client.print(sendData);
- //Serial.println("Connecting to Thingspeak to send RTD data...");
- //dispRTD=0;
- }
- if(dispRFTD)
- {
- Serial.print("Fridge Temperature data from RFTD: ");
- Serial.println(myfridgetemp);
- Serial.print("Fridge Humidity data from RFTD: ");
- Serial.println(myfridgehumi);
- String sendData = apiKey_RFTD+"&field1="+String(myfridgetemp)+"&field2="+String(myfridgehumi)+"rnrn";
- Serial.println(sendData);
- client.print("POST /update HTTP/1.1n");
- client.print("Host: api.thingspeak.comn");
- client.print("Connection: closen");
- client.print("X-THINGSPEAKAPIKEY: "+apiKey_RFTD+"n");
- client.print("Content-Type: application/x-www-form-urlencodedn");
- client.print("Content-Length: ");
- client.print(sendData.length());
- client.print("nn");
- client.print(sendData);
- //Serial.println("Connecting to Thingspeak to send RFTD data...");
- //dispRFTD=0;
- }
- if(dispHLB)
- {
- Serial.print("Light Status: ");
- Serial.print(mylightstatus);
- String sendData = apiKey_HLB+"&field1="+String(mylightvalue)+"&field2="+String(mylightstatus)+"rnrn";
- Serial.println(sendData);
- client.print("POST /update HTTP/1.1n");
- client.print("Host: api.thingspeak.comn");
- client.print("Connection: closen");
- client.print("X-THINGSPEAKAPIKEY: "+apiKey_HLB+"n");
- client.print("Content-Type: application/x-www-form-urlencodedn");
- client.print("Content-Length: ");
- client.print(sendData.length());
- client.print("nn");
- client.print(sendData);
- //Serial.println("Connecting to Thingspeak to send HLB data...");
- //dispHLB=0;
- }
- }
- // Serial.println("Sending to Cloud....");
- // delay(5000);
- lock=0;
- showonce=1;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement