Включить выключить светодиод через строку браузера.
- Войдите на сайт для отправки комментариев
Сб, 17/09/2022 - 00:17
Здравствуйте. Нужна помощь в работе с esp8266. Есть стандартный код для светодиода, то есть включить выключить через строку браузера. Такой вопрос: как дописать, что бы при написании 180.250.140.190/1/1 светодиод начинал мигать, когда 180.250.140.190/1/0 просто выключался?
#include <ESP8266WiFi.h> const char* ssid = "///"; const char* password = "///"; WiFiServer server(80); void setup() { Serial.begin(115200); delay(10); pinMode(5, OUTPUT); digitalWrite(5, 1); 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"); server.begin(); Serial.println("Server started"); Serial.println(WiFi.localIP()); } void loop() { WiFiClient client = server.available(); if (!client) { return; } Serial.println("new client"); while (!client.available()) { delay(1); } String req = client.readStringUntil('\r'); Serial.println(req); client.flush(); if (req.indexOf("/1/0") != -1) digitalWrite(5, 0); else if (req.indexOf("/1/1") != -1) digitalWrite(5, 1); else if (req.indexOf("/5") != -1) { Serial.println("TEST OK"); String s = "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n<!DOCTYPE HTML>\r\n<html>\r\nTest OK. Uptime: "; int Sec = (millis() / 1000UL) % 60; int Min = ((millis() / 1000UL) / 60UL) % 60; int Hours = ((millis() / 1000UL) / 3600UL) % 24; int Day = ((millis() / 1000UL) / 3600UL / 24UL); s += Day; s += "d "; s += Hours; s += ":"; s += Min; s += ":"; s += Sec; s += "</html>\n"; client.print(s); client.stop(); return; } else { Serial.println("invalid request"); String s = "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n<!DOCTYPE HTML>\r\n<html>\r\nInvalid request"; s += "</html>\n"; client.print(s); client.stop(); return; } client.flush(); String s = "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n<!DOCTYPE HTML>\r\n<html>\r\nGPIO set OK"; s += "</html>\n"; client.print(s); delay(1); Serial.println("Client disonnected"); }
Здравствуйте. Нужна помощь
припоминая ваши предыдушие темы - вам только в платный раздел
А что у вас означают цифры 180.250.140.190 ?
Индонезийский IP ...
Такой вопрос: как дописать, что бы при написании 180.250.140.190/1/1 светодиод начинал мигать, когда 180.250.140.190/1/0 просто выключался?
Такой вопрос: а как Вы пробовали?
180.250.140.190 это строка просто рандомный набор чисел. Я имел ввиду когда мы пишем в строке браузера IP адрес ну и на конце 1/1 или 1/0
Разве это не форум, на котором люди помогают другим разобраться в программирование? Да, я пишу, стараюсь разобраться, спасибо тем кто мне помогает. А от Вас всегда негатив в мою сторону, я уже привык...
Разве это не форум, на котором люди помогают другим разобраться в программирование?
Цели форума описаны здесь: https://arduino.ru/forum/pesochnitsa-razdel-dlya-novichkov/pesochnitsa-novichok-prochti
И, вообще-то, за полтора года пребывания на форуме не прочесть этот текст - неуважение к тем, от кого Вы хотите получить помощь.
180.250.140.190 это строка просто рандомный набор чисел. Я имел ввиду когда мы пишем в строке браузера IP адрес ну и на конце 1/1 или 1/0
тогда должны отработать два файла в папке 1 от корня сайта или 0.html и 1.html
html-то причём тут?
Разве это не форум, на котором люди помогают другим разобраться в программирование?
Где тут про вопрос программирование?
Я вижу только одно: сделайте мне и расскажите, что сделали.
Вот человек пытается разобраться:
https://arduino.ru/forum/programmirovanie/razrabotka-biblioteki
RE когда мы пишем в строке браузера IP адрес ну и на конце 1/1 или 1/0
RE когда мы пишем в строке браузера IP адрес ну и на конце 1/1 или 1/0
html тут где упомянут?
А от Вас всегда негатив в мою сторону, я уже привык...
Т.е. мой вопрос
Такой вопрос: а как Вы пробовали?
негатив?
А что в нём негативного? Почему Ваш вопрос не негатив, а мой - негатив? Поясните, пожалуйста, чтобы мне знать.
поставь вместо обычного мигающий диод.
Разве это не форум, на котором люди помогают другим разобраться в программирование? Да, я пишу, стараюсь разобраться, спасибо тем кто мне помогает.
хорошо, помогаю.
То что вы хотите, очень легко делается через "машину состояний" (если не знаете что это - велком в гугль).
Вам нужно создать машину с двумя состояниями -
а) диод мигает
б) диод выключен
Теперь по получению запроса на 1/1 - включаете состояние а, по получению 1/0 - б
В помошь - Arduino State Machine Tutorial
попробуй, должно сработать.
попробуй, должно сработать.
олежек...
уж лучше бы не лез, если не понимаешь
этот код будет работать только если непрерывно посылать браузеру строчку "1/1"
этот код будет работать только если непрерывно посылать браузеру строчку "1/1"
ахаха
Каким именно ГОСТ'ом или иным стандартом он стандартизован?
Это любительский говнокод, который изредка "необъяснимо" глючит, но не часто и не "повторябельно" - глюки иногда "появляются из ниоткуда" и "исчезают в никуда". А автор, который эти глюки иногда видит, свято уверен в том, что код у него замечательный, а глюки нет-нет да и появляются потому, что ардуина китайская.
Могу показать пример "китайскости ардуины" в этом коде. Вам интересно? Если интересно, скажите и, ответьте на вопрос из #13 - покажу. Если же не интересно, то не вижу смысла лишний раз пальцы об клавиши бить.
ТС, ты где? Тут вторая часть марлезонского балета началась. Опоздаешь на премьеру.
в второй части:
1. Теперь уже весь код будет признан говном
2. Пути решения надвигающейся катастрофы посредством платного раздела.
Ну, Вы, olegue, видимо, знаете в чём глюкавость кода, а кому-то, не такому продвинутому как Вы, разбор ошибки может оказаться полезным.
Спасибо, учту ошибки. Про машину состояний понял, буду разбираться
как-то работать оно конечно будет...)))
Ну, Вы, olegue, видимо, знаете в чём глюкавость кода, а кому-то, не такому продвинутому как Вы, разбор ошибки может оказаться полезным.
многим!
многим!
Акромя ТС. Ему это нахрен не нужно, как я понял. Это для него "негатив".
многим!
Акромя ТС. Ему это нахрен не нужно, как я понял. Это для него "негатив".
а я бы послушал...тем более что уже вижу что глючит, диод не выключает к примеру
ua6em,
да, отличная работа
то что в этом месте
return останавливает loop я лишь потом заметил. Просто не мог такое предположить.
ua6em,
да, отличная работа
то что в этом месте
return останавливает loop я лишь потом заметил. Просто не мог такое предположить.
Что, правда?
А которая именно из семи строк останавливает?
А которая именно из семи строк останавливает?
Восьмая ))))))))
Ардуиновский юмор? Ржу немогу!
ua6em,
да, отличная работа
Блинк на миллис, это самое первое, что отправляют изучать новичков )))
А которая именно из семи строк останавливает?
Восьмая ))))))))
Бум, тебя не напрягает, что сервер, вместо того, чтобы вернуть код ошибки 404 кинулся исполнять кривые запросы?
так а где останавливает то? отвечай
так а где останавливает то? отвечай
Так это и был ардуиновский юмор. Он сейчас ржёт и не может отвечать.
так а где останавливает то? отвечай
так ты создай тему в платнике, там тебе и ответят.
так а где останавливает то? отвечай
так ты создай тему в платнике, там тебе и ответят.
А здесь слабо?
А здесь слабо?
эй, моряк, ты слишком долго плавал! Тема уже решена, ТС еще вчера попрощался.
И чо? Сливаешься?
А здесь слабо?
эй, моряк, ты слишком долго плавал! Тема уже решена, ТС еще вчера попрощался.
олежек, ну вот что ты отсвечиваешь? Ж)
На Радиокоте ты ведь честно признался что много раз пытался писать коды, но потом бросал... а через полгода уже и вспомнить ничего не можешь...
Не расстраивайся, не всем дано
Чего ты тут строишь из себя? :)
а то не видишь - сказать-то ему нечего, а признаться стыдно...
На Радиокоте ты ведь честно признался что много раз пытался писать коды
сказать-то ему нечего, а признаться стыдно...
так это разные люди ?
так это разные люди ?
ты тут и olegue на Радиокоте? - а я вот уверен, что одинаковые
Ты меня так обожаешь, что уже гуглишь мои посты! А мой ты золотой!
Ты меня так обожаешь, что уже гуглишь мои посты! А мой ты золотой!
ничего личного. Я всегда проверяю другие посты человека поиском, если его сообщения меня заинтересовали - либо глубиной, либо тупостью :)
Дополнительная инфа часто помогает в общении.
либо тупостью :)
да,твои вопросы наводят на мысль что ты иногда не догоняешь даже примитивы.
да,твои вопросы наводят на мысль что ты иногда не догоняешь даже примитивы.
все мы немножко лошади, как сказал поэт...
Ты бы помог, обьяснил, как там космические корабли бороздят... то бишь как return останавливает loop
теперь уже нет, продолжай гуглить меня, перечитывай, думай и вероятно ты поймешь, что я имел под словом "останавливает"
Встретимся в другой теме. И я уверен там обязательно снова будет срач.
покеда!
пора сносить
Таки слился ))
Бум, тебя не напрягает, что сервер, вместо того, чтобы вернуть код ошибки 404 кинулся исполнять кривые запросы?
А чего это оно меня напрягать должно?