ClientTest.ino 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184
  1. /*
  2. WiFiEsp test: ClientTest
  3. Test client functions.
  4. */
  5. #include "WiFiEsp.h"
  6. // Emulate Serial1 on pins 7/6 if not present
  7. #ifndef HAVE_HWSERIAL1
  8. #include "SoftwareSerial.h"
  9. SoftwareSerial Serial1(6, 7); // RX, TX
  10. #endif
  11. char ssid[] = "Twim"; // your network SSID (name)
  12. char pwd[] = "12345678"; // your network password
  13. // Initialize the Wifi client library
  14. WiFiEspClient client;
  15. void setup()
  16. {
  17. Serial.begin(115200);
  18. Serial1.begin(9600);
  19. WiFi.init(&Serial1);
  20. }
  21. void loop()
  22. {
  23. bool f;
  24. int c;
  25. assertEquals("Check status WL_DISCONNECTED", WiFi.status(), WL_DISCONNECTED);
  26. assertEquals("Connect", WiFi.begin(ssid, pwd), WL_CONNECTED);
  27. assertEquals("Check status WL_CONNECTED", WiFi.status(), WL_CONNECTED);
  28. IPAddress ip = WiFi.localIP();
  29. Serial.print("IP Address: ");
  30. Serial.println(ip);
  31. assertEquals("Ping", WiFi.ping("www.google.com"), true);
  32. assertEquals("Not connected", client.connected(), false);
  33. assertEquals("Connect to server", client.connect("www.brainjar.com", 80), 1);
  34. assertEquals("Connected", client.connected(), true);
  35. //--------------------------------------------------------------
  36. // HTTP request without 'Connection: close' command
  37. client.println("GET /java/host/test.html HTTP/1.1");
  38. client.println("Host: www.brainjar.com");
  39. client.println();
  40. // wait for the response
  41. long _startMillis = millis();
  42. while (!client.available() and (millis()-_startMillis < 2000))
  43. {
  44. }
  45. assertEquals("Response received", (millis()-_startMillis < 2000), true);
  46. f = client.find("<html>");
  47. assertEquals("Response check", f, true);
  48. if (f)
  49. {
  50. while( (c = client.read()) > 0)
  51. Serial.print((char)c);
  52. }
  53. assertEquals("Connected", client.connected(), true);
  54. //--------------------------------------------------------------
  55. delay(5000);
  56. assertEquals("Check status WL_CONNECTED", WiFi.status(), WL_CONNECTED);
  57. assertEquals("Connected", client.connected(), true);
  58. //--------------------------------------------------------------
  59. // HTTP request without 'Connection: close' command
  60. client.println("GET /java/host/test.html HTTP/1.1");
  61. client.println("Host: www.brainjar.com");
  62. client.println("Connection: close");
  63. client.println();
  64. // wait for the response
  65. _startMillis = millis();
  66. while (!client.available() and (millis()-_startMillis < 2000))
  67. {
  68. }
  69. assertEquals("Response received", (millis()-_startMillis < 2000), true);
  70. f = client.find("<html>");
  71. assertEquals("Response check", f, true);
  72. if (f)
  73. {
  74. while( (c = client.read()) > 0)
  75. Serial.print((char)c);
  76. }
  77. //--------------------------------------------------------------
  78. assertEquals("Check status WL_CONNECTED", WiFi.status(), WL_CONNECTED);
  79. assertEquals("Not connected", client.connected(), false);
  80. assertEquals("Ping", WiFi.ping("www.google.com"), true);
  81. assertEquals("Connect", WiFi.disconnect(), WL_DISCONNECTED);
  82. assertEquals("Check status WL_DISCONNECTED", WiFi.status(), WL_DISCONNECTED);
  83. Serial.println("END OF TESTS");
  84. delay(30000);
  85. }
  86. ////////////////////////////////////////////////////////////////////////////////////
  87. void assertEquals(const char* test, int actual, int expected)
  88. {
  89. if(actual==expected)
  90. pass(test);
  91. else
  92. fail(test, actual, expected);
  93. }
  94. void assertEquals(const char* test, char* actual, char* expected)
  95. {
  96. if(strcmp(actual, expected) == 0)
  97. pass(test);
  98. else
  99. fail(test, actual, expected);
  100. }
  101. void pass(const char* test)
  102. {
  103. Serial.print(F("********************************************** "));
  104. Serial.print(test);
  105. Serial.println(" > PASSED");
  106. Serial.println();
  107. }
  108. void fail(const char* test, char* actual, char* expected)
  109. {
  110. Serial.print(F("********************************************** "));
  111. Serial.print(test);
  112. Serial.print(" > FAILED");
  113. Serial.print(" (actual=\"");
  114. Serial.print(actual);
  115. Serial.print("\", expected=\"");
  116. Serial.print(expected);
  117. Serial.println("\")");
  118. Serial.println();
  119. delay(10000);
  120. }
  121. void fail(const char* test, int actual, int expected)
  122. {
  123. Serial.print(F("********************************************** "));
  124. Serial.print(test);
  125. Serial.print(" > FAILED");
  126. Serial.print(" (actual=");
  127. Serial.print(actual);
  128. Serial.print(", expected=");
  129. Serial.print(expected);
  130. Serial.println(")");
  131. Serial.println();
  132. delay(10000);
  133. }