Advertisement
Guest User

Untitled

a guest
Jun 18th, 2019
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.21 KB | None | 0 0
  1. #include <SPI.h>
  2. #include <ESP8266WiFi.h>
  3.  
  4. #define TCP_MSS
  5. #define LWIP_IPV6
  6. #define LWIP_FEATURES
  7. #define LWIP_OPEN_SRC
  8.  
  9. String apiKey_RTD = "",apiKey_RFTD = "",apiKey_HLB = ""; // Enter your Write API key from ThingSpeak
  10.  
  11. byte ledPin = 16,lock=0,showonce=1,dispRTD=0,dispRFTD=0,dispHLB=0;
  12. char ssid[] = "freewifi"; // SSID of your home WiFi
  13. char pass[] = "6666666666"; // password of your home WiFi
  14. const char* cloudserver = "api.thingspeak.com";
  15. String request,request1,mybigdata,myRTDvalues,myRFTDvalues,myHLBvalues,mytemp,myhumi,myfridgetemp,myfridgehumi,mylightvalue,mylightstatus;
  16.  
  17. WiFiServer server(80);
  18. IPAddress ip(184,106,153,149); // IP address of the server,
  19. IPAddress gateway(192,168,43,1); // gateway of your network,
  20. IPAddress subnet(255,255,255,0); // subnet mask of your network,WiFi
  21.  
  22. void setup() {
  23. Serial.begin(115200); // only for debug
  24. WiFi.config(ip, gateway, subnet); // forces to use the fix IP
  25. WiFi.begin(ssid, pass); // connects to the WiFi router
  26. while (WiFi.status() != WL_CONNECTED)
  27. {
  28. Serial.print(".");
  29. delay(500);
  30. }
  31. server.begin(); // starts the server
  32. Serial.println("Connected to wifi");
  33. Serial.print("Status: "); Serial.println(WiFi.status()); // some parameters from the network
  34. Serial.print("IP: "); Serial.println(WiFi.localIP());
  35. Serial.print("Subnet: "); Serial.println(WiFi.subnetMask());
  36. Serial.print("Gateway: "); Serial.println(WiFi.gatewayIP());
  37. Serial.print("SSID: "); Serial.println(WiFi.SSID());
  38. Serial.print("Signal: "); Serial.println(WiFi.RSSI());
  39. Serial.print("Networks: ");
  40. Serial.println(WiFi.scanNetworks());
  41. pinMode(ledPin, OUTPUT);
  42. delay(2000);
  43. }
  44.  
  45. void loop () {
  46. WiFiClient client = server.available();
  47.  
  48. if (client)
  49. {
  50. if (client.connected())
  51. {
  52. Serial.println("Client connected");
  53. digitalWrite(ledPin, LOW); // to show the communication only (inverted logic)
  54. Serial.println(".");
  55.  
  56. //***************************Temperature receive code added from here*******************************//
  57.  
  58. request = client.readStringUntil('r'); // receives the message from the client
  59. //Serial.println(request);
  60. mybigdata = request;
  61.  
  62. if(request.substring(1,2)=="T")
  63. {
  64. myRTDvalues = request;
  65. }
  66.  
  67. if(request.substring(1,2)=="F")
  68. {
  69. myRFTDvalues = request;
  70. }
  71.  
  72. if(request.substring(1,2)=="L")
  73. {
  74. myHLBvalues = request;
  75. }
  76.  
  77. Serial.print("Room Temperature = ");
  78. Serial.println(myRTDvalues);
  79. Serial.print("Refrigerator Temperature = ");
  80. Serial.println(myRFTDvalues);
  81. // Serial.print("Hoarding Board = ");
  82. // Serial.println(myHLBvalues);
  83. // Serial.println();
  84. //****************************DATA FROM RTD WILL BE PROCESSED HERE*********************************//
  85. if(mybigdata.substring(1,2)=="T")
  86. {
  87. dispRTD=1;
  88. mytemp=mybigdata.substring(3,8);
  89. //Serial.print("Temperature data from RTD: ");
  90. //Serial.println(mytemp);
  91.  
  92. myhumi=mybigdata.substring(8,13);
  93. //Serial.print("Humidity data from RTD: ");
  94. //Serial.println(myhumi);
  95.  
  96. client.flush();
  97. client.println("Hi RTD!I received your data.r");
  98. digitalWrite(ledPin, HIGH);
  99. }
  100.  
  101. //**************************************DATA FROM RFTD WILL BE PROCESSED HERE************************************************//
  102. if(mybigdata.substring(1,2)=="F")
  103. {
  104. dispRFTD=1;
  105. myfridgetemp=mybigdata.substring(4,9);
  106. //Serial.print("Temperature data from RFTD: ");
  107. //Serial.println(myfridgetemp);
  108.  
  109. myfridgehumi=mybigdata.substring(9,14);
  110. //Serial.print("Humidity data from RFTD: ");
  111. //Serial.println(myfridgehumi);
  112.  
  113. client.flush();
  114. client.println("Hi RFTD!I received your data.r");
  115. digitalWrite(ledPin, HIGH);
  116. }
  117.  
  118.  
  119. if(mybigdata.substring(1,2)=="L")
  120. {
  121. dispHLB=1;
  122. mylightvalue=mybigdata.substring(3,4);
  123. //Serial.print("Light status value from HLB: ");
  124. //Serial.println(mylightvalue);
  125.  
  126. if(mylightvalue == "0")
  127. {
  128. mylightstatus="OFF";
  129. }
  130.  
  131. if(mylightvalue == "1")
  132. {
  133. mylightstatus="ON";
  134. }
  135.  
  136. client.flush();
  137. client.println("Hi HLB!I received your data.r");
  138. digitalWrite(ledPin, HIGH);
  139. }
  140. }
  141. client.stop(); // tarminates the connection with the client
  142.  
  143. if(dispRTD)
  144. {
  145. //Serial.println("Master disconnected from RTD but RTD is still in connection");
  146. }
  147.  
  148. if(dispRFTD)
  149. {
  150. //Serial.println("Master disconnected from RFTD but RFTD is still in connection");
  151. }
  152.  
  153. if(dispHLB)
  154. {
  155. //Serial.println("Master disconnected from HLB but HLB is still in connection");
  156. }
  157.  
  158. lock=1;
  159. showonce=0;
  160. }
  161.  
  162.  
  163. else
  164. {
  165. if(showonce==1)
  166. {
  167. if(dispRTD)
  168. {Serial.println("n!!!!!RTD not connected!!!!!n");}
  169.  
  170.  
  171. if(dispRFTD)
  172. {Serial.println("n!!!!!RFTD not connected!!!!!n");}
  173.  
  174. if(dispHLB)
  175. {Serial.println("n!!!!!HLB not connected!!!!!n");}
  176.  
  177. showonce=0;
  178. }
  179. }
  180.  
  181.  
  182.  
  183. //***************************data to thingspeak******************************************//
  184. if(lock==1)
  185. {
  186. if (client.connect(cloudserver,80)) // "184.106.153.149" or api.thingspeak.com
  187. {
  188. if(dispRTD)
  189. {
  190. Serial.print("Room Temperature data from RTD: ");
  191. Serial.println(mytemp);
  192. Serial.print("Room Humidity data from RTD: ");
  193. Serial.println(myhumi);
  194.  
  195. String sendData = apiKey_RTD+"&field1="+String(mytemp)+"&field2="+String(myhumi)+"rnrn";
  196.  
  197. Serial.println(sendData);
  198.  
  199. client.print("POST /update HTTP/1.1n");
  200. client.print("Host: api.thingspeak.comn");
  201. client.print("Connection: closen");
  202. client.print("X-THINGSPEAKAPIKEY: "+apiKey_RTD+"n");
  203. client.print("Content-Type: application/x-www-form-urlencodedn");
  204. client.print("Content-Length: ");
  205. client.print(sendData.length());
  206. client.print("nn");
  207. client.print(sendData);
  208.  
  209. //Serial.println("Connecting to Thingspeak to send RTD data...");
  210. //dispRTD=0;
  211.  
  212. }
  213.  
  214.  
  215. if(dispRFTD)
  216. {
  217. Serial.print("Fridge Temperature data from RFTD: ");
  218. Serial.println(myfridgetemp);
  219. Serial.print("Fridge Humidity data from RFTD: ");
  220. Serial.println(myfridgehumi);
  221.  
  222.  
  223.  
  224. String sendData = apiKey_RFTD+"&field1="+String(myfridgetemp)+"&field2="+String(myfridgehumi)+"rnrn";
  225.  
  226. Serial.println(sendData);
  227.  
  228. client.print("POST /update HTTP/1.1n");
  229. client.print("Host: api.thingspeak.comn");
  230. client.print("Connection: closen");
  231. client.print("X-THINGSPEAKAPIKEY: "+apiKey_RFTD+"n");
  232. client.print("Content-Type: application/x-www-form-urlencodedn");
  233. client.print("Content-Length: ");
  234. client.print(sendData.length());
  235. client.print("nn");
  236. client.print(sendData);
  237.  
  238. //Serial.println("Connecting to Thingspeak to send RFTD data...");
  239. //dispRFTD=0;
  240.  
  241. }
  242.  
  243.  
  244. if(dispHLB)
  245. {
  246. Serial.print("Light Status: ");
  247. Serial.print(mylightstatus);
  248.  
  249. String sendData = apiKey_HLB+"&field1="+String(mylightvalue)+"&field2="+String(mylightstatus)+"rnrn";
  250.  
  251. Serial.println(sendData);
  252.  
  253. client.print("POST /update HTTP/1.1n");
  254. client.print("Host: api.thingspeak.comn");
  255. client.print("Connection: closen");
  256. client.print("X-THINGSPEAKAPIKEY: "+apiKey_HLB+"n");
  257. client.print("Content-Type: application/x-www-form-urlencodedn");
  258. client.print("Content-Length: ");
  259. client.print(sendData.length());
  260. client.print("nn");
  261. client.print(sendData);
  262.  
  263.  
  264.  
  265. //Serial.println("Connecting to Thingspeak to send HLB data...");
  266. //dispHLB=0;
  267.  
  268. }
  269. }
  270. // Serial.println("Sending to Cloud....");
  271. // delay(5000);
  272. lock=0;
  273. showonce=1;
  274. }
  275.  
  276.  
  277. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement