Advertisement
anhhoang2703

nhan nrf_gui eps_thingspeak

Dec 3rd, 2016
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.40 KB | None | 0 0
  1. #include <RF24Network.h>
  2. #include <RF24.h>
  3. #include <SPI.h>
  4. ///==============
  5. #include <stdlib.h>
  6. #include <SoftwareSerial.h>
  7. #define SSID "floor_3"
  8. #define PASS "diy_108_T3"
  9. #define IP "184.106.153.149" // thingspeak.com
  10. #define key "26NHXK4NUS1RW9C7"
  11. //----------------
  12. float t,t1,t2,t3,t4,t5,t6;
  13. float payloa_1; //temperature from onboard sensor
  14. float payloa_2; //temperature from onboard sensor
  15. float payloa_3; //temperature from onboard sensor
  16. float payloa_4; //temperature from onboard sensor
  17. float payloa_5; //temperature from onboard sensor
  18. float payloa_6; //temperature from onboard sensor
  19. float payloa_7; //temperature from onboard sensor
  20. RF24 radio(9,10);
  21. RF24Network network(radio);
  22. const uint16_t thisNode = 00;
  23. //=============
  24. String response;
  25. boolean debug = true;
  26. SoftwareSerial esp8266(6, 7); // RX, TX
  27. unsigned long time;
  28. // Structure of our payload coming from router and end devices
  29. struct Payload
  30. {
  31. float payloa_1; //temperature from onboard sensor
  32. float payloa_2; //temperature from onboard sensor
  33. float payloa_3; //temperature from onboard sensor
  34. float payloa_4; //temperature from onboard sensor
  35. float payloa_5; //temperature from onboard sensor
  36. float payloa_6; //temperature from onboard sensor
  37. float payloa_7; //temperature from onboard sensor
  38.  
  39. };
  40.  
  41. void setup(void)
  42. {
  43. Serial.begin(57600);
  44. esp8266.begin(115200);
  45. delay(500);
  46. if (debug == false){Serial.print("Debug switched off - no messages");};
  47. data_send("AT");
  48. response_read();
  49. wifi_connect();
  50. Serial.println("Coordinator is online.....");
  51. SPI.begin();
  52. radio.begin();
  53. network.begin(90, thisNode);
  54. }
  55.  
  56. void loop(void)
  57. {
  58. //check network communication regularly
  59. network.update();
  60.  
  61. RF24NetworkHeader header; //create header variable
  62. Payload payload; //create payload variable
  63. // Any data on the network ready to read
  64. while ( network.available() )
  65. {
  66. // If so, grab it and print it out
  67. network.read(header,&payload,sizeof(payload));
  68. Serial.print("The node this is from: ");
  69. Serial.println(header.from_node);
  70. Serial.print("1: ");
  71. t= payload.payloa_1;
  72. Serial.print("2: ");
  73. t1=payload.payloa_2;
  74. Serial.print("3: ");
  75. t2=payload.payloa_3;
  76. Serial.print("4: ");
  77. t3=payload.payloa_4;
  78. Serial.print("5: ");
  79. t4=payload.payloa_5;
  80. Serial.print("6: ");
  81. t5=payload.payloa_6;
  82. Serial.print("7: ");
  83. t6=payload.payloa_7;
  84. }
  85. if((unsigned long) (millis() - time ) > 10000)
  86. {
  87. read_and_send();
  88. time = millis();
  89. }
  90. }
  91. void read_and_send(){
  92. String cmd;
  93. String cmd2;
  94. if (debug==true){Serial.println("****************************************");};
  95. cmd = "AT+CIPSTART=\"TCP\",\"";
  96. cmd += IP;
  97. cmd += "\",80";
  98. delay(1000);
  99. data_send(cmd);
  100. delay(1000);
  101. response_read();
  102. cmd = "GET /update?key=";
  103. cmd += key;
  104. cmd += "&field1=";
  105. cmd += t;
  106. cmd += "&field2=";
  107. cmd += t1;
  108. cmd += "&field3=";
  109. cmd += t2;
  110. cmd += "&field4=";
  111. cmd += t3;
  112. cmd += "&field5=";
  113. cmd += t4;
  114. cmd += "&field6=";
  115. cmd += t5;
  116. cmd += "&field7=";
  117. cmd += t6;
  118. cmd2 = "AT+CIPSEND=";
  119. cmd2 += (cmd.length()+2);
  120. delay(1000);
  121. data_send(cmd2);
  122. delay(1000);
  123. response_read();
  124. delay(1000);
  125. data_send(cmd);
  126. delay(1000);
  127. response_read();
  128. }
  129.  
  130. /*****************************************************************
  131. * wifi_connect()
  132. *****************************************************************/
  133. boolean wifi_connect(){
  134. delay(1000);
  135. data_send("AT+CWMODE=1");
  136. delay(1000);
  137. response_read();
  138. String cmd="AT+CWJAP=\"";
  139. cmd+=SSID;
  140. cmd+="\",\"";
  141. cmd+=PASS;
  142. cmd+="\"";
  143. delay(1000);
  144. data_send(cmd);
  145. delay(7000);
  146. response_read();
  147. }
  148.  
  149. /*****************************************************************
  150. * data_send
  151. *****************************************************************/
  152. void data_send(String cmd){
  153. esp8266.println(cmd);
  154. response = "";
  155. response_read();
  156. }
  157. /*****************************************************************
  158. * response_read
  159. *****************************************************************/
  160. void response_read(){
  161. char chr;
  162. while(esp8266.available())
  163. { chr = esp8266.read();
  164. if (debug == true){Serial.write(chr);};
  165. response += chr;
  166. };
  167. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement