• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Вопрос Сохранить данные вебформы в txt log

Azel14

New member
Доброго времени суток. Только начинаю знакомиться с программированием и модулем ESP8266 NodeMcu v3, и хочу попробовать решить следующую задачку.

Модуль создает открытую WiFi сеть. При подключении к ней, пользователь попадает на форму анкетирования (стр.1), где указывает ФИО, Дату и Телефон. Данные, которые он указал сохраняются на внутреннюю память устройства, к примеру в txt файл. После клика по кнопке отправить, открывается страничка с благодарностью (стр.2).

Если я правильно понял, то для реализации подобного мне необходимо создать WEB интерфейс и встроить в него DNS сервер, или я не в ту степь полез уже ?

От сюда несколько вопросов:
1. Поделитесь пожалуйста наводками, где почитать про реализацию подобного
2. Сколько таких строк влезет во внутреннюю память. К примеру по шаблону:

Иванов Иван Иванович | 16/12 | +79031234567
Петров Василий Семенович | 16/12 | +79651234567
Смирнов Петр Геннадьевич | 18/12 | +79659876543

3. Как потом вытащить с платы этот лог файл с данным из формы.

Спасибо всем, кто откликнулся.
 

Сергей_Ф

Moderator
Команда форума
необходимо создать WEB интерфейс и встроить в него DNS сервер
в ту сторону. Вместо DNS лучше посмотреть в сторону CaptivePortal - тогда сразу по подключению к сети откроется нужная страница.

1. Поделитесь пожалуйста наводками, где почитать про реализацию подобного
Да всё есть в примерах Ардуино ИДЕ, вроде. Тут нет ничего сложного.

2. Сколько таких строк влезет во внутреннюю память.
Если будете писать во встроенную память, то столько сколько отведёте под SPIFF. В килобайтах, естественно.

Как потом вытащить с платы этот лог файл с данным из формы.
Смотрите пример FSBrowser для загрузки файлов из SPIFF через Веб-интерфейс.

Надеюсь, что вы понимаете, что хранить персональные данные без какой либо защиты - это не лучшая идея, и данная разработка вам нужна только для изучения программирования.
 

CodeNameHawk

Moderator
Команда форума
1. Поделитесь пожалуйста наводками, где почитать про реализацию подобного
2. Сколько таких строк влезет во внутреннюю память. К примеру по шаблону:
3. Как потом вытащить с платы этот лог файл с данным из формы.
1. Посмотрите пример в ArduinoIDE ESP8266WebServer.
2. Если писать в файловую систему, то не больше 3MBait.
3.Посмотрите пример в ArduinoIDE FSBrowser.
 

tretyakov_sa

Moderator
Команда форума
Получите данные с формы. Запишите в файл в режиме добавления.
 

Azel14

New member
Благодарю за наводку. Нагуглил и немного подредактировал код, чтобы был коннект без пароля:
Код:
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>

const char* ssid = "example";  // SSID сети

byte arduino_mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress ip(192,168,1,170);
IPAddress gateway(192,168,1,1);
IPAddress subnet(255,255,255,0);
ESP8266WebServer server(80);

void setup() {
  Serial.begin(9600);
  delay(100);

  Serial.println("Connecting to ");
  Serial.println(ssid);

  WiFi.softAP(ssid);   //сеть без пароля

  //check wi-fi is connected to wi-fi network
  while (WiFi.status() != WL_CONNECTED) {
  delay(1000);
  Serial.print(".");
  }
  Serial.println("");
  Serial.println("WiFi connected..!");
  Serial.print("Got IP: ");
  Serial.println(WiFi.localIP());

  server.begin();
  Serial.println("HTTP server started");
}
void loop() {
  server.handleClient();
}
Ткните пожалуйста носом, как сюда интегрировать CaptivePortal ? Пока бегло посмотрел, с первого взгляда так и не понял, куда и что вставлять в код (((
 

Сергей_Ф

Moderator
Команда форума
@Azel14 вы примеры CaptivePortal и CaptivePortalAdvanced посмотрели? Будет проще, если возмете за основу их и будете добавлять в свой код в один из них.
 

svs2007m

Active member
Может хранение структурированных данных в облачном сервисе тоже вариант :)
 
Сверху Снизу