Advertisement
Guest User

Untitled

a guest
Feb 22nd, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.40 KB | None | 0 0
  1. /*
  2. * NodeMCU/ESP8266 act as AP (Access Point) and simplest Web Server
  3. * Connect to AP "arduino-er", password = "password"
  4. * Open browser, visit 192.168.4.1
  5. */
  6. #include <ESP8266WiFi.h>
  7. #include <WiFiClient.h>
  8. #include <ESP8266WebServer.h>
  9.  
  10. const char *ssid = "arduino69";
  11. const char *password = "password";
  12. /*const int sRockPin = 1; // the number of the server-side rock pushbutton pin
  13. const int sPaperPin = 2; // the number of the server-side paper pushbutton pin
  14. const int sScissorsPin = 3; // the number of the server-side scissors pushbutton pin
  15. const int gamePin = 6; // the number of the 'check who is winner' pushbutton pin
  16. int rockState = 0; // variable for reading the rock pushbutton status
  17. int paperState = 0; // variable for reading the paper pushbutton status
  18. int scissorsState = 0; // variable for reading the scissors pushbutton status
  19. int serverAnswer; // variable for server-side player final answer(rock,paper or scissor)
  20. int clientAnswer; // variable for client-side player final answer(rock,paper or scissor)
  21. String winner = ""; //variable that stores who is winner(server, client or tie)
  22. */
  23.  
  24. ESP8266WebServer server(80);
  25.  
  26. char* htmlBody_help = "<h1>Help</h1><br/>\n"
  27. "Visit http://192.168.4.1/ to access web server.<br/>\n"
  28. "Visit http://192.168.4.1/help to access this page.<br/>\n";
  29.  
  30. void handleHelp(){
  31. //when client visits /rock, then client chose rock as answer
  32. server.send(200, "text/html", htmlBody_help);
  33. Serial.println("Help page");
  34. //clientAnswer = 0;
  35. }
  36.  
  37. void handleRock(){
  38. //when client visits /rock, then client chose rock as answer
  39. server.send(200, "text/html", htmlBody_help);
  40. Serial.println("Rock");
  41. //clientAnswer = 0;
  42. }
  43.  
  44. void handlePaper(){
  45. //client visits /paper
  46. server.send(200, "text/html", htmlBody_help);
  47. Serial.println("Paper");
  48. //clientAnswer = 1;
  49. }
  50. void handleScissors(){
  51. //client visits /scissors
  52. server.send(200, "text/html", htmlBody_help);
  53. Serial.println("Scissors");
  54. //clientAnswer = 2;
  55. }
  56. /*
  57. void checkState(){
  58. // checks what button was pressed and gives server-side player answer
  59. if (rockState == 1){
  60. serverAnswer = 0;
  61. } else if (paperState == 1){
  62. serverAnswer = 1;
  63. } else if (scissorsState == 1){
  64. serverAnswer = 2;
  65. }
  66. }
  67.  
  68. void decideWinner(a, b){
  69. //decides who is winner and stores it in variable
  70. if(a == b){
  71. winner = "tie";
  72. } else if (a==0 && b==2){
  73. //server chose rock and client chose scissors
  74. winner = "server";
  75. //server won
  76. } else if (a==0 && b==1){
  77. winner = "client";
  78. } else if (a==1 && b==2){
  79. winner = "client";
  80. } else if (a==1 && b==0){
  81. winner = "server";
  82. } else if (a==2 && b==1){
  83. winner = "server";
  84. } else if (a==2 && b==0){
  85. winner = "client";
  86. }
  87. }
  88.  
  89. void sayWinner(){
  90. // lights up the players led to see who won, if tie then light up both
  91. if (winner == "server"){
  92. Serial.println("server won");
  93. digitalWrite(5, HIGH);
  94. digitalWrite(4, LOW);
  95. } else if (winner == "client"){
  96. Serial.println("client won");
  97. digitalWrite(4, HIGH);
  98. digitalWrite(5, LOW);
  99. } else if (winner == "tie"){
  100. Serial.println("tie");
  101. digitalWrite(5, HIGH);
  102. digitalWrite(4, HIGH);
  103. } else {
  104. Serial.println("something wrong");
  105. digitalWrite(4, LOW);
  106. digitalWrite(5, LOW);
  107. }
  108. }
  109. */
  110. void setup() {
  111. delay(1000);
  112. Serial.begin(9600);
  113. Serial.println();
  114. /*pinMode(4, OUTPUT);
  115. pinMode(5, OUTPUT);
  116. pinMode(0, OUTPUT);
  117. pinMode(sRockPin, INPUT);
  118. pinMode(sPaperPin, INPUT);
  119. pinMode(sScissorsPin, INPUT);
  120. pinMode(gamePin, INPUT);
  121. */
  122. WiFi.softAP(ssid, password);
  123.  
  124. IPAddress apip = WiFi.softAPIP();
  125. Serial.print("visit: \n");
  126. Serial.println(apip);
  127. server.on("/help", handleHelp);
  128. server.on("/rock", handleRock);
  129. server.on("/paper", handlePaper);
  130. server.on("/scissors", handleScissors);
  131. server.begin();
  132. Serial.println("HTTP server beginned");
  133. }
  134.  
  135. void loop() {
  136. server.handleClient();
  137. /*rockState = digitalRead(sRockPin);
  138. paperState = digitalRead(sPaperPin);
  139. scissorsState = digitalRead(sScissorsPin);
  140. gameState = digitalRead(gamePin);
  141. checkState();
  142. if(gameState == 1){
  143. //pressed game button and see who win
  144. sayWinner();
  145. }
  146. */
  147. delay(10);
  148. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement