ESP8266 - веб-сервер, обмен данным

Dinosaur
Dinosaur аватар
Offline
Зарегистрирован: 01.01.2018

Добрый день, камрады. Прошу консультации. Рисую веб-морду для настроек esp, сами настройки хранятся в структуре в eeprom, веб станица лежит в файловой системе. После загрузки станицы (или во время загрузки) нужно чтобы значения полей структуры попали в соответствующие поля веб станицы, что нужно использовать: json, post, ещё что то?
При нажатии кнопки «сохранить», данные со страницы должны быть отправлены в esp, аналогичный вопрос.

Сорри за чайниковские вопросы, тема для меня новая, не хочется сразу начинать закручивать гвозди отверткой )))

 

 

Dinosaur
Dinosaur аватар
Offline
Зарегистрирован: 01.01.2018

Использую ESPAsyncWebServer если важно. 

rkit
Offline
Зарегистрирован: 23.11.2016

Пойдет и post и json и get и xml и тупо подстановка и что угодно. Всё зависит от задачи и навыков. Для начала придется всё-таки изучить технологии, с которыми работаешь.

Dinosaur
Dinosaur аватар
Offline
Зарегистрирован: 01.01.2018

Собственно суть вопроса - что ПРАВИЛЬНО применять для первой и второй задачи (то и буду штудировать)…

rkit
Offline
Зарегистрирован: 23.11.2016

Вот проштудируй, поймешь что можно и нужно и то и то. А что касается "ПРАВИЛЬНО" - правила устанавливаешь ты сам в своем проекте.

sadman41
Offline
Зарегистрирован: 19.10.2016

Если клиент самый тупой, без Javascript, то JSON нет смысла наворачивать.

А в абстрактном случае подбрось монетку. Что с тем намучаешься, что с этим.

Dinosaur
Dinosaur аватар
Offline
Зарегистрирован: 01.01.2018

Сосредоточие мудрости, блин. Перефразирую вопрос ещё раз - вот в например, в столярке есть рубанок, есть стамеска, есть наждачка. Всем этим можно при желании и упорстве сделать доску гладкой (это к фразе «твой проект - твои правила»), но все же есть выработанные жизнью области использования каждого инструмента. Сделал отправку данных формы через get, через день читаю что это неправильно и потенциально чревато проблемами. Собственно поэтому и прошу консультации как такие задачи решать ПРИНЯТО (я не прошу решения задачи, нужно направление куда копать)

rkit
Offline
Зарегистрирован: 23.11.2016

Программирование это не столярка. В программировании для любой задачи 10 инструментов и у каждого свои плюсы и минусы.

sadman41
Offline
Зарегистрирован: 19.10.2016

Дак чем правильно доску гладкой делать?

Dinosaur
Dinosaur аватар
Offline
Зарегистрирован: 01.01.2018

Плотником )))

AndreyD
AndreyD аватар
Offline
Зарегистрирован: 07.10.2018

Dinosaur пишет:

Плотником )))

Ну логично тогда же, что Ваша задача решается программистом.

inspiritus
Offline
Зарегистрирован: 17.12.2012

Ну, если страница хранится как неизменная цельная сущность (не динамически формируется во время выгрузки), то данные в неё можно после выгрузки с помощью AJAX закидывать, равно как и получать из нее без перезагрузки. А можно закидывать аяксом , а получать из формы с перезагрузкой страницы. Я такую штуку применяю в конфигураторе есп8266. Сначала она точка доступа с фиксированным ссидом. Подгружается страница на которой можно выбрать конфигурации прдназначения, айпишник, мак , привязку датчиков температуры к точкам измерения (по индексу 1ware). При этом измерения температуры закидываются в страницу аяксом, а вся выставленная конфигурацися возвращается запросом из формы.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Вот это точно решит проблему. А заодно сделает возможным динамическое изменение данных на странице - http://arduino.ru/forum/programmirovanie/microajax-dlya-arduino

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

ТС, не тупи. Используй для начала POST. Потом сам поймёшь - так оставить или «наворотить». По крайней мере POST самое простое и надежное. 

Dinosaur
Dinosaur аватар
Offline
Зарегистрирован: 01.01.2018

Ок, спасибо за ликбез, пошёл разбираться с  Ajax и post. 

inspiritus
Offline
Зарегистрирован: 17.12.2012