Форум самогонщиков Сайт Барахолка Магазин Помощь солдатам

WEB интерфейс к HelloDistiller на ESP8266

Форум самогонщиков Автоматика
1 ... 20 21 22 23 24 25 26 ... 41 23
serjrv Кандидат наук Камышин 393 219
Отв.440  25 Дек. 20, 11:53
С WiFi я долго экспериментировал. То ли у меня чипы не удачные, то ли чего. Но добиться стабильной работы я не смог.Phisik, 25 Дек. 20, 11:20
Стоп. А зачем ты 2 метода для WiFi используешь, и ручной реконнект, и даешь установку это автоматом делать: WiFi.setAutoReconnect(true) ?
Плюс ко всему задаешь WiFi.setAutoReconnect(true) ДО подключения к сетке.
Phisik Куратор Екатеринбург 651 1.4K
Отв.441  25 Дек. 20, 12:06, через 13 мин
А зачем ты 2 метода для WiFi используешь, и ручной реконнект,serjrv, 25 Дек. 20, 11:53
Потому что отваливается. По поводу WiFi.setAutoReconnect(true) надо посмотреть, но помниться мне, что это только внутренние флажки переключает, и я не припомню, чтобы последовательность была важна.
serjrv Кандидат наук Камышин 393 219
Отв.442  25 Дек. 20, 12:43, через 38 мин
Phisik, В автоматике LuckyBox я так реализовал:
Инициализация WiFi
void initWifi() {
   WiFi.disconnect(true);
   //WiFi.hostname("LuckyBox");
   IPAddress apIP(192, 168, 4, 1);
   WiFi.mode(WIFI_AP_STA);
   WiFi.softAPConfig(apIP, apIP, IPAddress(255, 255, 255, 0));
   WiFi.softAP(_ssidAPconnect.c_str(), _passwordAP.c_str());
   modeWiFi = 0;
   int n_network = WiFi.scanNetworks(); // запрос количества доступных сетей
   for (int i = 0; i < n_network; ++i) {

#if defined Debug_en
      Serial.print(i + 1);
      Serial.print(" -> ");
      Serial.print(WiFi.SSID(i));
      Serial.print(" (");
      Serial.print(WiFi.RSSI(i));
      Serial.println(")  ");
#endif

      if (WiFi.SSID(i) == _ssid.c_str()) modeWiFi = 1; // наша сеть присутствует
   }

   if (modeWiFi == 1) {
       // пробуем подключиться
      Serial.printf("Connecting to %s\n", _ssid.c_str());
      WiFi.disconnect(true);
      WiFi.mode(WIFI_AP_STA);
      WiFi.begin(_ssid.c_str(), _password.c_str());
      // ждем N кол-во попыток, если нет, то AP Mode
      byte tmp_while = 0;
      while (WiFi.status() != WL_CONNECTED) {
         delay(1000);
         Serial.print(".");
         if (tmp_while < 20) tmp_while++;
         else {
            modeWiFi = 0;
            break;
         }
#if defined TFT_Display
         if (tmp_while % 2 == 0) {
            // рисуем квадратики для индикации загрузки
            scaleCount += 20;
            if (scaleCount <= 282) tft.writeFillRect(scaleCount, 215, 15, 15, 0xFFFF);
         }
#endif
      }
      if (WiFi.status() == WL_CONNECTED) WiFi.setAutoReconnect(true);
      else {
         WiFi.disconnect(true);
         WiFi.mode(WIFI_AP);
         WiFi.softAPConfig(apIP, apIP, IPAddress(255, 255, 255, 0));
         WiFi.softAP(_ssidAPconnect.c_str(), _passwordAP.c_str());
      }
   }
   else {
      WiFi.disconnect(true);
      WiFi.mode(WIFI_AP);
      WiFi.softAPConfig(apIP, apIP, IPAddress(255, 255, 255, 0));
      WiFi.softAP(_ssidAPconnect.c_str(), _passwordAP.c_str());
   }
}
все работает.
Т.е. если при включении к домашней сетке прицепились, говорим что нам нужен AutoReconnect и все. Для проверки в момент работы просто гасим роутер и включаем по новой, проверяем через некоторое время что ESP`шка переприцепилась к WiFi сама. Только проверь что с твоей версией SDK все нормально, а то я на старой версии (2.4.2) это делал.

А для отправки данных во внешний мир, сначала проверяем условие WiFi.status() == WL_CONNECTED и если все Ok, передаем, если нет то просто пропускаем передачу.
mosjka1 Студент Koblenz 48 5
Отв.443  28 Дек. 20, 20:21
Для тех у кого BPM280 не определяется, т.к. имеет адрес 0x76, вместо 0x77. Ищем в Setup.cpp 416 строчку и пишем там
       lcd.setCursor(0, 0);
       my_lcdprint(lcd_buffer);  

       if (!bmp.begin(0x76)) {  
          //Serial.println("Could not find a valid BMP280 sensor, check wiring!");
          //Serial.println(bmp);Phisik, 17 Марта 20, 19:19

Добавил в строку "0x76"
Теперь и у меня пашет! Спс
сообщение удалено
Mim Кандидат наук Ульяновск 432 70
Отв.444  30 Дек. 20, 09:04
0x76", и "0x77",Сэмагонщик74, 30 Дек. 20, 08:56
время опроса 60 ставил?
сообщение удалено
Mim Кандидат наук Ульяновск 432 70
Отв.445  30 Дек. 20, 10:38
unit bmp failedСэмагонщик74, 30 Дек. 20, 10:31
подключен верно? У меня с 3й перезагрузки запустился с корректировкой скетча
сообщения удалены (2)
Mim Кандидат наук Ульяновск 432 70
Отв.446  30 Дек. 20, 14:04
линию 5вСэмагонщик74, 30 Дек. 20, 11:49
землю забыл
сообщение удалено
Mim Кандидат наук Ульяновск 432 70
Отв.447  30 Дек. 20, 14:25, через 21 мин
Точно тот датчик? [сообщение #13713182] вот тут и дальше посмотри. Там где-то и сканер был. За рулём не удобно
сообщение удалено
gol_avto Доцент Москва - Серпухов - Анапа 1.3K 458
Отв.448  30 Дек. 20, 16:56
Там где-то и сканер был.Mim, 30 Дек. 20, 14:25
Так и не разобрался, как сделать ссылку на конкретное сообщение. в ВВ кодах не нашел, поэтому скопировал всё.
Mim - спасибо за подсказку, как то так [сообщение #13521017]

Разобрался.
1) Сканером  I2C находим адрес датчика ( ссылка по теме https://voltiq.ru/how-to-find-a-device-i2c-address/)
2) редактируем библиотеку Adafruit_BMP280.h и меняем адрес #define BMP280_ADDRESS (0x77) на #define BMP280_ADDRESS (0x76)  -  в моем случае (ссылка по теме https://voltiq.ru/bme280-and-arduino/)
3)Заливаем скетч в автоматику с новой библиотекой
4) Подключаем датчик:
vcc - 3.3v
GND - GND
SCL - 21 pin Arduino (SCL)
SDA - 20 pin Arduino (SDA)
CSB - 3.3v  ( выбор работы по шине i2c)
(http://ardu.net/...-120768573.html)
5) В настройках автоматики (через меню) меняем Time AtmP на 60. - главное больше 25
6) перегружаем автоматику, увидим при загрузке инициализацию датчика.Init bmp280... ОК
7) на дисплее D5 спустя какое то время (около минуты) появится давление.

Profit!!!!Добрый_кот, 01 Мая 19, 09:10
Mim Кандидат наук Ульяновск 432 70
Отв.449  30 Дек. 20, 17:05, через 9 мин
Так и не разобралсяgol_avto, 30 Дек. 20, 16:56
на телефоне долгий Тап на дату сообщения,копировать ссылку. На компе правой кнопкой
сообщение удалено
Mim Кандидат наук Ульяновск 432 70
Отв.450  06 Янв. 21, 09:51
400 втСэмагонщик74, 06 Янв. 21, 09:09
напряжения в сети верно показывает?
сообщение удалено
Phisik Куратор Екатеринбург 651 1.4K
Отв.451  06 Янв. 21, 16:03
мощность примерно на 400 вт больше фактически потребляемой,Сэмагонщик74, 06 Янв. 21, 09:09
Попробуй этот параметр поменять 0-1-2.
char CorrectASC712 = 1;     // Признак того, как надо использовать датчик asc712 
                            // (0- не надо, 1 - только показывать мощность, 2-корректировать мощность через фактический ток, 3- ПИД регулирование через ток)
сообщения удалены (2)
nep4uk Студент Волжский 14
Отв.452  14 Янв. 21, 15:41
Привет трудягам. Залил скетч, прошил esp, подключился к точки доступа, сделал как клиент. esp цепанулась к домашней сети, в роутере посмотрел ip, захожу а он требует какой-то пароль и логин! как теперь на esp зайти?

Добавлено через 1мин.:

,

Добавлено через 21мин.:

роутере посмотрел ip, захожу а он требует какой-то пароль и логин! как теперь на esp зайти?nep4uk, 14 Янв. 21, 15:41

Все решил проблему. Я думал в настройка ESP задав пароль, это будет пароль от точки доступа! а оказалось от страницы.

Но назрел тогда другой вопрос, как задать пароль к точке доступа, что бы сосед например не подключился к ней!

Добавлено через 1ч. 25мин.:

Вопрос по работе, 1)почему в режиме ректификации даже с кнопок нельзя перейти на отбор тела (пункт 5), перескакивает с отбора голов(4) сразу на отбор хвостов(7)!
2)Как менять основные настройки с веб страницы(они не активны)? или нужно менять только в скетче и заново заливать?
пароль.png
пароль.png WEB интерфейс к HelloDistiller на ESP8266. Автоматика.
11.png
11.png WEB интерфейс к HelloDistiller на ESP8266. Автоматика.
Mim Кандидат наук Ульяновск 432 70
Отв.453  14 Янв. 21, 18:10
нельзяnep4uk, 14 Янв. 21, 15:41
смотри температуру, на переход к хвостам

Добавлено через 1мин.:

менятьnep4uk, 14 Янв. 21, 15:41
наверное нужен ключ
nep4uk Студент Волжский 14
Отв.454  14 Янв. 21, 18:41, через 32 мин
смотри температуру, на переход к хвостамMim, 14 Янв. 21, 18:10
Да я без реального нагрева, просто на столе. Например в скетче от Максима, переходило по пунктам без проблем, а тут почему-то перескакивает. Я к тому что бывает головы отобрал в один день, а тело в другой так сразу на тело переключиться надо
bengoor Доцент Кронштадт 1.8K 1.1K
Отв.455  14 Янв. 21, 19:00, через 19 мин
nep4uk, без нагрева логика не работает, в алгоритме заложены температуры
nep4uk Студент Волжский 14
Отв.456  14 Янв. 21, 19:04, через 5 мин
без нагрева логика не работает, в алгоритме заложены температурыbengoor, 14 Янв. 21, 19:00
а как же тестить? постоянно собирать и греть не вариант. Я все наладил на скетчи 3.61 от Максима(жаль приложение только для комерции), там другая логика?
bengoor Доцент Кронштадт 1.8K 1.1K
Отв.457  14 Янв. 21, 19:08, через 4 мин
nep4uk, берешь фен или паяльник и греешь датчик по очереди переходя от стадии к стадии. Если хочешь по другому - правь скетч
nep4uk Студент Волжский 14
Отв.458  14 Янв. 21, 19:27, через 20 мин
скетчbengoor, 14 Янв. 21, 19:08
Подключение клапанов на тех же пинах как и у Msg31? Нормально ли работает автоматика без датчиков давления? или их надо в скетче исключить? версию поставил -3 с одним датчиком переполнения
IvanAltay Доцент Бийск 1.6K 323
Отв.459  14 Янв. 21, 19:43, через 16 мин
Но назрел тогда другой вопрос, как задать пароль к точке доступа, что бы сосед например не подключился к ней!nep4uk, 14 Янв. 21, 15:41
Давно эту тему просматриваю, мало чего понимаю(мне легче своё сделать, чем понять код без хороших комментов).
Сеть же не локальная у девайса?

Добавлено через 3мин.:

Данная прошивка позволяет осуществлять удаленный мониторинг автоматики HelloDistiller. Для реализации устройства необходима ESP8266 с 4+ мегабайтами флеша на борту, иначе сайт не влезет.Phisik, 26 Дек. 19, 15:29
Перечитал первый пост. Сеть глобальная.