Naesstrom

Arduino_temp_v2

Feb 9th, 2016
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.93 KB | None | 0 0
  1. #include <ThingSpeak.h>
  2. #include<stdlib.h>
  3. #include <SoftwareSerial.h>
  4. #include <OneWire.h>
  5. #include <DallasTemperature.h>
  6. #define ONE_WIRE_BUS 2
  7. OneWire oneWire(ONE_WIRE_BUS);
  8. DallasTemperature sensors(&oneWire);
  9. #define SSID "PROELEV"
  10. #define PASS "sokrates"
  11. #define IP "184.106.153.149" // thingspeak.com
  12. String GET = "GET /update?key=EJDYWD3337D5K3ZY&field1=";
  13. SoftwareSerial monitor(10, 11); // RX, TX
  14.  
  15. void setup()
  16. {
  17. monitor.begin(9600);
  18. Serial.begin(9600);
  19. sensors.begin();
  20. sendDebug("AT");
  21. delay(5000);
  22. if(Serial.find("OK")){
  23. monitor.println("RECEIVED: OK");
  24. connectWiFi();
  25. }
  26. }
  27.  
  28. void loop(){
  29. sensors.requestTemperatures();
  30. float tempC = sensors.getTempCByIndex(0);
  31. tempC = DallasTemperature::toFahrenheit(tempC);
  32. char buffer[10];
  33. String tempF = dtostrf(tempC, 4, 1, buffer);
  34. updateTemp(tempF);
  35. delay(60000);
  36. }
  37.  
  38. void updateTemp(String tenmpF){
  39. String cmd = "AT+CIPSTART=\"TCP\",\"";
  40. cmd += IP;
  41. cmd += "\",80";
  42. sendDebug(cmd);
  43. delay(2000);
  44. if(Serial.find("Error")){
  45. monitor.print("RECEIVED: Error");
  46. return;
  47. }
  48. cmd = GET;
  49. cmd += tenmpF;
  50. cmd += "\r\n";
  51. Serial.print("AT+CIPSEND=");
  52. Serial.println(cmd.length());
  53. if(Serial.find(">")){
  54. monitor.print(">");
  55. monitor.print(cmd);
  56. Serial.print(cmd);
  57. }else{
  58. sendDebug("AT+CIPCLOSE");
  59. }
  60. if(Serial.find("OK")){
  61. monitor.println("RECEIVED: OK");
  62. }else{
  63. monitor.println("RECEIVED: Error");
  64. }
  65. }
  66. void sendDebug(String cmd){
  67. monitor.print("SEND: ");
  68. monitor.println(cmd);
  69. Serial.println(cmd);
  70. }
  71.  
  72. boolean connectWiFi(){
  73. Serial.println("AT+CWMODE=1");
  74. delay(2000);
  75. String cmd="AT+CWJAP=\"";
  76. cmd+=SSID;
  77. cmd+="\",\"";
  78. cmd+=PASS;
  79. cmd+="\"";
  80. sendDebug(cmd);
  81. delay(5000);
  82. if(Serial.find("OK")){
  83. monitor.println("RECEIVED: OK");
  84. return true;
  85. }else{
  86. monitor.println("RECEIVED: Error");
  87. return false;
  88. }
  89. }
Advertisement
Add Comment
Please, Sign In to add comment