Advertisement
safwan092

Untitled

May 13th, 2023
30
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.42 KB | None | 0 0
  1. #include <WiFi.h>
  2. #include <HTTPClient.h>
  3.  
  4. #define RXD2 16
  5. #define TXD2 17
  6. #define red 4
  7. #define green 2
  8.  
  9. const char * ssid = "network";
  10. const char * password = "123456789";
  11. String GOOGLE_SCRIPT_ID = "AKfycby3IzdQMFy8UFlQ4n8gAgbjm-4MyGDwE1vxUk_2A_0Syyz8anTTGhFl11ivjLxVpuvRBQ";
  12. const int number_of_students = 3;
  13. String Student_Name[number_of_students] = {"MHD", "New", "MHD2"};
  14. String Student_ID[number_of_students] = {"1112", "2223", "3334"};
  15. int found_flag[number_of_students] = {0, 0, 0};
  16. char c;
  17. String dataIn;
  18. int8_t indexOfA;
  19. String data1;
  20.  
  21. //updated 04.12.2019
  22. const char * root_ca = \
  23. "-----BEGIN CERTIFICATE-----\n" \
  24. "MIIDujCCAqKgAwIBAgILBAAAAAABD4Ym5g0wDQYJKoZIhvcNAQEFBQAwTDEgMB4G\n" \
  25. "A1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjIxEzARBgNVBAoTCkdsb2JhbFNp\n" \
  26. "Z24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMDYxMjE1MDgwMDAwWhcNMjExMjE1\n" \
  27. "MDgwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMjETMBEG\n" \
  28. "A1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCASIwDQYJKoZI\n" \
  29. "hvcNAQEBBQADggEPADCCAQoCggEBAKbPJA6+Lm8omUVCxKs+IVSbC9N/hHD6ErPL\n" \
  30. "v4dfxn+G07IwXNb9rfF73OX4YJYJkhD10FPe+3t+c4isUoh7SqbKSaZeqKeMWhG8\n" \
  31. "eoLrvozps6yWJQeXSpkqBy+0Hne/ig+1AnwblrjFuTosvNYSuetZfeLQBoZfXklq\n" \
  32. "tTleiDTsvHgMCJiEbKjNS7SgfQx5TfC4LcshytVsW33hoCmEofnTlEnLJGKRILzd\n" \
  33. "C9XZzPnqJworc5HGnRusyMvo4KD0L5CLTfuwNhv2GXqF4G3yYROIXJ/gkwpRl4pa\n" \
  34. "zq+r1feqCapgvdzZX99yqWATXgAByUr6P6TqBwMhAo6CygPCm48CAwEAAaOBnDCB\n" \
  35. "mTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUm+IH\n" \
  36. "V2ccHsBqBt5ZtJot39wZhi4wNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL2NybC5n\n" \
  37. "bG9iYWxzaWduLm5ldC9yb290LXIyLmNybDAfBgNVHSMEGDAWgBSb4gdXZxwewGoG\n" \
  38. "3lm0mi3f3BmGLjANBgkqhkiG9w0BAQUFAAOCAQEAmYFThxxol4aR7OBKuEQLq4Gs\n" \
  39. "J0/WwbgcQ3izDJr86iw8bmEbTUsp9Z8FHSbBuOmDAGJFtqkIk7mpM0sYmsL4h4hO\n" \
  40. "291xNBrBVNpGP+DTKqttVCL1OmLNIG+6KYnX3ZHu01yiPqFbQfXf5WRDLenVOavS\n" \
  41. "ot+3i9DAgBkcRcAtjOj4LaR0VknFBbVPFd5uRHg5h6h+u/N5GJG79G+dwfCMNYxd\n" \
  42. "AfvDbbnvRG15RjF+Cv6pgsH/76tuIMRQyV+dTZsXjAzlAcmgQWpzU/qlULRuJQ/7\n" \
  43. "TBj0/VLZjmmx6BEP3ojY+x1J96relc8geMJgEtslQIxq/H5COEBkEveegeGTLg==\n" \
  44. "-----END CERTIFICATE-----\n";
  45.  
  46. WiFiClientSecure client;
  47.  
  48. void setup() {
  49. for (int j = 0; j < number_of_students; j++) {
  50. found_flag[j] = 0;
  51. }
  52. Serial.begin(115200);
  53. Serial2.begin(9600, SERIAL_8N1, RXD2, TXD2);
  54. pinMode(red, OUTPUT);
  55. pinMode(green, OUTPUT);
  56. digitalWrite(red, HIGH);
  57. digitalWrite(green, LOW);
  58. WiFi.mode(WIFI_STA);
  59. WiFi.begin(ssid, password);
  60.  
  61. Serial.println("Started");
  62. Serial.print("Connecting");
  63. while (WiFi.status() != WL_CONNECTED) {
  64. delay(500);
  65. Serial.print(".");
  66. }
  67.  
  68. Serial.println("Ready to go");
  69. }
  70.  
  71. void loop() {
  72. while (Serial2.available() > 0) {
  73. c = Serial2.read();
  74. if (c == '\n') {
  75. break;
  76. }
  77. else {
  78. dataIn += c;
  79. }
  80. }
  81. if (c == '\n') {
  82. parseData();
  83. ShowRxData();
  84. SendDataToGoogleSheets();
  85. resetData();
  86. }
  87. }
  88.  
  89. void parseData() {
  90. indexOfA = dataIn.indexOf("A");
  91. data1 = dataIn.substring(0, indexOfA);
  92. }
  93.  
  94. void ShowRxData() {
  95. Serial.println("Received ID: " + data1);
  96. }
  97.  
  98. void SendDataToGoogleSheets() {
  99. for (int i = 0; i < number_of_students; i++) {
  100. if (data1 == Student_ID[i] && found_flag[i] == 0) {
  101. sendData("tag=" + Student_ID[i] + "&value=" + Student_Name[i]);
  102. Serial.print("Student [" + Student_ID[i] + "] Found !");
  103. found_flag[i] = 1;
  104. digitalWrite(red, LOW);
  105. digitalWrite(green, HIGH);
  106. }
  107. else {
  108. digitalWrite(red, HIGH);
  109. digitalWrite(green, LOW);
  110. }
  111. }
  112. }
  113.  
  114. void sendData(String params) {
  115. HTTPClient http;
  116. String url = "https://script.google.com/macros/s/" + GOOGLE_SCRIPT_ID + "/exec?" + params;
  117. //Serial.print(url);
  118. Serial.print("Making a request");
  119. http.begin(url, root_ca); //Specify the URL and certificate
  120. int httpCode = http.GET();
  121. http.end();
  122. //Serial.println(": done " + httpCode);
  123. }
  124.  
  125. void resetData() {
  126. c = 0;
  127. dataIn = "";
  128. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement