Arduino Mega Server для esp8266

Модератор: Alex

eGorka
Сообщения: 182
Зарегистрирован: Чт ноя 24, 2016 10:47 am
Благодарил (а): 1 раз
Поблагодарили: 25 раз

Re: Arduino Mega Server для esp8266

Сообщение eGorka » Вт дек 27, 2016 9:28 pm

ledmax писал(а):Не могу разобраться - каким образом записывать данные в лог файл на сервере? Можно через пхп скрипт на сервере, но как писать непосредственно с контроллера?

Код: Выделить всё

File test = SPIFFS.open("/sys.log", "w");
test.println("bla-bla");
test.close(); 

Код: Выделить всё

File test = SPIFFS.open("/sys.log", "r");
Serial.println(test.readStringUntil('\n'));
test.close();
Как-то так, если сервер АМС.
Если удалённый, то отправлять GET или POST запросы.
СпойлерПоказать

Код: Выделить всё

void send_POST() {

  int httpPort = 80;
  char* host_server = "10.0.0.1";
  if (!client.connect(host_server, httpPort)) {
    Serial.println(" No connected server");
    return;
  }
  Serial.println("");
  Serial.println(" Server connected");
  Serial.println("");
  String data;
    data += "ps0=";
    data += String(ESP.getFreeHeap());
    data += "&ps1=";
    data += String(ESP.getVcc() + 512);
    data += "&ps2=";
    data += String(uptime());
    data += "&pp0=";
    data += String(temp1/100.0,2);
    data += "&pg=";
    data += String(post);
  client.println("POST /client/req.php HTTP/1.0");
  client.println("User-Agent: ESP8266");
  client.println("Connection: close");
  client.println("Content-Type: application/x-www-form-urlencoded");
  client.print("Content-Length: ");
  client.println(data.length());
  client.println();
  client.print(data);
  delay(500);
  if (client.available()) {
    req = client.readStringUntil('\r');
  }
  if(req.startsWith("HTTP/1.1 200")) {
    Serial.println(" OTBET \"OK\"");
  }else {
    Serial.println(" OTBET \"ERROR\"");
    post += 1;
  }
  client.stop();
  client.flush();
}
ledmax
Сообщения: 88
Зарегистрирован: Сб окт 24, 2015 9:56 pm
Благодарил (а): 11 раз
Поблагодарили: 7 раз

Re: Arduino Mega Server для esp8266

Сообщение ledmax » Вт дек 27, 2016 10:25 pm

eGorka писал(а):
ledmax писал(а):Не могу разобраться - каким образом записывать данные в лог файл на сервере? Можно через пхп скрипт на сервере, но как писать непосредственно с контроллера?

Код: Выделить всё

File test = SPIFFS.open("/sys.log", "w");
test.println("bla-bla");
test.close();

Код: Выделить всё

File test = SPIFFS.open("/sys.log", "r");
Serial.println(test.readStringUntil('\n'));
test.close(); 
Как-то так, если сервер АМС.
Если удалённый, то отправлять GET или POST запросы.
СпойлерПоказать

Код: Выделить всё

void send_POST() {

  int httpPort = 80;
  char* host_server = "10.0.0.1";
  if (!client.connect(host_server, httpPort)) {
    Serial.println(" No connected server");
    return;
  }
  Serial.println("");
  Serial.println(" Server connected");
  Serial.println("");
  String data;
    data += "ps0=";
    data += String(ESP.getFreeHeap());
    data += "&ps1=";
    data += String(ESP.getVcc() + 512);
    data += "&ps2=";
    data += String(uptime());
    data += "&pp0=";
    data += String(temp1/100.0,2);
    data += "&pg=";
    data += String(post);
  client.println("POST /client/req.php HTTP/1.0");
  client.println("User-Agent: ESP8266");
  client.println("Connection: close");
  client.println("Content-Type: application/x-www-form-urlencoded");
  client.print("Content-Length: ");
  client.println(data.length());
  client.println();
  client.print(data);
  delay(500);
  if (client.available()) {
    req = client.readStringUntil('\r');
  }
  if(req.startsWith("HTTP/1.1 200")) {
    Serial.println(" OTBET \"OK\"");
  }else {
    Serial.println(" OTBET \"ERROR\"");
    post += 1;
  }
  client.stop();
  client.flush();
}
 
Большое спасибо!

Нашёл подробное описание

https://github.com/esp8266/Arduino/blob ... esystem.md

*** Сообщение запрещено. Сообщение похоже на спам. ***
serghei
Сообщения: 2562
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 298 раз
Поблагодарили: 281 раз

Re: Arduino Mega Server для esp8266

Сообщение serghei » Ср дек 28, 2016 12:56 pm

Alex писал(а):...Тут дело вот в чём: клиент MQTT или MySensors прикручиваются к АМС на раз-два, есть ролик, ссылка была на форуме, где это сделано и продемонстрировано. То есть тут особых проблем нет..
Чего то этого я не нашел...Первая же попытка запуска "в лоб" на ЕСП приводит к ошибке отсутствия библиотеки ,хотя она там есть. Версия 1.6.5 - MySensor 2.0 - все как на сайте https://www.mysensors.org/build/esp8266_gateway.
СпойлерПоказать
GateWay.png
GateWay.png (87.03 КБ) 7905 просмотров
Рано или поздно я скомпилирую может под другим IDE, но боюсь будут проблемы с АМС (((. Все остальные изыскания в соответствующей ветке.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Arduino Mega Server для esp8266

Сообщение Alex » Ср дек 28, 2016 5:27 pm

Чего то этого я не нашел...
Ролик был посвящён то ли настройке, то ли работе с MajorDoMo. Автор так разошёлся, что в конце ролика по инерции :) прикрутил клиент MQTT к АМС-у. К сожалению ни автора, ни название ролика не запомнил.
Mochalov_da
Сообщения: 27
Зарегистрирован: Вт май 20, 2014 5:24 pm
Откуда: Ярославль
Благодарил (а): 7 раз
Поблагодарили: 7 раз
Контактная информация:

Re: Arduino Mega Server для esp8266

Сообщение Mochalov_da » Вс янв 08, 2017 12:03 pm

Народ, привет!
Заказал я очередную партию ESP, решил прошить под АМС по проверенной схеме и столкнулся с тем, что не заливается файловая система. Все проверил несколько раз все дело именно в ESP-12-F. На ESP-12-E все заливается без проблем. Вышел из положения встроенным ftp сервером но это не очень удобно...
Кто сталкивался с такой проблемой, как решали?
Изображение

Отправлено с моего HUAWEI TIT-AL00 через Tapatalk
Cubieboard A10(Cubian/MajorDoMo)+nRF24L01+ds18b20, ESP8266(AMS)+RGB+ds18b20, Attiny13a+nRF24L01
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Arduino Mega Server для esp8266

Сообщение Alex » Вс янв 08, 2017 12:28 pm

Заказал я очередную партию ESP, решил прошить под АМС по проверенной схеме и столкнулся с тем, что не заливается файловая система. Все проверил несколько раз все дело именно в ESP-12-F. На ESP-12-E все заливается без проблем.
Странно, у меня всё отлично работает на F.
Вышел из положения встроенным ftp сервером но это не очень удобно...
Ещё более странно потому, что встроенный FTP у меня практически не работает. :) Можно передать 1 — 2 файла, да и то с трудом.
Mochalov_da
Сообщения: 27
Зарегистрирован: Вт май 20, 2014 5:24 pm
Откуда: Ярославль
Благодарил (а): 7 раз
Поблагодарили: 7 раз
Контактная информация:

Re: Arduino Mega Server для esp8266

Сообщение Mochalov_da » Вс янв 08, 2017 12:33 pm

Alex писал(а):
Заказал я очередную партию ESP, решил прошить под АМС по проверенной схеме и столкнулся с тем, что не заливается файловая система. Все проверил несколько раз все дело именно в ESP-12-F. На ESP-12-E все заливается без проблем.
Странно, у меня всё отлично работает на F.
Вышел из положения встроенным ftp сервером но это не очень удобно...
Ещё более странно потому, что встроенный FTP у меня практически не работает. :) Можно передать 1 — 2 файла, да и то с трудом.
Именно так и есть! Я закидываю файлы необходимые для запуска просмотрщика файлов и остальное заливают через него.Изображение
Может партия ESP-12-F такая попалась... Пробовал на трёх, результат одинаковый.

Отправлено с моего HUAWEI TIT-AL00 через Tapatalk
Cubieboard A10(Cubian/MajorDoMo)+nRF24L01+ds18b20, ESP8266(AMS)+RGB+ds18b20, Attiny13a+nRF24L01
serghei
Сообщения: 2562
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 298 раз
Поблагодарили: 281 раз

Re: Arduino Mega Server для esp8266

Сообщение serghei » Вс янв 08, 2017 2:07 pm

Может быть там тупо не 4 мегабайта памяти? Что в сериале при старте показывается? А усеченная версия для 1 мб заливается?
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
Mochalov_da
Сообщения: 27
Зарегистрирован: Вт май 20, 2014 5:24 pm
Откуда: Ярославль
Благодарил (а): 7 раз
Поблагодарили: 7 раз
Контактная информация:

Re: Arduino Mega Server для esp8266

Сообщение Mochalov_da » Вс янв 08, 2017 2:49 pm

serghei писал(а):Может быть там тупо не 4 мегабайта памяти? Что в сериале при старте показывается? А усеченная версия для 1 мб заливается?
Там точно 4М памяти! Говорю же по ftp все заливается и потом работает без нареканий.

Отправлено с моего HUAWEI TIT-AL00 через Tapatalk
Cubieboard A10(Cubian/MajorDoMo)+nRF24L01+ds18b20, ESP8266(AMS)+RGB+ds18b20, Attiny13a+nRF24L01
serghei
Сообщения: 2562
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 298 раз
Поблагодарили: 281 раз

Re: Arduino Mega Server для esp8266

Сообщение serghei » Чт янв 19, 2017 11:25 pm

Пришла очередная партия WeMos_D1_mini. Решил проверить работу с SD картой. С 8 Гигабайт и АМС_014 для Дуи был прикол - карта виделась как 3.7 гига, а после форматирования в NTFS и обратно Fat32 вообще пропала ))) . Комп видит её нормально до сих пор. Как видно с 16 гектарами проблем нет.
СпойлерПоказать
WeMos_D1_SD.png
WeMos_D1_SD.png (23.35 КБ) 7588 просмотров
По поводу сенсоров. Как видно ошибок нет , значит проблема не в библиотеке, а в кривых руках (хотя код вроде не менял, только добавил DHT).
СпойлерПоказать
Serial_SD.png
Serial_SD.png (56.77 КБ) 7588 просмотров
На фирменной плате разъем USB сильно помят, но плата целая и работает. Такое ощущение,что запаяли мятым. Фотика нет, но за 7 баксов......((((

Хотя вру - есть непонятки. Уходит запрос параметра , например расход воды 21 . приходит ответ 22 с числом . И подтверждение ANSWER: 21 DONE . А когда ANSWER: 0 DONE , вот тогда идет 3 запроса и ERROR соответственно.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
Ответить