Advertisement
Guest User

Arduino SIm900 Thingspeak

a guest
Aug 8th, 2019
193
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.10 KB | None | 0 0
  1.  
  2. #include <SoftwareSerial.h>
  3. #include "DHT.h"
  4.  
  5. #define DHTPIN 2
  6. #define DHTTYPE DHT11
  7.  
  8. // Initialize DHT sensor for normal 16mhz Arduino
  9. DHT dht(DHTPIN, DHTTYPE);
  10.  
  11. // Create global varibales to store temperature and humidity
  12. float t; // temperature in celcius
  13. float f; // temperature in fahrenheit
  14. float h; // humidity
  15.  
  16. SoftwareSerial gsm(7, 8);
  17.  
  18. void setup() {
  19. // put your setup code here, to run once:
  20. dht.begin();
  21.  
  22. gsm.begin(9600);
  23. Serial.begin(9600);
  24.  
  25. gsm.println("AT+IPR=9600");
  26. delay(1000);
  27.  
  28. gsm.println("AT+CGATT=1");
  29. delay(1000);
  30.  
  31.  
  32.  
  33. gsm.println("AT+SAPBR=1,1");
  34. delay(1000);
  35.  
  36. ShowSerialData();
  37.  
  38. gsm.println("AT+SAPBR=3,1,\"CONTYPE\",\"GPRS\"");
  39. delay(1000);
  40.  
  41. ShowSerialData();
  42.  
  43. gsm.println("AT+SAPBR=3,1,\"APN\",\"prepaidnet\"");
  44. delay(1000);
  45.  
  46. ShowSerialData();
  47.  
  48. gsm.println("AT+SAPBR=3,1,\"USER\",\"mts\"");
  49. delay(1000);
  50.  
  51. ShowSerialData();
  52.  
  53. gsm.println("AT+SAPBR=3,1,\"PWD\",\"064\"");
  54. delay(1000);
  55.  
  56. ShowSerialData();
  57.  
  58. gsm.println("AT+SAPBR=1,1");
  59. delay(1000);
  60.  
  61. ShowSerialData();
  62.  
  63. gsm.println("AT+SAPBR=2,1");
  64. delay(1000);
  65.  
  66. ShowSerialData();
  67.  
  68.  
  69.  
  70. gsm.println("AT+HTTPTERM");
  71. delay(1000);
  72.  
  73. ShowSerialData();
  74.  
  75. gsm.println("AT+HTTPINIT");
  76. delay(2000);
  77.  
  78. ShowSerialData();
  79.  
  80. gsm.println("AT+HTTPPARA=\"CID\",1");
  81. delay(3000);
  82.  
  83. ShowSerialData();
  84.  
  85. }
  86.  
  87. void loop() {
  88. // put your main code here, to run repeatedly:
  89. while(gsm.available()) {
  90. Serial.write(gsm.read());
  91. }
  92. if(Serial.available()) {
  93. gsm.write(Serial.read());
  94. }
  95.  
  96. t=readTemp();
  97. h=readHum();
  98.  
  99. gsm.print("AT+HTTPPARA=\"URL\",\"https://api.thingspeak.com/update?api_key=Z1Q5633A4S1GHIHU&field1=26");
  100. //gsm.print(t);
  101. //gsm.println();
  102. delay(5000);
  103. //gsm.println((char)26);
  104.  
  105. ShowSerialData();
  106.  
  107. delay(1000);
  108. gsm.println("AT+HTTPPARA=\"REDIR\",1");
  109. delay(3000);
  110. gsm.println("AT+HTTPSSL=1");
  111. delay(3000);
  112. gsm.println("AT+HTTPACTION=0"); /* Start POST session */
  113. delay(5000);
  114. gsm.println("AT+HTTPREAD");
  115. delay(3000);
  116. gsm.println("AT+HTTPTERM"); /* Terminate HTTP service */
  117. delay(5000);
  118. gsm.println("AT+SAPBR=0,1");
  119. delay(3000);
  120. ShowSerialData();
  121.  
  122. }
  123.  
  124. float readTemp() {
  125. // Read temperature as Celsius
  126. t = dht.readTemperature();
  127. //Read humidity
  128. h = dht.readHumidity();
  129.  
  130. // Compute temperature values in Celcius
  131. t = dht.computeHeatIndex(t,h,false);
  132.  
  133. // Check if any reads failed and exit early (to try again).
  134. if (isnan(t)) {
  135. Serial.println("Failed to read temp from DHT sensor!");
  136. return 1;
  137. }
  138.  
  139. return t;
  140. }
  141.  
  142. float readHum() {
  143. //Read humidity
  144. h = dht.readHumidity();
  145. // Read temperature as Celsius
  146. t = dht.readTemperature();
  147.  
  148. // Compute temperature values in Celcius
  149. t = dht.computeHeatIndex(t,h,false);
  150.  
  151. // Check if any reads failed and exit early (to try again).
  152. if (isnan(h)) {
  153. Serial.println("Failed to read hum from DHT sensor!");
  154. return 1;
  155. }
  156.  
  157. return h;
  158. }
  159.  
  160. void ShowSerialData()
  161. {
  162. while(gsm.available()!=0)
  163. Serial.write(gsm.read());
  164. if(Serial.available()) {
  165. gsm.write(Serial.read());
  166. }
  167. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement