wowanko

Untitled

Nov 22nd, 2019
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.81 KB | None | 0 0
  1. #include <ESP8266WiFi.h>
  2.  
  3. // Имя и пароль вашей сети WiFi
  4. const char* ssid = "And";
  5. const char* password = "21091999";
  6. // Создаем сервер и порт для прослушки 80
  7. WiFiServer server(80);
  8. //Пин, к которому подключен пьезодинамик.
  9. int piezoPin = 12;
  10. //Пин, к которому подключен датчик движенияя.
  11. int inputPin = 4;
  12. //Пин, к которому подключено реле.
  13. int rele = 0;
  14.  
  15.  
  16. void setup() {
  17. Serial.begin(115200);
  18. delay(10);
  19.  
  20. // Подготовка GPIO
  21. pinMode(rele, OUTPUT);
  22. pinMode(piezoPin, OUTPUT);
  23. pinMode(inputPin, INPUT);
  24. // подключаемся к WiFi-сети:
  25. Serial.println();
  26. Serial.println();
  27. Serial.print("Connecting to "); // "Подключение к "
  28. Serial.println(ssid);
  29.  
  30. WiFi.begin(ssid, password);
  31.  
  32. while (WiFi.status() != WL_CONNECTED) {
  33. delay(500);
  34. Serial.print(".");
  35. }
  36. Serial.println("");
  37. Serial.println("WiFi connected"); // "Подключение к WiFi выполнено"
  38.  
  39. // запускаем сервер:
  40. server.begin();
  41. Serial.println("Server started"); // "Сервер запущен"
  42.  
  43. // печатаем IP-адрес:
  44. Serial.print("Use this URL to connect: "); // "Используем этот URL для подключения: "
  45. Serial.print("http://");
  46. Serial.print(WiFi.localIP());
  47. Serial.println("/");
  48. }
  49.  
  50. void loop() {
  51. //читаем данние с ДД, при сработке врубаем реле
  52. int val = 0;
  53. val = digitalRead(inputPin);
  54. if (val == HIGH) {
  55. analogWrite(piezoPin,500);
  56. delay(3000);
  57. analogWrite(piezoPin,0);
  58. delay(1000);
  59. } else {
  60. digitalWrite(piezoPin, LOW);
  61. }
  62.  
  63. // проверяем, подключен ли клиент:
  64. WiFiClient client = server.available();
  65. if (!client) {
  66. return;
  67. }
  68.  
  69. // ждем, когда клиент отправит какие-нибудь данные:
  70. Serial.println("new client"); // "новый клиент"
  71. while(!client.available()){
  72. delay(1);
  73. }
  74.  
  75. // считываем первую строчку запроса:
  76. String request = client.readStringUntil('\r');
  77. Serial.println(request);
  78. client.flush();
  79.  
  80. // обрабатываем запрос:
  81. int value = LOW;
  82. if (request.indexOf("/LED=ON") != -1) {
  83. digitalWrite(rele, HIGH);
  84. value = HIGH;
  85. }
  86. if (request.indexOf("/LED=OFF") != -1){
  87. digitalWrite(rele, LOW);
  88. value = LOW;
  89. }
  90.  
  91. // выставляем значение на ledPin в соответствии с запросом: digitalWrite(ledPin, value); возвращаем ответ:
  92. client.println("HTTP/1.1 200 OK");
  93. client.println("Content-Type: text/html"); // "Тип контента: text/html "
  94. client.println(""); // не забываем это...
  95. client.println("<!DOCTYPE HTML>");
  96. client.println("<html>");
  97.  
  98. client.print("Led pin is now: "); // "Контакт светодиода теперь в состоянии: "
  99.  
  100. if(value == HIGH) {
  101. client.print("On"); // "Вкл"
  102. } else {
  103. client.print("Off"); // "Выкл"
  104. }
  105. client.println("<br><br>");
  106. client.println("Click <a href=\"/LED=ON\">here</a> turn the LED on pin 0 ON<br>"); // "Кликните тут, чтобы включить светодиод на контакте 0"
  107. client.println("Click <a href=\"/LED=OFF\">here turn the LED on pin 0 OFF<br>"); // "Кликните тут, чтобы выключить светодиод на контакте 0"
  108.  
  109. client.println("</html>");
  110.  
  111. delay(1);
  112. Serial.println("Client disconnected"); // "Клиент отключен"
  113. Serial.println("");
  114. }
Add Comment
Please, Sign In to add comment