SHARE
TWEET

Untitled

wowanko Nov 22nd, 2019 84 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top