Arduino Mega Server для ESP32

Модератор: Alex

alexsis_76
Сообщения: 791
Зарегистрирован: Пт янв 22, 2016 10:08 am
Благодарил (а): 6 раз
Поблагодарили: 63 раза

Re: Arduino Mega Server для ESP32

Сообщение alexsis_76 » Чт июн 21, 2018 3:47 pm

можно редактировать и создавать страницы прямо в браузере
это больше похоже на какое то насилие,есть же хорошие редакторы кода и есть FTP.
Лично мне чертовски нравиться извращаться с визуализацией
не я наизвращался.
нужно хватать jpeg кадры,паковать в UDP и пинать в сеть,15 fps хватит.
я так думаю что место для кнопочек должно остаться,насчет датчиков - не уверен.
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: Arduino Mega Server для ESP32

Сообщение serghei » Чт июн 21, 2018 4:21 pm

Насилием было вытаскивание карты из платы , заливка файла, не понравилось - возвращайся в редактор , заливай файл по новой и так 20 - 100 раз. А тут никуда ничего заливать не надо. Изменил содержание , посмотрел на результат. Супер !
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
eGorka
Сообщения: 182
Зарегистрирован: Чт ноя 24, 2016 10:47 am
Благодарил (а): 5 раз
Поблагодарили: 25 раз

Re: Arduino Mega Server для ESP32

Сообщение eGorka » Чт июн 21, 2018 5:36 pm

alexsis_76 писал(а):
Чт июн 21, 2018 3:47 pm
это больше похоже на какое то насилие,есть же хорошие редакторы кода и есть FTP.
Делитесь библиотекой FTP для 32-ой :D
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Arduino Mega Server для ESP32

Сообщение Alex » Чт июн 21, 2018 6:10 pm

Делитесь библиотекой FTP для 32-ой :D
Во-во, а заодно и для ESP8266. И для Меги тоже не помешает, только реально работающей (библиотек много, но мне ещё ни одну не удалось заставить нормально работать).
alexsis_76
Сообщения: 791
Зарегистрирован: Пт янв 22, 2016 10:08 am
Благодарил (а): 6 раз
Поблагодарили: 63 раза

Re: Arduino Mega Server для ESP32

Сообщение alexsis_76 » Чт июн 21, 2018 10:47 pm

Делитесь библиотекой FTP для 32-ой
делится пока нечем,кристалл только выехал из Китая.
esp8266FTPServer-master.zip
(20.35 КБ) 129 скачиваний
вот эта вроде работает,пробовал в файлзилла,нет работы с каталогами(собственно неважно) иногда вываливается,но автореконнект решает проблему(может отваливается из за того что запускается отдельной задачей),добавление,удаление,просмотр файлов,если зацепился то держит мертвой хваткой,файлы не теряет.
Для меги нет,да и меги тоже нет.
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: Arduino Mega Server для ESP32

Сообщение serghei » Чт июн 21, 2018 10:50 pm

Продолжение банкета. Пока " правильно " работал реконнект. Добавил еще Далласы и PowerMonitor ( физически датчиков пока нет ).
СпойлерПоказать
AMS32_Task.jpg
AMS32_Task.jpg (196.41 КБ) 3797 просмотров
При измерении тока раз в пол секунды (!!!) и 4 температур раз в секунду нагрузки на сервер вообще НЕТ !!! До этого ток мерил раз в 20 секунд . Нагрузка здорово чувствовалась.
Так что идея правильная и надо это двигать дальше. На очереди запуск сервера. Цифры в даш-панели не правильные , так как в Ажаксе еще не прописал.

PS. Не так всё просто оказалось. Нужен файл конфигурации платы ( куда что подключено ). А у всех пользователей они разные. Править библиотеку вряд ли кто будет. А с другой стороны - хочешь прикрутить реле на произвольный пин , пиши это в библиотеке.
Если 4 реле , зуммер и RGB , то начало файла
СпойлерПоказать

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

/*
 * pcb.cpp
 *  
 */

#include "Arduino.h"
#include "pcb.h"

//#define U32v17
#define U32maxi.xx

#ifdef U32maxi.xx
  #include <Wire.h>
  #include <PCF8574.h>  // Do not forget to comment define to disable interrupt support (36 //#define PCF8574_INTERRUPT_SUPPORT)
                        // 63 void begin(uint8_t address);   // Remove  = 0x21 or set 0x38 for "A"
#endif

#ifdef U32v17

  const int K1          = 32;  //  IO32  
  const int K2          = 25;  //  IO25
  const int K3          = 26;  //  IO26
  const int K4          = 04;  //  IO04
  const int SG          = 27;  //  IO27
  const int LED_R       = 33;  //  IO33
  const int LED_G       = 17;  //  IO17
  const int LED_B       = 02;  //  IO02
  const int FIRE        = 16;  //  IO16
	
#endif
Зато элементарно цепляется расширитель выходов.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
eGorka
Сообщения: 182
Зарегистрирован: Чт ноя 24, 2016 10:47 am
Благодарил (а): 5 раз
Поблагодарили: 25 раз

Re: Arduino Mega Server для ESP32

Сообщение eGorka » Сб июн 23, 2018 12:36 pm

serghei писал(а):
Чт июн 21, 2018 10:50 pm
... Добавил еще Далласы ...
кодом(задачей) от olmoro ?
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: Arduino Mega Server для ESP32

Сообщение serghei » Сб июн 23, 2018 1:20 pm

Да , от него. Градусники определились , только не показывают ((. Я думаю , проблема в библиотеках. У меня уже куча перепиленных версий. Надо попробовать на оригинальной.
Еще заметил - плата перегружается раз в 2-3 часа. Надо еще код сервера в задачу поставить.
И к стати , там же можно задать на каком ядре работать.Задать жёстко ядро для выполнения задачи конкретным ядром можно, добавив в объявление задачи

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

xTaskCreatePinnedToCore номер ядра - 0 или 1
Вроде работает , только еще в дебаг вывести надо. Но это уже вечером.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
eGorka
Сообщения: 182
Зарегистрирован: Чт ноя 24, 2016 10:47 am
Благодарил (а): 5 раз
Поблагодарили: 25 раз

Re: Arduino Mega Server для ESP32

Сообщение eGorka » Сб июн 23, 2018 1:34 pm

serghei писал(а):
Сб июн 23, 2018 1:20 pm
Да , от него.
А ничего в коде для Далласов не смущает? А если прицепить 60 датчиков?
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: Arduino Mega Server для ESP32

Сообщение serghei » Сб июн 23, 2018 2:26 pm

Смущает , что не работает :evil: . Гавкнулся шлейф до счетчиков и 4-х градусников. Но один определился (( подключил отдельно ). Если начать разбираться
СпойлерПоказать

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

/*
 * temp.cpp
 * Ol.Moro 2018.02.08
*/

#include "Arduino.h"
#include "DS2482.h"           // I2C to 1-Wire bridge used with ESP WIFI
#include "DS18B20_DS2482.h"
#include "Wire.h"             // I²C
#include "temp.h"

portMUX_TYPE timerMux = portMUX_INITIALIZER_UNLOCKED;

float current_temp0 = 0.0;
float current_temp1 = 0.0;
float current_temp2 = 0.0;
float current_temp3 = 0.0;

DS2482 DS2482(0);
DS18B20_DS2482 sensors(&DS2482); 

// Sensors ID's
const byte id0[] = {0x28, 0x22, 0xb3, 0x3b, 0x04, 0x00, 0x00, 0x85};  // sens0 as tempSTR
const byte id1[] = {0x28, 0xfa, 0x77, 0x3b, 0x04, 0x00, 0x00, 0xdd};  // sens1 as tempHOM
const byte id2[] = {0x28, 0xf6, 0xac, 0x3b, 0x04, 0x00, 0x00, 0x8e};  // sens2 as tempWRM
const byte id3[] = {0x28, 0x01, 0x0f, 0x36, 0x04, 0x00, 0x00, 0x99};  // sens3 as tempBTH


void initTemp(void) 
{
  Wire.begin(SDA, SCL, 400000);

  Serial.print("DS2482-100 reset: ");
  DS2482.reset();
  Serial.println("ok");
  
  if (!DS2482.configure(DS2482_CONFIG_APU))
  { 
    Serial.println(F("Active pull-up cofigured.")); 
  } 

  DS2482.wireResetSearch();
  
  // locate devices on the bus
  uint8_t count = DS2482.devicesCount(true);
  Serial.print(F("Found devices: "));   Serial.println(count);

  DS2482.wireResetSearch();
  sensors.setWaitForConversion(false);

}


void workTemp(void)
{
  static int cnt = 5;
  cnt++;
  if ( cnt >= 5 ) { cnt = 0; }
  Serial.print(F(" work Temp2: "));

  switch ( cnt )
  {
  case 0:
    // sends command for all devices on the bus to perform a temperature conversion
    vTaskEnterCritical(&timerMux);
      sensors.requestTemperatures();
    vTaskExitCritical(&timerMux);
    Serial.println(F(" Start conversion for all devices"));
    break;
    
  case 1:
    vTaskEnterCritical(&timerMux);
      current_temp0 = sensors.getTempC((const unsigned char*) &id0);
    vTaskExitCritical(&timerMux);
    Serial.print(F(" Read 1-st device: "));   Serial.println(current_temp0);
    break;
    
  case 2:
    vTaskEnterCritical(&timerMux);
      current_temp1 = sensors.getTempC((const unsigned char*) &id1);
    vTaskExitCritical(&timerMux);
    Serial.print(F(" Read 2-nd device: "));   Serial.println(current_temp1);
    break;
    
  case 3:
    vTaskEnterCritical(&timerMux);
      current_temp2 = sensors.getTempC((const unsigned char*) &id2);
    vTaskExitCritical(&timerMux);
    Serial.print(F(" Read 3-th device: "));   Serial.println(current_temp2);
    break;
    
  case 4:
    vTaskEnterCritical(&timerMux);
      current_temp3 = sensors.getTempC((const unsigned char*) &id3);
    vTaskExitCritical(&timerMux);
    Serial.print(F(" Read 4-th device: "));   Serial.println(current_temp3);
    break;
    
  default:

  break;
  }
}
Поиск работает. Инициализация и какое питание ? Ну еще объектов нет. Мне бы для начала и это запустить.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
Ответить