Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <ESP8266WiFi.h>
- // Имя и пароль вашей сети WiFi
- const char* ssid = "And";
- const char* password = "21091999";
- // Создаем сервер и порт для прослушки 80
- WiFiServer server(80);
- //Пин, к которому подключен пьезодинамик.
- int piezoPin = 12;
- //Пин, к которому подключен датчик движенияя.
- int inputPin = 4;
- //Пин, к которому подключено реле.
- int rele = 0;
- void setup() {
- Serial.begin(115200);
- delay(10);
- // Подготовка GPIO
- pinMode(rele, OUTPUT);
- pinMode(piezoPin, OUTPUT);
- pinMode(inputPin, INPUT);
- // подключаемся к WiFi-сети:
- Serial.println();
- Serial.println();
- Serial.print("Connecting to "); // "Подключение к "
- Serial.println(ssid);
- WiFi.begin(ssid, password);
- while (WiFi.status() != WL_CONNECTED) {
- delay(500);
- Serial.print(".");
- }
- Serial.println("");
- Serial.println("WiFi connected"); // "Подключение к WiFi выполнено"
- // запускаем сервер:
- server.begin();
- Serial.println("Server started"); // "Сервер запущен"
- // печатаем IP-адрес:
- Serial.print("Use this URL to connect: "); // "Используем этот URL для подключения: "
- Serial.print("http://");
- Serial.print(WiFi.localIP());
- Serial.println("/");
- }
- void loop() {
- //читаем данние с ДД, при сработке врубаем реле
- int val = 0;
- val = digitalRead(inputPin);
- if (val == HIGH) {
- analogWrite(piezoPin,500);
- delay(3000);
- analogWrite(piezoPin,0);
- delay(1000);
- } else {
- digitalWrite(piezoPin, LOW);
- }
- // проверяем, подключен ли клиент:
- WiFiClient client = server.available();
- if (!client) {
- return;
- }
- // ждем, когда клиент отправит какие-нибудь данные:
- Serial.println("new client"); // "новый клиент"
- while(!client.available()){
- delay(1);
- }
- // считываем первую строчку запроса:
- String request = client.readStringUntil('\r');
- Serial.println(request);
- client.flush();
- // обрабатываем запрос:
- int value = LOW;
- if (request.indexOf("/LED=ON") != -1) {
- digitalWrite(rele, HIGH);
- value = HIGH;
- }
- if (request.indexOf("/LED=OFF") != -1){
- digitalWrite(rele, LOW);
- value = LOW;
- }
- // выставляем значение на ledPin в соответствии с запросом: digitalWrite(ledPin, value); возвращаем ответ:
- client.println("HTTP/1.1 200 OK");
- client.println("Content-Type: text/html"); // "Тип контента: text/html "
- client.println(""); // не забываем это...
- client.println("<!DOCTYPE HTML>");
- client.println("<html>");
- client.print("Led pin is now: "); // "Контакт светодиода теперь в состоянии: "
- if(value == HIGH) {
- client.print("On"); // "Вкл"
- } else {
- client.print("Off"); // "Выкл"
- }
- client.println("<br><br>");
- client.println("Click <a href=\"/LED=ON\">here</a> turn the LED on pin 0 ON<br>"); // "Кликните тут, чтобы включить светодиод на контакте 0"
- client.println("Click <a href=\"/LED=OFF\">here turn the LED on pin 0 OFF<br>"); // "Кликните тут, чтобы выключить светодиод на контакте 0"
- client.println("</html>");
- delay(1);
- Serial.println("Client disconnected"); // "Клиент отключен"
- Serial.println("");
- }
Add Comment
Please, Sign In to add comment