Несколько пакетов данных с CIPSEND, связывают каждый с pathway
При использовании CIPSEND от Arduino Uno до ESP8266, подключенного к Uno, есть ли способ связать пакет данных, отправленный с путем, чтобы его можно было получить в указанном пути из браузера?
Например, ESP8266WebServer.h имеет такую команду:
server.on(“/specificArgs”, handleSpecificArg); //Свяжите функцию обработчика с путем
где первым аргументом является путь/имя файла - что эквивалентно этому с помощью использования CIPSEND?
@garrettlynchirl, 👍-1
Обсуждение1 ответ
Ваш "CIPSEND" уже связан с путем.
Последовательность, как правило, такова:
- Вы настраиваете ESP8266 в качестве сервера, включая включение нескольких подключений
- Вы переходите на IP-адрес
- Браузер отправляет HTTP-запрос, включающий путь. С ним связан номер "канала".
- Вы генерируете HTTP-ответ и отправляете его на канал, указанный в 3, используя
AT+CIPSEND
.
Тот факт, что вы отправляете ответ браузеру по каналу, по которому поступил запрос, "связывает" ответ с запросом.
Чтобы делать разные вещи в зависимости от пути, вы должны распознать этот путь в запросе и соответствующим образом сгенерировать другой ответ.
"Чтобы делать разные вещи в зависимости от пути, вы должны распознать этот путь в запросе и соответственно сгенерировать другой ответ". - Да, как? Если я хочу, чтобы первый пакет данных, отправленный на esp8266, был связан с " 192.168.4.1/", а второй-с "192.168.4.1/данные", как это сделать?, @garrettlynchirl
Когда вы получаете запрос на получение/, вы отправляете ответ на /. Когда вы получаете запрос на /данные, вы отправляете ответ на /данные., @Majenko
Хорошо, я думаю, что начинаю понимать, что вы имеете в виду - Если я правильно понимаю, я должен выполнить" esp8266.find ("/");" и " esp8266.find ("/данные") "в своем коде arduino, а затем" if ()", чтобы определить, какой путь был запрошен esp8266. Мне нужно это проверить, так как есть дополнительная сложность, о которой я не упоминал в своем вопросе. Пакет данных 1-это веб-страница с ajax, пакет данных 2-строка json. Json постоянно обновляется arduino, веб-страница ajax напрямую запрашивает ajax. Насколько я понимаю, это ничего не меняет, но нужно проверить..., @garrettlynchirl
- AT-команда не отвечает на последовательный монитор
- Отправка данных Arduino в MySQL с помощью phpMyAdmin и XAMPP на Windows10
- Arduino выводит значения мусора на serial monitor с ESP8266
- ошибка: espcomm_upload_mem failed при загрузке скетча
- фатальная ошибка ESP8266WiFi.h: Такого файла или каталога нет
- Как подключить Wi-Fi Shield ESP-12E-ESP8266-UART-WIFI-Wireless-Shield к Arduino
- Получить данные с сайта с помощью ESP8266 с помощью AT-команд
- Захват изображений с OV7670 (без FIFO) с использованием Arduino Uno?
Arduino отправляет CIPSEND на ESP8266, а не наоборот. Трудно понять, о чем вы спрашиваете., @Majenko
Я перефразировал вопрос. См.пример ESP8266WebServer. h здесь https://techtutorialsx.com/2016/10/22/esp8266-webserver-getting-query-parameters/ и вы увидите, что я имею в виду, связывая пакет данных с путем/именем файла., @garrettlynchirl
Итак, вы используете Arduino и ESP8266 в качестве веб-сервера? Браузер отправляет запрос с указанием пути, и ваш CIPSEND-это то, что вы отправляете в ответ на него. "Ассоциация" - это тот факт, что вы отвечаете на запрос., @Majenko
https://github.com/khoih-prog/ESP8266_AT_WebServer, @Juraj
@Juraj полезен в крайнем случае, но я бы предпочел, чтобы он работал с командами AT, а не переходил от этого к библиотеке., @garrettlynchirl