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

Постоянная загрузка данных.

pvvx

Активный участник сообщества
Плиз уточните.
Мне не нужны сотни замеров в секунду, мне нужна автоматическая передача замера в комп чаще 1 раза в секунду.
Ваш пример про это?
Да. И все ранее приведенные. Именно это и делают, без глюков в TCP, если это ESP или без других хулиганств от ардуино-зависимых.
 

pvvx

Активный участник сообщества
Как я понял тут ищут самый сложный путь, но разбираться в программировании не хотят. Хотят чтобы с форума по запросу бесплатно прислали готовое изделие и с пивом :)
 
Иными словами, чем длиннее (по времени) loop, тем больше должен быть аргумент delay в её конце.
Хм. я вообще delay в loop не использую. ну вы помните. и все работает.
Вот пример лога времени обратных посылок со страницы в ESP (то есть esp послала данные в сокет, страница ответила обратно пустой посылкой)
лог снят в мониторе порта arduino. Данные успели сходить туда обратно примерно 60 раз за секунду.

12:57:21.037 ->
12:57:21.037 ->
12:57:21.037 ->
12:57:21.084 ->
12:57:21.084 ->
12:57:21.132 ->
12:57:21.132 ->
12:57:21.132 ->
12:57:21.179 ->
12:57:21.179 ->
12:57:21.179 ->
12:57:21.226 ->
12:57:21.226 ->
12:57:21.226 ->
12:57:21.274 ->
12:57:21.274 ->
12:57:21.274 ->
12:57:21.309 ->
12:57:21.309 ->
12:57:21.355 ->
12:57:21.355 ->
12:57:21.355 ->
12:57:21.402 ->
12:57:21.402 ->
12:57:21.402 ->
12:57:21.448 ->
12:57:21.448 ->
12:57:21.448 ->
12:57:21.494 ->
12:57:21.494 ->
12:57:21.541 ->
12:57:21.541 ->
12:57:21.541 ->
12:57:21.588 ->
12:57:21.588 ->
12:57:21.588 ->
12:57:21.634 ->
12:57:21.634 ->
12:57:21.634 ->
12:57:21.681 ->
12:57:21.681 ->
12:57:21.681 ->
12:57:21.728 ->
12:57:21.728 ->
12:57:21.728 ->
12:57:21.775 ->
12:57:21.775 ->
12:57:21.821 ->
12:57:21.821 ->
12:57:21.821 ->
12:57:21.868 ->
12:57:21.868 ->
12:57:21.868 ->
12:57:21.916 ->
12:57:21.916 ->
12:57:21.916 ->
12:57:21.962 ->
12:57:21.962 ->
12:57:21.962 ->
12:57:22.010 ->
12:57:22.010 ->
12:57:22.010 ->
12:57:22.057 ->
12:57:22.057 ->
12:57:22.104 ->
12:57:22.104 ->
12:57:22.104 ->
12:57:22.150 ->
12:57:22.150 ->
12:57:22.150 ->
12:57:22.196 ->
12:57:22.196 ->
12:57:22.196 ->
12:57:22.244 ->
12:57:22.244 ->
12:57:22.244 ->
12:57:22.291 ->
12:57:22.291 ->
12:57:22.338 ->
12:57:22.338 ->
12:57:22.338 ->
12:57:22.385 ->
12:57:22.385 ->
12:57:22.385 ->
12:57:22.432 ->
12:57:22.432 ->
12:57:22.432 ->
12:57:22.480 ->
12:57:22.480 ->
12:57:22.480 ->
12:57:22.526 ->
12:57:22.526 ->
12:57:22.526 ->
12:57:22.573 ->
12:57:22.573 ->
12:57:22.573 ->
12:57:22.620 ->
12:57:22.620 ->
12:57:22.667 ->
12:57:22.667 ->
12:57:22.667 ->
12:57:22.713 ->
12:57:22.713 ->
12:57:22.713 ->
12:57:22.760 ->
12:57:22.760 ->
12:57:22.760 ->
12:57:22.807 ->
12:57:22.807 ->
12:57:22.807 ->
12:57:22.854 ->
12:57:22.854 ->
12:57:22.854 ->
12:57:22.901 ->
12:57:22.901 ->
12:57:22.901 ->
12:57:22.949 ->
12:57:22.949 ->
12:57:22.949 ->
12:57:22.997 ->
12:57:22.997 ->
12:57:22.997 ->
12:57:23.044 ->
12:57:23.044 ->
12:57:23.091 ->
12:57:23.091 ->
12:57:23.091 ->
12:57:23.138 ->
12:57:23.138 ->
12:57:23.138 ->
12:57:23.184 ->
12:57:23.184 ->
12:57:23.184 ->
12:57:23.232 ->
12:57:23.232 ->
12:57:23.232 ->
12:57:23.279 ->
12:57:23.279 ->
12:57:23.325 ->
12:57:23.325 ->
12:57:23.325 ->
12:57:23.372 ->
12:57:23.372 ->
12:57:23.372 ->
12:57:23.420 ->
12:57:23.420 ->
12:57:23.420 ->
12:57:23.467 ->
12:57:23.467 ->
12:57:23.467 ->
12:57:23.514 ->
12:57:23.514 ->
12:57:23.514 ->
12:57:23.560 ->
12:57:23.560 ->
12:57:23.606 ->
12:57:23.606 ->
12:57:23.606 ->
12:57:23.654 ->
12:57:23.654 ->
12:57:23.654 ->
12:57:23.701 ->
12:57:23.701 ->
12:57:23.701 ->
12:57:23.747 ->
12:57:23.747 ->
12:57:23.747 ->
12:57:23.793 ->
12:57:23.793 ->
12:57:23.793 ->
12:57:23.842 ->
12:57:23.842 ->
12:57:23.842 ->
12:57:23.888 ->
12:57:23.888 ->
12:57:23.935 ->
12:57:23.935 ->
12:57:23.935 ->
12:57:23.982 ->
12:57:23.982 ->
12:57:23.982 ->
12:57:24.028 ->
12:57:24.028 ->
12:57:24.028 ->
12:57:24.075 ->
12:57:24.075 ->
12:57:24.075 ->
12:57:24.122 ->
12:57:24.122 ->
12:57:24.122 ->
12:57:24.168 ->
12:57:24.168 ->
12:57:24.215 ->
12:57:24.215 ->
12:57:24.215 ->
12:57:24.262 ->
12:57:24.262 ->
12:57:24.262 ->
12:57:24.309 ->
12:57:24.309 ->
12:57:24.309 ->
12:57:24.356 ->
12:57:24.356 ->
12:57:24.356 ->
12:57:24.403 ->
12:57:24.403 ->
12:57:24.403 ->
12:57:24.450 ->
12:57:24.450 ->
12:57:24.450 ->
12:57:24.497 ->
12:57:24.497 ->
12:57:24.544 ->
12:57:24.544 ->
12:57:24.544 ->
12:57:24.590 ->
12:57:24.590 ->
12:57:24.590 ->
12:57:24.637 ->
12:57:24.637 ->
12:57:24.637 ->
12:57:24.684 ->
12:57:24.684 ->
12:57:24.684 ->
12:57:24.730 ->
12:57:24.730 ->
12:57:24.730 ->
12:57:24.776 ->
12:57:24.776 ->
12:57:24.824 ->
12:57:24.824 ->
12:57:24.824 ->
12:57:24.872 ->
12:57:24.872 ->
12:57:24.872 ->
12:57:24.918 ->
12:57:24.918 ->
12:57:24.918 ->
12:57:24.965 ->
12:57:24.965 ->
12:57:24.965 ->
12:57:25.012 ->
12:57:25.012 ->
12:57:25.012 ->
12:57:25.059 ->
12:57:25.059 ->
12:57:25.059 ->
12:57:25.105 ->
12:57:25.105 ->
12:57:25.152 ->
12:57:25.152 ->
12:57:25.152 ->
12:57:25.198 ->
12:57:25.198 ->
12:57:25.198 ->
12:57:25.245 ->
12:57:25.245 ->
12:57:25.245 ->
12:57:25.302 ->
12:57:25.302 ->
12:57:25.302 ->
 
Такое случается, но рано или поздно Вы на этот delay напоретесь.
не напорюсь. Мне он тут не нужен. ведь я понимаю зачем он там в теории. Но даже с ним и с моргающей лампочкой, и с Serial.println() данные успеют сбегать за секунду раз 20 в обе стороны как минимум, если реализовывать все верно.
 

ART_HA

Member
не напорюсь. Мне он тут не нужен. ведь я понимаю зачем он там в теории. Но даже с ним и с моргающей лампочкой, и с Serial.println() данные успеют сбегать за секунду раз 20 в обе стороны как минимум, если реализовывать все верно.
ОК, поставьте в loop четыре преобразования АЦП и запустите его без delay, а потом расскажете, увидели ли Вы свой ESPв WiFi.
 

ART_HA

Member
Как я понял тут ищут самый сложный путь, но разбираться в программировании не хотят. Хотят чтобы с форума по запросу бесплатно прислали готовое изделие и с пивом :)
Понятно. Названия альтернативы ESP8266 Вы не знаете, примера, альтернативного примерам Сергея Третьякова и Rui Santos у Вас тоже нет. :p
Зато мусорить в чужих темах Вы горазды... :confused:
 

ART_HA

Member
это как? там же всего один аналоговый канал вроде? Я туда аналоговый датчик холла уже пихал, вроде никаких проблем не было.
А что, аналоговый коммутатор нынче слишком дорог?
Но Вы можете все четыре раза прочитать один и тот же порт, это роли не играет, тут проблема со временем.

да и вместо delay(10) пишите delay(0) или yield();
delay(10) - не описка, просто с неё надо начинать, постепенно уменьшая.
Вот прямо сейчас у меня стоит delay(5), этот аргумент получен в результате подбора аргумента после четырех читок аналогового порта с последующим усреднением результата. То есть ни о каких delay(0) или yield() в таком loop и речи быть не может.
 
А что, аналоговый коммутатор нынче слишком дорог?
нет конечно, но он не АЦП, это просто ключ(типа релюха электронная). он практически мгновенно переключается и не требует затрат ресурсов.
Но Вы можете все четыре раза прочитать один и тот же порт
C:
#define hall A0
void setup() {
  Serial.begin(115200);
  delay(10);
  pinMode (hall, INPUT);
}
void loop() {
  int start = millis();
  for(int i=1;i<100;i++)
  {
     int x = analogRead(hall);
     // Serial.println(x);
  }
  int end=millis();
  Serial.println(end-start);
}
100 чтений аналогового порта заняло 10 мс. по логу

delay(10) - не описка, просто с неё надо начинать, постепенно уменьшая.
Не надо ничего постепенно уменьшать, это шаманство какое то. посмотрите для начала результат в мониторе порта.
 

ART_HA

Member
Не надо ничего постепенно уменьшать, это шаманство какое то. посмотрите для начала результат в мониторе порта.
Это не шаманство, а метод тыка. :)
Проинструктируйте плиз поконкретнее - что и как посмотреть.
Приблуда у меня на столе, нет проблем проверить на практике.
 
Дык в стандартном мониторе куда пишет Serial.Println();
Tools-Serial Monitor
Попробуйте для начала собрать только свой код без всяких веб серверов и страниц.
 

ART_HA

Member
Сломался монитор, даже собственный IP не может вывести. Хотя сама система работает - вывод на экран функционирует нормально.
Снимок.JPG
 
сделайте пустой скетч, перенесите в setup и loop только свой код.
Первая строчка в setup
Serial.begin(115200);
 

ART_HA

Member
Запустился.
1 - в начале loop
2 - в конце loop перед delay(5)
3 - в конце loop после delay(5)
Снимок.JPG
 
как видите все ваши измерения пролетают практически мгновенно. если ничего не путаю аналоговый порт читается за 10 микросекунд,
 

ART_HA

Member
как видите все ваши измерения пролетают практически мгновенно.
А я разве где-то утверждал иначе?
Речь ведь не мгновенности операций, а об отбирании этими мгновенными операциями времени у не менее мгновенных операций обслуживания WiFi.
 
не это другая на rtl8720, а мне надо такую как тут https://github.com/pvvx/UBIA но в форме как та что вы привели :)
попозже выложу вам свой упрощенный проект, я его делал когда глюки отлавливал, там всего по минимуму. счас работы привалило...
 
Сверху Снизу